tabele.txt

(2 KB) Pobierz
% 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,
);
Zgłoś jeśli naruszono regulamin