Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > СУБД, общие вопросы > Проверьте правильность структуры


Автор: Ccoder 13.11.2011, 22:29
Здравствуйте.
Делаю простенькую базу данных.
Нарисовал структуру
user posted image
и вижу что у меня самого вызывает ухмылку эти стрелки.
Поэтому нужно чтобы ктото взглянул.

Значит суть следующая.
Делаю выдуманную систему бронирования мест в самолёте на рейс.
У каждого пользователя есть n-ое количество билетов для пасажиров.
Каждый билет имеет имя, фамилию пассажира и номер рейса.
Каждый рейс имеет один самолёт.
Самолёт имеет тип и места.
Каждое место имеет пассажира.

Автор: Akina 14.11.2011, 07:51
Цитата(Ccoder @  13.11.2011,  23:29 Найти цитируемый пост)
 Проверьте правильность структуры

Проверил.
Считаю её неправильной.

Перечислите в явном виде сущности. Затем для каждой сущности перечислите её атрибуты. Затем перечислите связи. Затем изобразите это в виде схемы.

Автор: Ccoder 16.11.2011, 06:23
Цитата(Akina @  14.11.2011,  07:51 Найти цитируемый пост)
Перечислите в явном виде сущности. Затем для каждой сущности перечислите её атрибуты. Затем перечислите связи. Затем изобразите это в виде схемы. 

Вот такая получилась

user posted image
ииии вот такая
user posted image

проверьте пожалуйста правильно-ли всё теперь.

Автор: Akina 16.11.2011, 07:42
User - это человек. Passenger - это человек. Обоснуйте, почему это разные сущности. 
Человек покупает билет. Это - физический объект, вполне самостоятельный. Обоснуйте, почему он не выделен в сущность.
Билет связывает человека и с местом, и с рейсом (и соответственно с типом самолёта). Обоснуйте, почему Passenger связан с местом напрямую. Обоснуйте, почему связи Passenger с Seat и с Flight независимы.

Автор: Ccoder 16.11.2011, 12:26
Цитата(Akina @  16.11.2011,  07:42 Найти цитируемый пост)
User - это человек. Passenger - это человек. Обоснуйте, почему это разные сущности. 

Значит я зудумал так что каждый пользователь (user) может купить билет на нескольих человек. Т.е. passanger это то что относиться к конкретному билету.

Цитата(Akina @  16.11.2011,  07:42 Найти цитируемый пост)
Человек покупает билет. Это - физический объект, вполне самостоятельный. Обоснуйте, почему он не выделен в сущность.

Он одновременно являеться и user и passanger


Цитата(Akina @  16.11.2011,  07:42 Найти цитируемый пост)
Билет связывает человека и с местом, и с рейсом (и соответственно с типом самолёта). Обоснуйте, почему Passenger связан с местом напрямую.

У какждого passanger может быть заданно место на билете.


Цитата(Akina @  16.11.2011,  07:42 Найти цитируемый пост)
Обоснуйте, почему связи Passenger с Seat и с Flight независимы. 

Вродебы зависимы транзинтивно.


Даже незнаю что тут у меня плохо. Вы тут дали над чем задуматься...... Но точно незнаю где как можно подправить  smile 

Автор: Akina 16.11.2011, 12:32
Цитата(Ccoder @  16.11.2011,  13:26 Найти цитируемый пост)
Он одновременно являеться и user и passanger

я про билет, вообще-то...

Автор: Ccoder 17.11.2011, 01:04
Цитата(Akina @  16.11.2011,  12:32 Найти цитируемый пост)
я про билет, вообще-то...

А про это. Хмм....  smile 
Ну тогда на ум приходит простой вариант. А именно поменять passager на ticket

А Вы что думаете?

Автор: Ccoder 21.11.2011, 19:43
Получил вот такую диаграмму.
Хотелбы узнать, можно-ли её ещё както улучшить?
user posted image

P.S.
Буду использовать с Hibernate

Автор: Ccoder 25.11.2011, 05:54
 smile 

Автор: freehoster 29.11.2011, 20:12
Цитата

Значит я зудумал так что каждый пользователь (user) может купить билет на нескольих человек. Т.е. passanger это то что относиться к конкретному билету.


а зачем тогда пароль? или я что-то не понимаю, из вашей структуры видно что "юзер" это никто иной как простой оператор забывающий в базу купленные билеты

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)