OK это, вероятно, очень просто для большинства из вас, но я изо всех сил стараюсь выполнить это задание (да, это домашняя работа). Я попытался это дважды сейчас и потерпел неудачу оба раза до сих пор.Нормализовать нормальную форму Boyce Codd в реляционной модели данных
Мне нужно создать реляционную модель данных в нормальной форме Boyce Codd. Вот подробности:
Аэропорт Authority в маленькой стране требует базы данных для хранения информации о авиакомпаний, пилотов и самолетов.
Существует только один аэропорт , но его используют несколько авиакомпаний. Для каждой авиакомпании требуется идентификационный код и полное имя вместе с телефоном номер его местного отделения. Несколько типов самолетов используют аэропорт и для каждого типа, необходимо записать топливную мощность и максимальный диапазон.
Каждый пилот работает только для одной авиакомпании. Для каждого пилота их имя, , дата рождения, адрес, типы самолетов, которые они могут летать, и их номер лицензии . Дополнительная информация должна быть заполнена , чтобы обеспечить составление отчета с указанием следующих деталей для каждого самолета, использующего аэропорт: Идентификация самолета код, Тип самолета, Дата изготовления, Собственная авиакомпания.
Это то, что я теперь (после повторного проектирования):
В AIRLINES таблицы должен включать в себя:
ID,
Name,
Phone #
плоскости таблицы должны включать в себя:
ID,
Date of Manufacture
Airline ID
FOREIGN KEY (Airline ID) references table AIRLINES
Plane Type ID
FOREIGN KEY (Plane Type ID) references table PLANE TYPE
таблица ТИП ПЛАНЫ должен включать:
ID,
Maximum range,
Fuel capacity,
пилоты таблицы должны включать в себя:
ID,
Name,
Date of Birth,
Address,
License #,
Airline ID,
FOREIGN KEY (Airline ID) references table AIRLINES
PilotPlaneID
FOREIGN KEY (PilotPlaneID) references table PILOTPLANETYPE
В таблице PILOTPLANETYPE должна включать в себя:
PilotID
PlaneTypeID
FOREIGN KEY (PilotID) references table PILOT
FOREIGN KEY (PlaneTypeID) references table PLANE TYPE
По моему маркеру, я бы оставил отношения многих ко многих между пилотом и типом Plane. Может кто-нибудь с некоторыми знаниями в области дизайна базы данных, пожалуйста, помогите мне?
(EDIT: Таблицы теперь обновлены с помощью PILOTPLANETYPE, которые, как я думаю, должны удовлетворять требованиям)?
Тип самолета изготовлен на обширной дистанции (20 лет, возможно); дата изготовления для одной плоскости, вероятно, не связана с типом плоскости, а с конкретной плоскостью. Точно так же есть много авиакомпаний, которые летают на данном типе самолета, но данный самолет летает только одной авиакомпанией за раз. Поэтому у вас есть некоторые атрибуты. –
Хорошо, я изменил таблицы и атрибуты. Считаете ли вы, что это должно работать сейчас? –
Довольно близко; вы можете захотеть записать, что комбинация PilotID и PlaneTypeID является первичным ключом таблицы PilotPlaneType. У вас есть минимальная необходимая информация в таблице PlaneType; Я подозреваю, что вам может потребоваться идентификатор производителя (и таблица производителей для идентификации разных производителей с отношением PK-FK к PlaneType) и именем модели в таблице PlaneType. Просто печатать номер типа самолета может быть достаточно, но, вероятно, это не совсем так. –