Uprzejma prośba o sprawdzenie skryptu SQL


(_Kinga_) #1

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)

);