Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2015.11.08;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.002 c
2-1401924262
Sakipiel
2014-06-05 03:24
2015.11.08
Зацикливается Чтение свойстсва функцией


15-1427146204
Юрий
2015-03-24 00:30
2015.11.08
С днем рождения ! 24 марта 2015 вторник


15-1427097672
кгшзх
2015-03-23 11:01
2015.11.08
квест


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


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский