BEGIN; CREATE TABLE redakcja ( id_redakcji INTEGER NOT NULL, nazwa VARCHAR(80) NOT NULL, miasto VARCHAR(60) NOT NULL, CONSTRAINT pk_redakcja PRIMARY KEY (id_redakcji), CONSTRAINT uq_redakcja_nazwa UNIQUE (nazwa) ); CREATE TABLE dziennikarz ( id_dziennikarza INTEGER NOT NULL, imie VARCHAR(40) NOT NULL, nazwisko VARCHAR(60) NOT NULL, id_redakcji INTEGER NOT NULL, CONSTRAINT pk_dziennikarz PRIMARY KEY (id_dziennikarza), CONSTRAINT fk_dziennikarz_redakcja FOREIGN KEY (id_redakcji) REFERENCES redakcja (id_redakcji) ); CREATE TABLE artykul ( id_artykulu INTEGER NOT NULL, id_autora INTEGER NOT NULL, id_redakcji INTEGER NOT NULL, tytul VARCHAR(180) NOT NULL, data_publikacji DATE, liczba_slow INTEGER NOT NULL, CONSTRAINT pk_artykul PRIMARY KEY (id_artykulu), CONSTRAINT fk_artykul_autor FOREIGN KEY (id_autora) REFERENCES dziennikarz (id_dziennikarza), CONSTRAINT fk_artykul_redakcja FOREIGN KEY (id_redakcji) REFERENCES redakcja (id_redakcji), CONSTRAINT ck_artykul_liczba_slow CHECK (liczba_slow > 0) ); CREATE TABLE recenzja ( id_artykulu INTEGER NOT NULL, id_recenzenta INTEGER NOT NULL, ocena INTEGER, CONSTRAINT pk_recenzja PRIMARY KEY (id_artykulu, id_recenzenta), CONSTRAINT fk_recenzja_artykul FOREIGN KEY (id_artykulu) REFERENCES artykul (id_artykulu), CONSTRAINT fk_recenzja_recenzent FOREIGN KEY (id_recenzenta) REFERENCES dziennikarz (id_dziennikarza), CONSTRAINT ck_recenzja_ocena CHECK (ocena BETWEEN 1 AND 5) ); COMMIT;