Mam podaną relację Rejs(kod_oferty, skąd, dokąd, nr_lotu,pilot_pesel,pilot_imię,pilot_nazwisko, pilot_ilość_lotów,stewardessa_pesel,stewardessa_imię,stewardessa_nazwisko,stewardessa_ilość_lotów)
Do tej relacji mam dobrać klucze główne i sprawdzić są spełnione warunki BCNF, jeśli nie mam dokonać dekompozycji.
Myślałem trochę nad tym i doszedłem do wniosku że można to zrobić w ten sposób:
pilot([b]pilot_pesel[/b], pilot_imię, pilot_nazwisko, pilot_ilość_lotów)
stewardessa([b]stewardessa_pesel[/b], stewardessa_imię, stewardessa_nazwisko, stewardessa_ilość_lotów)
rejs([b]kod_oferty[/b], skąd, dokąd, [b]numer_lotu[/b], pilot_pesel, stewardessa_pesel)
Do takich relacji doszedłem na podstawie danych wejściowych z zadania:
('Lon_1', 'Kraków', 'Londyn', 1, '11110', 'Jan','Nowak', 12, '22220','Janina',Nowicka',21)
('Lon_1', 'Krakow', 'Londyn', 2, '11111', 'Piotr','Prix',39, '22221','Aleksandra','Czub','Czub',134)
('Lon_2', 'Warszawa', 'Londyn', 3, '11110', 'Jan','Nowak', '22222','Renata','Janik',56)
('Glas_1','Krakow', 'Glasgow', 4, '11111', 'Piotr','Prix',39, '22220','Janina','Nowicka',21)
('Glas_2','Warszawa', 'Glasgow', 5, '11110', 'Jan','Nowak', '22221','Aleksandra','Czub',134)
('Lon_2', 'Warszawa', 'Londyn', 6, '11110', 'Jan','Nowak', '22222','Renata','Janik',56)
('Ber_2', 'Katowice', 'Berlin', 7, '11112', 'Pawel','Maj',3, '22220','Janina','Nowicka',21)
('Lon_2', 'Warszawa', 'Londyn', 8, '11113', 'Michal','Wis',190, '22222',Renata,'Janik',56)
Wiem, że to nie jest związane z SQL-em jako takim ale mam nadzieję, że mi ktoś pomoże.
Chcę wiedzieć, czy dobrze dekomponowałem relację, jeśli nie to w jaki sposób można było to zrobić lepiej.