create table GATUNEK
(
	ID_GAT NUMBER(4) not null
		constraint PK_ID_GAT
			primary key,
	NAZWA VARCHAR2(30)
)
/

create table WYDAWNICTWO
(
	ID_WYD NUMBER(4) not null
		constraint PK_ID_WYD
			primary key,
	NAZWA VARCHAR2(30)
)
/

create table AUTOR
(
	ID_AUT NUMBER(4) not null
		constraint PK_ID_AUT
			primary key,
	NAZWISKO VARCHAR2(30),
	IMIE VARCHAR2(30),
	NARODOWOSC VARCHAR2(30)
)
/

create table AUTOR_TYTUL
(
	ID_AUTOR NUMBER(4)
		constraint FK_ID_AUTOR
			references AUTOR,
	ID_KSI NUMBER(4)
)
/

create table CZYTELNIK
(
	ID_CZYT NUMBER(4) not null
		constraint PK_ID_CZYT
			primary key,
	NAZWISKO VARCHAR2(15),
	IMIE VARCHAR2(15),
	KOD_POCZTOWY VARCHAR2(6),
	MIEJSCOWOSC VARCHAR2(25),
	ULICA VARCHAR2(25),
	TELEFON VARCHAR2(20)
)
/

create table KSIAZKA
(
	ID_KS NUMBER(4) not null
		constraint PK_ID_KS
			primary key,
	TYTUL VARCHAR2(100),
	CENA NUMBER(5,2),
	ID_GAT NUMBER(4)
		constraint FK_ID_GAT
			references GATUNEK,
	ID_WYD NUMBER(4)
		constraint FK_ID_WYD
			references WYDAWNICTWO,
	ID_AUT NUMBER(4)
		constraint FK_ID_AUT
			references AUTOR,
	DATA_WYD DATE,
	L_STRON NUMBER(4)
)
/

alter table AUTOR_TYTUL
	add constraint FK_ID_KSI
		foreign key (ID_KSI) references KSIAZKA
/

create table WYPOZYCZENIA
(
	ID_WYP NUMBER(4) not null
		constraint PK_ID_WYP
			primary key,
	ID_KS NUMBER(4)
		constraint FK_ID_KS
			references KSIAZKA,
	ID_CZYT NUMBER(4)
		constraint FK_ID_CZYT
			references CZYTELNIK,
	DATA_WYP DATE,
	DATA_ZWR DATE
)
/

