You are on page 1of 5

SQL dotaz

CREATE TABLE Address ( ID_ADDRESS integer NOT NULL, City varchar(100) NULL, Street varchar(100) NULL, House_Number integer NULL, ZIP_CODE varchar(50) NULL ) ; CREATE TABLE Author ( ID_AUTHOR integer NOT NULL, Name varchar(50) NULL, Surname varchar(50) NULL ) ; CREATE TABLE Author_Book ( ID_AUTHOR integer NULL, ID_BOOK integer NULL ) ; CREATE TABLE Book ( ID_BOOK integer NOT NULL, Name varchar(250) NULL ) ; CREATE TABLE Bookshelf ( ID_BOOKSHELF integer NOT NULL, Designation varchar(150) NULL ) ; CREATE TABLE Borrower ( ID_BORROWER integer NOT NULL, Name varchar(50) NULL, Surname varchar(50) NULL, Phone varchar(30) NULL, Email varchar(100) NULL ) ; CREATE TABLE Borrower_Address ( ID_BORROWER integer NULL, ID_ADDRESS integer NULL

) ; CREATE TABLE Borrowings ( ID_BORROWING integer NOT NULL, Date_Borrowed timestamp NULL, Date_Returned timestamp NULL, Date_Loan_Period timestamp NULL ) ; CREATE TABLE Borrowings_Exemplar ( ID_BORROWIND integer NULL, ID_EXEMPLAR integer NULL ) ; CREATE TABLE Copy ( ID_EXEMPLAR integer NOT NULL, Date_Issued timestamp NULL ) ; CREATE TABLE Publisher ( ID_PUBLISHER integer NOT NULL, Name varchar(50) NULL, Phone varchar(30) NULL, Email varchar(100) NULL ) ; CREATE TABLE Publisher_Address ( ID_PUBLISHER integer NULL, ID_ADDRESS integer NULL ) ; CREATE TABLE Publisher_Copy ( ID_EXEMPLAR integer NULL, ID_PUBLISHER integer NULL ) ; ALTER TABLE Address ADD CONSTRAINT PK_Address PRIMARY KEY (ID_ADDRESS) ;

ALTER TABLE Author ADD CONSTRAINT PK_Author PRIMARY KEY (ID_AUTHOR) ; ALTER TABLE Book ADD CONSTRAINT PK_Book PRIMARY KEY (ID_BOOK) ; ALTER TABLE Bookshelf ADD CONSTRAINT PK_Bookshelf PRIMARY KEY (ID_BOOKSHELF) ; ALTER TABLE Borrower ADD CONSTRAINT PK_Borrower PRIMARY KEY (ID_BORROWER) ; ALTER TABLE Borrowings ADD CONSTRAINT PK_Borrowings PRIMARY KEY (ID_BORROWING) ; ALTER TABLE Copy ADD CONSTRAINT PK_Exemplar PRIMARY KEY (ID_EXEMPLAR) ; ALTER TABLE Publisher ADD CONSTRAINT PK_Publisher PRIMARY KEY (ID_PUBLISHER) ;

ALTER TABLE Author_Book ADD CONSTRAINT FK_Author_Book_Author FOREIGN KEY (ID_AUTHOR) REFERENCES Author (ID_AUTHOR) ON DELETE RESTRICT ON UPDATE CASCADE ; ALTER TABLE Author_Book ADD CONSTRAINT FK_Author_Book_Book FOREIGN KEY (ID_BOOK) REFERENCES Book (ID_BOOK) ON DELETE RESTRICT ON UPDATE CASCADE ; ALTER TABLE Borrower_Address ADD CONSTRAINT FK_Borrower_Address_Address

FOREIGN KEY (ID_ADDRESS) REFERENCES Address (ID_ADDRESS) ON DELETE RESTRICT ON UPDATE CASCADE ; ALTER TABLE Borrower_Address ADD CONSTRAINT FK_Borrower_Address_Borrower FOREIGN KEY (ID_BORROWER) REFERENCES Borrower (ID_BORROWER) ON DELETE RESTRICT ON UPDATE CASCADE ; ALTER TABLE Borrowings ADD CONSTRAINT FK_Borrowings_Borrower FOREIGN KEY (ID_BORROWING) REFERENCES Borrower (ID_BORROWER) ON DELETE RESTRICT ON UPDATE CASCADE ; ALTER TABLE Borrowings_Exemplar ADD CONSTRAINT FK_Borrowings_Exemplar_Borrowings FOREIGN KEY (ID_BORROWIND) REFERENCES Borrowings (ID_BORROWING) ON DELETE RESTRICT ON UPDATE CASCADE ; ALTER TABLE Borrowings_Exemplar ADD CONSTRAINT FK_Borrowings_Exemplar_Exemplar FOREIGN KEY (ID_EXEMPLAR) REFERENCES Copy (ID_EXEMPLAR) ON DELETE RESTRICT ON UPDATE CASCADE ; ALTER TABLE Copy ADD CONSTRAINT FK_Exemplar_Book FOREIGN KEY (ID_EXEMPLAR) REFERENCES Book (ID_BOOK) ON DELETE CASCADE ON UPDATE CASCADE ; ALTER TABLE Copy ADD CONSTRAINT FK_Exemplar_Bookshelf FOREIGN KEY (ID_EXEMPLAR) REFERENCES Bookshelf (ID_BOOKSHELF) ON DELETE SET NULL ON UPDATE CASCADE ; ALTER TABLE Publisher_Address ADD CONSTRAINT FK_Publisher_Address_Address FOREIGN KEY (ID_ADDRESS) REFERENCES Address (ID_ADDRESS) ON DELETE RESTRICT ON UPDATE CASCADE ; ALTER TABLE Publisher_Address ADD CONSTRAINT FK_Publisher_Address_Publisher FOREIGN KEY (ID_PUBLISHER) REFERENCES Publisher (ID_PUBLISHER) ON DELETE RESTRICT ON UPDATE CASCADE

; ALTER TABLE Publisher_Copy ADD CONSTRAINT FK_Publisher_Exemplar_Exemplar FOREIGN KEY (ID_PUBLISHER) REFERENCES Copy (ID_EXEMPLAR) ON DELETE RESTRICT ON UPDATE CASCADE ; ALTER TABLE Publisher_Copy ADD CONSTRAINT FK_Publisher_Exemplar_Publisher FOREIGN KEY (ID_PUBLISHER) REFERENCES Publisher (ID_PUBLISHER) ON DELETE RESTRICT ON UPDATE CASCADE ;

You might also like