|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.03.2015, 19:32 | #1 |
Новичок
Джуниор
Регистрация: 05.03.2015
Сообщений: 2
|
Проектирование бд в erwine
Добрый вечер никак не доходит как правильно можно спроектировать бд помогите пожалуйста
Тема вопроса "Спроектировать базу данных для выдачи справок о том, какие фильмы идут в разных городах. В отношения должны быть включены следующие атрибуты: город, название кинотеатра, название фильма, ФИО директора кинотеатра, стоимость билета, сеанс, адрес кинотеатра, категория фильма, аннотация фильма. " снизу вложил ервин |
05.03.2015, 20:15 | #2 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
У всех сущностей отсутствует главный ключ, т.е. некий идентификатор, который уникален для любой из записей таблицы. Ключи бывают естественными и суррогатными. Естественные - когда из реального мира можно что-то взять за уникальный ключ. Суррогатный - подходящего ключа нет, поэтому просто добавляется числовое поле с автоматической генерацией уникального внутри таблицы значения.
Берем таблицу город. Поле только одно - Название. Можно ли по названию идентифицировать город? Я знаю как минимум три города с названием "Каменка". Только по названию потом выбрать нужную Каменку мы не сможем и другого поля, чтобы несколько сгруппировать в уникальный ключ, нет. Придётся добавить ИД_города. Это у нас будет Primary Key, на схеме будет в пустующей сейчас ячейке над полем "Название" и с припиской (PK). Дальше у нас идёт "Кинотеатр", кинотеатр должен хранить в каком городе находится, а значит нужно протянуть связь от Города к Кинотеатру. Автоматом в кинотеатр добавится Foreign Key на ключ Города, т.е. будет еще строчка ИД_города (FK). Дальше можно сделать составной ключ для Кинотеатра. Врядли в одном городе будет два одноименных кинотеатра. Вот пусть город и название будут ключем Кинотеатра. Связь между таблицами сделается в итоге идентифицирующей и таблица нарисуется со скругленными углами. И вот как-то так дальше строить связи между оставшимися таблицами и выбирать ключи для них. |
05.03.2015, 21:09 | #3 | |
Новичок
Джуниор
Регистрация: 05.03.2015
Сообщений: 2
|
Цитата:
|
|
06.03.2015, 07:04 | #4 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
Главный ключ - это полностью уникальный ключ, лучшим образом подходящий для идентификации записи в таблице. В реальной разработке в большинстве своём используют суррогатные ключи с автоинкрементом, т.е. просто некие ID, которые никто вручную не указывает и которые ничего не значат. Остальные ключи нужны для ускорения выполнения запросов, могут быть неуникальными.
Цена билета наверно зависит от фильма и от кинотеатра. Для учебного проекта такого составного главного ключа хватит. Ну, и не забудьте добавить саму стоимость билета. Вообще таблица - это сущность. Атрибут - это поле таблицы. Так что может и не нужно выносить в отдельную сущность аннотацию? А так от фильма идентифицирующую связь к аннотации и там один атрибут собственно сама аннотация. Делайте что получается, а там к преподу, который скажет как ему нужно. Тут нет правильно и неправильно. есть - устраивает препода или нет |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проектирование ИС | dzuga777 | Помощь студентам | 0 | 21.03.2014 15:47 |
Проектирование ИС | Foxx111 | Помощь студентам | 0 | 24.12.2013 21:36 |
Проектирование БД | Morgusha | SQL, базы данных | 1 | 03.06.2012 10:22 |
проектирование бд | NieL | Помощь студентам | 1 | 28.04.2011 18:04 |
Проектирование | JKING | Помощь студентам | 0 | 02.05.2010 17:56 |