Witam Was serdecznie,
przygotowuję projekt bazdy danych dla Biura Podróży,
uprzejmie prosiłabym o sprawdzenie napisanego przeze mnie skryptu w języku SQL.
Bardzo proszę o sprawdzenie czy to jest w trzeciej postaci normalnej? A jeżeli NIE to w jaki sposób do niej dojść? Nie ukrywam, że mam problem z postaciami normalnymi.
Czy kod jest poprawny?
Przy ID_ wybrałam typ danych nvarchar2, ponieważ ID będzie wyglądać:
* KI-01 etc.
Oto kod:
Create Table KLIENT_INDYWIDUALNY
(
Klient_indywidualny_id nvarchar2(10) primary key,
Imie nvarchar2(20),
Nazwisko nvarchar2(30),
Płeć nvarchar2(20),
Data_urodzenia date,
Sposob_promocji nvarchar2(20),
Odpowiedzialny_pracownik nvarchar2(40),
Ubezpieczenie_id nvarchar2(10) references UBEZPIECZENIE(Ubezpieczenie_id),
Bilety_id nvarchar2(10) references BILETY(Bilety_id),
Kontakt_id nvarchar2(20) references KONTAKT(Kontakt_id)
);
Create Table KLIENT_BIZNESOWY
(
Klient_biznesowy_id nvarchar2(10) primary key,
Nazwa_pelna nvarchar2(30),
Nazwa_skrocona nvarchar2(20),
Regon numeric(9),
Nr_nip numeric(15),
Ubezpieczenie_id nvarchar2(10) references UBEZPIECZENIE(Ubezpieczenie_id),
Bilety_id nvarchar2(10) references BILETY(Bilety_id),
Kontakt_id nvarchar2(20) references KONTAKT(Kontakt_id)
);
Create Table REZERWACJA
(
Rezerwacje_id nvarchar2(10) primary key,
Imie nvarchar2(20),
Nazwisko nvarchar2(30),
Wartosc nvarchar2(30),
Zaliczka nvarchar2(30),
Wyjazd_data nvarchar2(20),
Powrot_data nvarchar2(20),
Wyjazd_z nvarchar2(20),
Kraj nvarchar2(20),
Region nvarchar2(20),
Miejscowosc nvarchar2(20),
Transport nvarchar2(20),
L.P._osob numeric(6),
Touroperator nvarchar2(30),
Odpowiedzialny_pracownik nvarchar2(30),
Panstwo_id nvarchar2(10) references PANSTWO(Panstwo_id),
Klient_indywidualny_id nvarchar2(10) references KLIENT_INDYWIDUALNY(Klient_indywidualny_id),
Klient_biznesowy_id nvarchar2(10) references KLIENT_BIZNESOWY(Klient_biznesowy_id),
Transport_id nvarchar2(10) references TRANSPORT(Transport_id),
Pilot_id nvarchar2(10) references PILOT(Pilot_id),
Hotel_id nvarchar2(10) references HOTEL(Hotel_id),
Restauracja_id nvarchar2(10) references RESTAURACJA(Restauracja_id),
Status nvarchar2(20)
);
Create Table TRANSPORT
(
Transport_id nvarchar2(10) primary key,
Klient_biznesowy_id nvarchar2(10) primary key,
Nazwa_pelna nvarchar2(30),
Nazwa_skrocona nvarchar2(20),
Nr_nip numeric(15),
Panstwo_id nvarchar2(20),
Regon numeric(9),
Kontakt_id nvarchar2(20) references KONTAKT(Kontakt_id)
);
Create Table PILOT
(
Pilot_id nvarchar2(10) primary key,
Nazwa_pelna nvarchar2(30),
Nazwa_skrocona nvarchar2(20),
Nr_nip numeric(15),
Panstwo_id nvarchar2(20),
Regon numeric(9),
Kontakt_id nvarchar2(20) references KONTAKT(Kontakt_id)
);
Create Table HOTEL
(
Hotel_id nvarchar2(10) primary key,
Nazwa_pelna nvarchar2(30),
Nazwa_skrocona nvarchar2(20),
Nr_nip numeric(15),
Panstwo_id nvarchar2(20),
Regon numeric(9),
Kontakt_id nvarchar2(20) references KONTAKT(Kontakt_id),
Standard_hotelu nvarchar2(10)
);
Create Table RESTAURACJA
(
Rrestauracja_id nvarchar2(10) primary key,
Nazwa_pelna nvarchar2(30),
Nazwa_skrocona nvarchar2(20),
Nr_nip numeric(15),
Panstwo_id nvarchar2(20),
Regon numeric(9),
Kontakt_id nvarchar2(20) references KONTAKT(Kontakt_id),
Standard nvarchar2(10),
Rodzaj_kuchni nvarchar2(30)
);
Create table BILET
(
Bilet_id nvarchar2(10) primary key,
Imie nvarchar2(20),
Nazwisko nvarchar2(30),
Data_urodzenia date,
Kontakt_id nvarchar2(20) references KONTAKT(Kontakt_id)
Wyjazd_z nvarchar(20)
Przyjazd do nvarchar(20)
Wartosc_biletu numeric(8,2)
Data_wyjazdu date,
Data_powrotu date,
Karta_stalego_klienta nvarchar(3)
);
Create table UBEZPIECZENIE
(
Ubezpieczenie_id nvarchar2(10) primary key,
Imie nvarchar2(20),
Nazwisko nvarchar2(30),
Data_urodzenia date,
Wartość_ubezpieczenia nvarchar2(20),
Rodzaj_ubezpieczenia nvarchar2(20),
Firma_ubezpieczeniowa nvarchar2(20),
Kontakt_id nvarchar2(20) references KONTAKT(kontakt_id)
Data_rozpoczecia_ubezpieczenia date,
Data_zakonczenia_ubezpieczenia date,
);
Create Table KONTAKT
(
Kontakt_id nvarchar2(10) primary key,
Ulica nvarchar2(20),
Nr_domu nvarchar2(20),
Miejscowosc nvarchar2(20),
Kod nvarchar2(20),
Region nvarchar2(20),
Panstwo_id nvarchar2(20),
Telefon1 numeric(9),
Telefon2 numeric(9),
Telefon_fax numeric(9),
E-mail nvarchar2(30),
Strona_www nvarchar2(30),
);
Create Table PANSTWO
(
Panstwo_id nvarchar2(20) primary key,
Nazwa nvarchar2(20)
);
Create Table STATUS
(
Status_id nvarchar2(20) primary key,
Typ nvarchar2(20)
);