Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE TYPE adres AS OBJECT
- ( adres_id NUMBER(6)
- , kraj VARCHAR2(20)
- , miejscowosc VARCHAR2(20)
- , ulica VARCHAR2(20)
- , nr_domu VARCHAR2(5)
- , nr_lokalu VARCHAR2(5)
- ) ;
- CREATE TYPE rezerwacja AS OBJECT
- ( rezerwacja_id NUMBER(6)
- , data_zameldowania DATE()
- , data_wymeldowania DATE()
- , MEMBER FUNCTION oblicz_czas(zameldowanie DATE, wymeldowanie DATE) RETURN NUMBER
- , MEMBER FUNCTION oblicz_koszt(cena NUMBER, czas NUMBER) RETURN NUMBER
- ) ;
- CREATE TYPE typ_pokoju AS OBJECT
- ( typ_pokoju_id NUMBER(6)
- , nazwa_typu VARCHAR2(20)
- , grupa_docelowa VARCHAR2(20)
- ) ;
- CREATE TYPE BODY rezerwacja IS
- MEMBER FUNCTION oblicz_czas(zameldowanie DATE, wymeldowanie DATE) RETURN NUMBER IS
- BEGIN
- RETURN (wymeldowanie-zameldowanie);
- END;
- MEMBER FUNCTION oblicz_koszt(cena NUMBER, czas NUMBER) RETURN NUMBER IS
- BEGIN
- RETURN (cena*czas);
- END;
- END;
- ----------------------------------------------
- CREATE TABLE hotel
- (
- hotel_id NUMBER(6) NOT NULL,
- nazwa VARCHAR2(50) NOT NULL,
- nr_telefonu VARCHAR2(20) NOT NULL,
- email VARCHAR2(50) NOT NULL,
- adres_hotelu adres NOT NULL,
- CONSTRAINT hotel_pk PRIMARY KEY (hotel_id)
- );
- CREATE TABLE pracownik
- (
- pracownik_id NUMBER(6) NOT NULL,
- imie VARCHAR2(30) NOT NULL,
- nazwisko VARCHAR2(30) NOT NULL,
- nr_telefonu VARCHAR2(20) NULL,
- email VARCHAR2(50) NULL,
- adres_pracownika adres NOT NULL,
- data_zatrudnienia DATE NOT NULL,
- wynagrodzenie NUMBER(10) NULL,
- czy_zatrudniony NUMBER(1) NOT NULL,
- hotel_id NUMBER(6) NOT NULL,
- CONSTRAINT pracownik_pk PRIMARY KEY (pracownik_id),
- CONSTRAINT fk_hotel
- FOREIGN KEY (hotel_id)
- REFERENCES hotel(hotel_id)
- );
- CREATE TABLE pokoj
- (
- pokoj_id NUMBER(6) NOT NULL,
- nr_pokoju NUMBER(5) NOT NULL,
- cena_za_noc NUMBER(5) NOT NULL,
- pietro NUMBER(3) NOT NULL,
- liczba_miejsc NUMBER(2) NOT NULL,
- hotel_id NUMBER(6) NOT NULL,
- typ_pokoju typ_pokoju NOT NULL,
- CONSTRAINT pokoj_pk PRIMARY KEY (pokoj_id),
- CONSTRAINT fk_hotel_pokoj
- FOREIGN KEY (hotel_id)
- REFERENCES hotel(hotel_id)
- );
- CREATE TABLE wyposazenie
- (
- wyposazenie_id NUMBER(6) NOT NULL,
- nazwa VARCHAR2(20) NOT NULL,
- CONSTRAINT wyposazenie_pk PRIMARY KEY (wyposazenie_id)
- );
- CREATE TABLE pokoj_wyposazenie
- (
- wyposazenie_id NUMBER(6) NOT NULL,
- pokoj_id NUMBER(6) NOT NULL,
- CONSTRAINT pokoj_wyposazenie_pk PRIMARY KEY (wyposazenie_id, pokoj_id),
- CONSTRAINT fk_pokoj
- FOREIGN KEY (pokoj_id)
- REFERENCES pokoj(pokoj_id),
- CONSTRAINT fk_wyposazenie
- FOREIGN KEY (wyposazenie_id)
- REFERENCES wyposazenie(wyposazenie_id)
- );
- CREATE TABLE forma_platnosci
- (
- forma_platnosci_id NUMBER(6) NOT NULL,
- nazwa VARCHAR2(20) NOT NULL,
- CONSTRAINT forma_platnosci_pk PRIMARY KEY (forma_platnosci_id)
- );
- CREATE TABLE platnosc
- (
- platnosc_id NUMBER(6) NOT NULL,
- kwota NUMBER(15) NOT NULL,
- data_platnosci DATE NOT NULL,
- forma_platnosci_id NUMBER(6) NOT NULL,
- CONSTRAINT platnosc_pk PRIMARY KEY (platnosc_id),
- CONSTRAINT fk_forma_platnosci
- FOREIGN KEY (forma_platnosci_id)
- REFERENCES forma_platnosci(forma_platnosci_id)
- );
- CREATE TABLE gosc
- (
- gosc_id NUMBER(6) NOT NULL,
- imie VARCHAR2(20) NOT NULL,
- nazwisko VARCHAR2(20) NOT NULL,
- nr_telefonu VARCHAR2(15) NULL,
- email VARCHAR(50) NULL,
- nr_dowodu VARCHAR(10) NULL,
- adres_goscia adres NOT NULL,
- CONSTRAINT gosc_pk PRIMARY KEY (gosc_id)
- );
- CREATE TABLE rezerwacja_tabela
- (
- rezerwacja_id NUMBER(6) NOT NULL,
- data_rezerwacji DATE NOT NULL,
- rezerwacja rezerwacja NOT NULL,
- gosc_id NUMBER(6) NOT NULL,
- platnosc_id NUMBER(6) NOT NULL,
- pracownik_id NUMBER(6) NOT NULL,
- CONSTRAINT rezerwacja_pk PRIMARY KEY (rezerwacja_id),
- CONSTRAINT fk_gosc_rezerwacja
- FOREIGN KEY (gosc_id)
- REFERENCES gosc(gosc_id),
- CONSTRAINT fk_platnosc_rezerwacja
- FOREIGN KEY (platnosc_id)
- REFERENCES platnosc(platnosc_id),
- CONSTRAINT fk_pracownik_rezerwacja
- FOREIGN KEY (pracownik_id)
- REFERENCES pracownik(pracownik_id)
- );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement