Форум: "Начинающим";
Текущий архив: 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