% createdb wypozyczalnia % psql wypozyczalnia SET client_encoding='utf-8'; CREATE TABLE klient ( nr serial , nazwisko varchar(32) not null, imie varchar(32) not null, kod_pocztowy char(6) , miasto varchar(32) , ulica_dom varchar(32) , telefon varchar(11) , CONSTRAINT klient_nr_pk PRIMARY KEY(nr) ); CREATE TABLE wypozyczenie ( nr serial , klient_nr integer not null, kopia_nr integer not null, data_wypozyczenia date not null, data_zwrotu_planowana date not null, data_zwrotu_faktyczna date not null, kwota_wplacona numeric(5,2) , kwota_nalezna numeric(5,2) , CONSTRAINT klient_nr_fk FOREIGN KEY(klient_nr) REFERENCES klient(nr) ON UPDATE CASCADE ON DELETE CASCADE, CONSTRAINT kopia_nr_fk FOREIGN KEY(kopia_nr) REFERENCES kopia(nr) ON UPDATE CASCADE ON DELETE CASCADE, ); CREATE TABLE rezerwacja ( nr serial , klient_nr integer not null, film_nr integer not null, data_rezerwacji date not null, okres_rezerwacji date not null, CONSTRAINT klient_nr_fk FOREIGN KEY(klient_nr) REFERENCES klient(nr) ON UPDATE CASCADE ON DELETE CASCADE, CONSTRAINT film_nr_fk FOREIGN KEY(film_nr) REFERENCES film(nr) ON UPDATE CASCADE ON DELETE CASCADE, ); CREATE TABLE kopia ( nr serial , film_nr integer not null, CONSTRAINT kopia_nr_pk PRIMARY KEY(nr), CONSTRAINT film_nr_fk FOREIGN KEY(film_nr) REFERENCES film(nr) ON UPDATE CASCADE ON DELETE CASCADE, ); CREATE TABLE film ( nr serial , tytul varchar(64) not null, gatunek varchar(16) , czas_trwania numeric(4) , rok_produkcji numeric(4) , kraj_produkcji varchar(16) , cena numeric(3,2) not null, aktor_nr integer , rezyser_nr integer , opis varchar(128) , CONSTRAINT film_nr_pk PRIMARY KEY(nr), CONSTRAINT aktor_nr_fk FOREIGN KEY(aktor_nr) REFERENCES aktor(nr) ON UPDATE CASCADE ON DELETE CASCADE, CONSTRAINT rezyser_nr_fk FOREIGN KEY(rezyser_nr) REFERENCES rezyser(nr) ON UPDATE CASCADE ON DELETE CASCADE, ); CREATE TABLE aktor ( nr serial , nazwisko varchar(32) not null, imie varchar(16) , kraj varchar(16) , film_nr integer , CONSTRAINT aktor_nr_pk PRIMARY KEY(nr), CONSTRAINT film_nr_fk FOREIGN KEY(film_nr) REFERENCES aktor(nr) ON UPDATE CASCADE ON DELETE CASCADE, ); CREATE TABLE rezyser ( nr serial , nazwisko varchar(32) not null, imie varchar(16) , kraj varchar(16) , film_nr integer , CONSTRAINT rezyser_nr_pk PRIMARY KEY(nr), CONSTRAINT film_nr_fk FOREIGN KEY(film_nr) REFERENCES aktor(nr) ON UPDATE CASCADE ON DELETE CASCADE, );
beziak