Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2015, 19:16   #11
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

#7 читай внимательно, здесь не кто вам не говорил что не правильно , А просто Этот тип связи используется редко, и если вам это надо ставил силка где есть уроки
xxbesoxx вне форума Ответить с цитированием
Старый 08.05.2015, 19:22   #12
Marla14
Пользователь
 
Регистрация: 29.01.2015
Сообщений: 38
По умолчанию

Сказали же что избыточность, просто я первый раз делаю БД, поэтому не очень понятно, а в ссылках которые вы скинули я не понимаю как реализовать то что описано
Marla14 вне форума Ответить с цитированием
Старый 08.05.2015, 19:41   #13
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
как в БД включить экземпляры книг
Да их там вообще не должно быть. Откуда ты эту сушность взяла? Не серьезно, сама придумала или препод нашептал?
У тебя есть справочник - ассортимент книг. Есть справочник - абоненты.
Третья таблица - абонемент. В третьей должно быть поля:
ID записи (не обязательно)
ID книги
ID абонента
Дата-время взятия книги
Дата-время возврата
Все.
И зачем тут связь 1:1? Вообще никак не сходится.
Экземпляры книг то зачем? Неужели учет тебе задали настолько строгий, что книги на руки выдают по ее уникальному номеру среди имеющихся копий?
Если да то тогда у тебя в таблице ассортимента книг избыточность получается, и тогда нужно четыре таблицы:
Код:
1) Ассортимент книг 
    ID Книги, другие поля ее характеризирующие
2) Экземпляры
    ID Книги, ID экземпляра (например инвентарный номер экземпляра)
3) Абоненты
    ID чувака, его данные
4) Абонемент
    ID Чувака, ID экземпляра, Дата получения, дата сдачи.
Тогда да. Поля ID Чувака и ID экземпляра имеют связь один к одному.
Но в любом случае структуру нужно переделывать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.05.2015, 19:48   #14
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

В школьной библиотеке есть смысл поэкземплярного учета - 100 учебников одного наименования, каждый под своим инвентарным номером или чего-там. И как по мне 4-ая должна быть таблица-связка для организации отношения многие-к-многим, тогда и историю движения каждого экземпляра можно проследить
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.05.2015, 19:55   #15
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
В школьной библиотеке есть смысл поэкземплярного учета
Да ну, брось... Это же не курсач.
Или курсач? Иначе че так сложно лепить? Иначе там вообще-то нужно и каталогизацию и РМ Архивариуса учитывать... Да ну...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.05.2015, 20:01   #16
Marla14
Пользователь
 
Регистрация: 29.01.2015
Сообщений: 38
По умолчанию

Да да, вот и нужно прослеживать книги, т.е. кто когда какую книгу взял и что бы при выборе книги из таблицы абонемент ее можно было удалить(возврат книги) и при этом в таблице ассортимент книг в логическом поле "На руках" значение изменилось на false. Все получилось кроме связей, когда выбираешь книгу в таблице абонемент, эта же книга должна выбраться в таблице ассортимент, вот что не получается, т.е. даже без таблицы экземпляры я не знаю как это реализовать, помогите связи наладить

вообще то диплом, но руководитель именно такую БД сказал сделать. Но учусь я в самом низшем заведении, так что для вас это можно воспринимать как курсач)

Последний раз редактировалось Stilet; 08.05.2015 в 20:07.
Marla14 вне форума Ответить с цитированием
Старый 08.05.2015, 20:06   #17
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
что бы при выборе книги из таблицы абонемент ее можно было удалить
Не удалить. А пометить. Дата выдачи, дата возврата. Удалять ничего не надо.
Цитата:
Все получилось кроме связей
Потому что неудачно структура продумана.
Цитата:
эта же книга должна выбраться в таблице ассортимент
Ассортимент это справочник. Там ничего выбираться не должно, а вот таблица экземпляры, это по факту инвентаризационная ведомость. Вот оттуда да. Можно выбирать какую копию кому выдавать.
Вот попробуй (Если Аватар не предложит более лучшую структуру) то, что выше предложил я.
Цитата:
вообще то диплом
А-а-а... Ну тады да. РМ библиотекаря. Тут конечно сушностей поболее нужно чем три. Это если учитывать только обработку абонемента, а так то по факту там поболее будет сушностей.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.05.2015, 14:23   #18
Marla14
Пользователь
 
Регистрация: 29.01.2015
Сообщений: 38
По умолчанию

Всем спасибо, очень помогли
Marla14 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Связь таблиц. victor5133 Microsoft Office Access 4 28.02.2013 18:55
Связь таблиц flyinsky Microsoft Office Access 3 05.12.2010 11:23
Связь таблиц Etlau Помощь студентам 0 27.12.2009 15:10
Связь таблиц maximorion БД в Delphi 1 22.05.2009 11:30
Связь таблиц БД kaa БД в Delphi 5 18.09.2007 18:29