Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2015.11.08;
Скачать: CL | DM;

Вниз

создание бд аэропорта   Найти похожие ветки 

 
0w1   (2014-06-06 22:13) [0]

Задача: Создать БД аэропорта. Есть 3 таблицы: Маршруты, Самолеты, Пилоты. По одному маршруту может летать несколько самолетов. Любой из пилотов может летать на любом сомолете и по любому маршруту.

Вот что получилось:

Маршруты ( id[PK] )

Самолеты (id [PK], id_маршрута [FK] )

Пилоты ( id [PK] )

ПилотыСамолеты ( id_пилота[FK], id_самолета[FK] )

ПилотыМаршруты ( id_пилота[FK], id_маршрута[K] )

Все ли верно? Поправьте меня, если что нет так?


 
turbouser ©   (2014-06-06 22:31) [1]

pilots  - id,.... /*пилоты, код, фио и т.п.*/
planes  - id.... /*самолеты, код, модель и т.п.*/
routes - id, id_plane, id_pilot /*маршруты - код, самолет, пилот - удовлетворяет условию Любой из пилотов может летать на любом сомолете и по любому маршрут*/
и все


 
turbouser ©   (2014-06-06 22:37) [2]

ну, еще расшифровку маршрутов можно добавить, название (направление), период действия и т.п.
т.е. добавляем таблицу
route  - id, name, etc
тогда таблица маршрутов будет такой
routes - id, id_plane, id_pilot, id_route


 
0w1   (2014-06-06 22:41) [3]

ok, спасибо


 
megavoid ©   (2014-06-06 22:41) [4]

Foreign keys - это конечно правильно, но на практике в не особо больших проектах большинство почему-то предпочитает вручную делать многие-ко-многим, типа как в [1].


 
turbouser ©   (2014-06-06 22:44) [5]


> megavoid ©   (06.06.14 22:41) [4]


> Foreign keys - это конечно правильно, но на практике в не
> особо больших проектах большинство почему-то предпочитает
> вручную делать многие-ко-многим, типа как в [1].

facepalm.jpg
id_plane, id_pilot, id_route - FK


 
turbouser ©   (2014-06-06 22:45) [6]


> megavoid ©   (06.06.14 22:41) [4]

независимо от размеров проекта ссылочная целостность должна соблюдаться.
p.s.
вот только не надо холиварить снова на эту тему.


 
megavoid ©   (2014-06-06 22:47) [7]

А да, проглядел. Всё равно делают, заводят таблицы с route_id, plane_id и вручную транзакции фигачат :)


 
KilkennyCat ©   (2014-06-07 15:26) [8]

а я бы все в одну таблицу зафигачил.


 
Jeer ©   (2014-06-07 23:23) [9]

"сомолеты" - это крута!
Почти как "корованы грабить"


 
Ega23 ©   (2014-06-09 14:02) [10]


> на любом сомолете


Поржал. :)

По сабжу:

1. Таблица Planes
2. Таблица Routes
3. Таблица Pilots
4. Таблица Flights (рейсы)

Flights - состоит из route_id, plane_id, pilot_id

Это если любой самолёт может летать любым маршрутом с любым пилотом, чего на практике не бывает.

Тогда надо вводить дополнительные привязки многие-ко-многим между Planes и Routes, а также между Pilots и Planes, и в таблицу Flights разрешать заносить только эти сочетания.


 
Inovet ©   (2014-06-09 16:07) [11]

> [0] 0w1   (06.06.14 22:13)
> Любой из пилотов может летать на любом сомолете и по любому маршруту

Летают мухи и стюардессы, и то одна и та же муха или стюардесса может одновременно находиться более чем в в одном месте, а пилоты работают и тоже - выполняют одновременно не более одного рейса не более чем в одном самолёте. Самолёт тоже не может быть одновременно на разных рейсах.:)


 
Ega23 ©   (2014-06-09 16:43) [12]

Самолёт ещё не может на любых маршрутах работать. Одно дело из Улан-Батора в Рио-де-Жанейро лететь, другое - местечковый рейс из Нижней Кукуевки в Верхнюю Бердяевку.
И пилоты тоже. Не бывает универсальных пилотов на все типы самолётов. Да и маршрут знать должен.


 
Dennis I. Komarov ©   (2014-06-09 17:09) [13]

Про нормочасы в воздухе забыли...


 
Ega23 ©   (2014-06-09 17:15) [14]


> Про нормочасы в воздухе забыли...


Да там полно нюансов.


 
Inovet ©   (2014-06-09 17:49) [15]

> [12] Ega23 ©   (09.06.14 16:43)
> Самолёт ещё не может на любых маршрутах работать

Здесь дело на усмотрение. У нас бывали специальные рейсы на Як-40 с местного аэропорта для местных авиалиний куда-нибудь типа в Ташкент с несколькими посадками, также бывали из соседнего города на Ту-154 куда-нибудь типа в Москву, хотя аэропорт тоже местный, но полоса побольше, и вообще там были свои местные самолёты, но Ту-154 пригоняли из Красноярска под эти рейсы.

Так что - такие вариации в принципе возможны, а значит могут быть.


 
Dennis I. Komarov ©   (2014-06-09 17:55) [16]

Даешь кукурузник в межконтиненталку :)


 
turbouser ©   (2014-06-09 18:16) [17]

можно еще расчет зп прикрутить и продажу билетов. ага.


 
KilkennyCat ©   (2014-06-09 20:00) [18]

еще надо статус рейса: улетел, прилетел, недолетел, перелетел, состояние неопределено.


 
megavoid ©   (2014-06-09 20:20) [19]

> состояние неопределено undefined - это у малайского боинга, что ли? :) Дак он уже давно NULL, скорее всего :(((


 
Германн ©   (2014-06-10 01:28) [20]

А главный спец по БД и аэропортам молчит и думает. "Ну и дураки же вы все. Всё уже давно сделано до вас". :)


 
KilkennyCat ©   (2014-06-10 06:09) [21]


> А главный спец по БД и аэропортам молчит и думает.

"Какая кладезей идей! а мы-то так тупим уже давно..."


 
KilkennyCat ©   (2014-06-10 06:10) [22]

кладезь. :)
кладезь + идей = кладезей


 
Inovet ©   (2014-06-10 07:17) [23]

> [20] Германн ©   (10.06.14 01:28)
> главный спец по БД и аэропортам

Розыч что ли?


 
Ega23 ©   (2014-06-10 12:50) [24]


> Розыч что ли?


Бгггг  :)


 
Дмитрий   (2014-06-10 15:07) [25]

вот ведь прицепились  к учебной задачке
какие потребуется внести изменения, если пилоты вместо самолетов пересядут на нло или самолеты будут заменены телепортами?
))


 
Ega23 ©   (2014-06-10 15:38) [26]


> какие потребуется внести изменения, если пилоты вместо самолетов
> пересядут на нло


Сделать Insert в таблицу PlaneTypes


> или самолеты будут заменены телепортами?


Сделать Insert в таблицу PlaneTypes

:)


 
KilkennyCat ©   (2014-06-10 21:59) [27]

+ в случае телепортов при запросах игнорировать пилотов



Страницы: 1 вся ветка

Текущий архив: 2015.11.08;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.004 c
15-1426973404
Юрий
2015-03-22 00:30
2015.11.08
С днем рождения ! 22 марта 2015 воскресенье


2-1401771880
novai
2014-06-03 09:04
2015.11.08
"Резиновый" интерфейс


15-1426683289
Piter
2015-03-18 15:54
2015.11.08
Delphi как инструмент для зарабатывания денег


15-1427039153
AndrewAndrey
2015-03-22 18:45
2015.11.08
digital signage решения


2-1402063561
trylok
2014-06-06 18:06
2015.11.08
Записать Pointer в TMemoryStream. Как?