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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2011, 18:56   #1
lovetolaugh
Пользователь
 
Регистрация: 12.04.2011
Сообщений: 28
По умолчанию Дублирование информации.

Всем добрый день. В общем задание звучит так (я вас не прошу разбираться во всей этой байде - можете сразу взглянуть на таблицу и сказать можно ли так делать):

Спроектировать БД для выдачи справок о том, какие фильмы идут в разных городах. В отношение должны быть включены следующие атрибуты: город, название кинотеатра, название фильма, фио актера, фио директора кинотеатра, цена билета, сеанс, адрес кинотеатра, категория фильма, гонорар актера. + БД должна находиться в 3-ей норм. форме.

Я составил следующие таблицы и связи между ними:



Но обратите внимание на набор внешних ключей таблицы seans:



Т.е. при заполнении таблицы seans придется делать новую запись для каждого актера? Можно ли как-то это исправить?
lovetolaugh вне форума Ответить с цитированием
Старый 16.06.2011, 19:30   #2
lovetolaugh
Пользователь
 
Регистрация: 12.04.2011
Сообщений: 28
По умолчанию

При проверке схемы ошибок не найдено, но уж слишком много ключей дублируется...

Последний раз редактировалось lovetolaugh; 16.06.2011 в 19:44.
lovetolaugh вне форума Ответить с цитированием
Старый 17.06.2011, 07:13   #3
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

А зачем там вообще связь с актером?
У тебя должна быть связь не с таблицей Film_actors, а с таблицей films.
Вот насколько я вижу сейчас у тебя не достаточное разделение на объекты.
Отсюда и такого рода ошибки.
Допустим как я бы это сделал.
Город->Адрес(в твоем варианте возможны дубли)->Кинотеатр->Сеанс->Фильм->Актер и категория.
Таким придем к тому, что
Есть некий кинотеатр который находится в неком городе на некой улице.
Есть некий фильм некой категории с некими актерами.
И в итоге данный фильм показывают в данном кинотеатре n раз в сутки.
Хотя все же ты все правильно сделал кроме связи указанной выше.
А вот с хранением адресов я бы не стал так делать.
Т.к. в итоге будет
Таблица teatr
1 | Нептун | Иванов
2 | Иллюзион | Петров
3 | Галактика | Сидоров
4 | Уссури | Рыбин
5 | Нептун | Карасев

А теперь таблица addr
1 | Владивосток | Русская
2 | Владивосток | 100 лет Владивостоку
3 | Владивосток | Добровольского
4 | Владивосток | Светланская
5 | Москва | Ивана Франко

Ну вот и получается, что придется хранить повторяющуюся информацию.
Хотя можно разделить информацию на справочник городов, районов, улиц. Можно взять КЛАДР. Также можно сделать и с таблицей teatr.
Т.е. в итоге у нас справочник кинотеатров, справочник городов, районов, улиц и некая таблица для связей.
Опять же зачем нужен директор как атрибут кинотеатра. По мне так лишние данные еще и обреченные на неактуальность. Т.к. Вас никто не будет уведомлять о том что директора сняли с должности. И соответственно данная информация лишняя.
Лучше наверно номера телефонов. Кстати я их не видел в Вашей схеме.
На фига мне знать сеансы и фильмы если я не знаю куда позвонить для того чтоб забронировать билеты?
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дублирование функций DBNavigator djdos БД в Delphi 11 09.07.2010 05:33
ФЗ «Об информации, информационных технологиях и о защите информации» Virtson Свободное общение 2 08.07.2010 18:13
Дублирование при печати pavel.ignatenko Microsoft Office Excel 1 03.03.2010 23:39
Дублирование(файл) ТРОЯН=) Помощь студентам 5 30.03.2009 10:33
ввод информации с клавиутуры в двумерный масив, запись информации с масива в файл x_omega_x Помощь студентам 1 29.12.2008 02:30