CREATE TABLE Isiku_liik ( Isiku_liigi_ID SMALLINT NOT NULL, Nimetus VARCHAR2(60) NOT NULL, Fyys_jur_isik VARCHAR2(1) NOT NULL, Avatud DATE NOT NULL, Suletud DATE NULL ); CREATE UNIQUE INDEX XPKIsiku_liik ON Isiku_liik ( Isiku_liigi_ID ASC ); ALTER TABLE Isiku_liik ADD ( PRIMARY KEY (Isiku_liigi_ID) ) ; CREATE TABLE Isik ( Isiku_ID SMALLINT NOT NULL, Isiku_liigi_ID SMALLINT NOT NULL, Kood VARCHAR2(15) NOT NULL, Nimi VARCHAR2(35) NOT NULL, Eesnimi VARCHAR2(15) NULL, Kasutajanimi VARCHAR2(32) NULL, Aadress VARCHAR2(100) NULL, Pangakaardi_tyyp VARCHAR2(6) NULL, Pangakaardi_nr VARCHAR2(20) NULL, Avatud DATE NOT NULL, Suletud DATE NULL ); CREATE UNIQUE INDEX XPKIsik ON Isik ( Isiku_ID ASC ); CREATE INDEX XIF14Isik ON Isik ( Isiku_liigi_ID ASC ); ALTER TABLE Isik ADD ( PRIMARY KEY (Isiku_ID) ) ; CREATE TABLE Arve ( Arve_ID SMALLINT NOT NULL, Myyja_ID SMALLINT NOT NULL, Ostja_ID SMALLINT NOT NULL, Number VARCHAR2(10) NOT NULL, Tellimuse_kuupaev DATE NOT NULL, Soodustuse_prots SMALLINT NULL, Komplekteerimise_kuup DATE NULL, Makse_kuup DATE NULL, Saatmise_kuup DATE NULL, Kattesaamise_kuup DATE NULL ); CREATE UNIQUE INDEX XPKArve ON Arve ( Arve_ID ASC ); CREATE INDEX XIF11Arve ON Arve ( Ostja_ID ASC ); CREATE INDEX XIF12Arve ON Arve ( Myyja_ID ASC ); ALTER TABLE Arve ADD ( PRIMARY KEY (Arve_ID) ) ; CREATE TABLE Kaubagrupp ( Kaubagrupi_ID SMALLINT NOT NULL, Kaubagrupi_nimetus VARCHAR2(60) NOT NULL ); CREATE UNIQUE INDEX XPKKaubagrupp ON Kaubagrupp ( Kaubagrupi_ID ASC ); ALTER TABLE Kaubagrupp ADD ( PRIMARY KEY (Kaubagrupi_ID) ) ; CREATE TABLE Kaup ( Kauba_ID SMALLINT NOT NULL, Kaubagrupi_ID SMALLINT NOT NULL, Kauba_nimetus VARCHAR2(60) NOT NULL, Yhik VARCHAR2(10) NOT NULL, Avatud DATE NOT NULL, Suletud DATE NULL ); CREATE UNIQUE INDEX XPKKaup ON Kaup ( Kauba_ID ASC ); CREATE INDEX XIF1Kaup ON Kaup ( Kaubagrupi_ID ASC ); ALTER TABLE Kaup ADD ( PRIMARY KEY (Kauba_ID) ) ; CREATE TABLE Tellimus_tarnijale ( Tarnija_tellimuse_ID SMALLINT NOT NULL, Tarnija_ID SMALLINT NOT NULL, Isiku_ID SMALLINT NOT NULL, Tellimuse_number VARCHAR2(10) NOT NULL, Tellimuse_kuup DATE NOT NULL, Avatud DATE NOT NULL, Suletud DATE NULL ); CREATE UNIQUE INDEX XPKTellimus_tarnijale ON Tellimus_tarnijale ( Tarnija_tellimuse_ID ASC ); CREATE INDEX XIF4Tellimus_tarnijale ON Tellimus_tarnijale ( Isiku_ID ASC ); CREATE INDEX XIF7Tellimus_tarnijale ON Tellimus_tarnijale ( Tarnija_ID ASC ); ALTER TABLE Tellimus_tarnijale ADD ( PRIMARY KEY (Tarnija_tellimuse_ID) ) ; CREATE TABLE Tarne ( Tarne_ID SMALLINT NOT NULL, Isiku_ID SMALLINT NOT NULL, Tarnija_tellimuse_ID SMALLINT NULL, Tarne_nr VARCHAR2(10) NOT NULL, Tarne_kuup DATE NOT NULL ); CREATE UNIQUE INDEX XPKTarne ON Tarne ( Tarne_ID ASC ); CREATE INDEX XIF5Tarne ON Tarne ( Isiku_ID ASC ); CREATE INDEX XIF6Tarne ON Tarne ( Tarnija_tellimuse_ID ASC ); ALTER TABLE Tarne ADD ( PRIMARY KEY (Tarne_ID) ) ; CREATE TABLE Kauba_liikumine ( Kauba_liikumise_ID SMALLINT NOT NULL, Arve_ID SMALLINT NULL, Kauba_ID SMALLINT NOT NULL, Tarne_ID SMALLINT NULL, Kogus FLOAT NOT NULL, Hind NUMBER NOT NULL ); CREATE UNIQUE INDEX XPKKauba_liikumine ON Kauba_liikumine ( Kauba_liikumise_ID ASC ); CREATE INDEX XIF10Kauba_liikumine ON Kauba_liikumine ( Kauba_ID ASC ); CREATE INDEX XIF13Kauba_liikumine ON Kauba_liikumine ( Arve_ID ASC ); CREATE INDEX XIF9Kauba_liikumine ON Kauba_liikumine ( Tarne_ID ASC ); ALTER TABLE Kauba_liikumine ADD ( PRIMARY KEY (Kauba_liikumise_ID) ) ; CREATE TABLE Tarnija_tellimuse_rida ( Tarnija_tellimuse_rea_ID SMALLINT NOT NULL, Tarnija_tellimuse_ID SMALLINT NOT NULL, Kauba_ID SMALLINT NOT NULL, kogus FLOAT NOT NULL ); CREATE UNIQUE INDEX XPKTarnija_tellimuse_rida ON Tarnija_tellimuse_rida ( Tarnija_tellimuse_rea_ID ASC ); CREATE INDEX XIF2Tarnija_tellimuse_rida ON Tarnija_tellimuse_rida ( Tarnija_tellimuse_ID ASC ); CREATE INDEX XIF3Tarnija_tellimuse_rida ON Tarnija_tellimuse_rida ( Kauba_ID ASC ); ALTER TABLE Tarnija_tellimuse_rida ADD ( PRIMARY KEY (Tarnija_tellimuse_rea_ID) ) ; ALTER TABLE Isik ADD ( FOREIGN KEY (Isiku_liigi_ID) REFERENCES Isiku_liik ) ; ALTER TABLE Arve ADD ( FOREIGN KEY (Isiku_ID) REFERENCES Isik ) ; ALTER TABLE Arve ADD ( FOREIGN KEY (Isiku_ID) REFERENCES Isik ) ; ALTER TABLE Kaup ADD ( FOREIGN KEY (Kaubagrupi_ID) REFERENCES Kaubagrupp ) ; ALTER TABLE Tellimus_tarnijale ADD ( FOREIGN KEY (Tarnija_ID) REFERENCES Isik ) ; ALTER TABLE Tellimus_tarnijale ADD ( FOREIGN KEY (Isiku_ID) REFERENCES Isik ) ; ALTER TABLE Tarne ADD ( FOREIGN KEY (Tarnija_tellimuse_ID) REFERENCES Tellimus_tarnijale ) ; ALTER TABLE Tarne ADD ( FOREIGN KEY (Isiku_ID) REFERENCES Isik ) ; ALTER TABLE Kauba_liikumine ADD ( FOREIGN KEY (Arve_ID) REFERENCES Arve ) ; ALTER TABLE Kauba_liikumine ADD ( FOREIGN KEY (Kauba_ID) REFERENCES Kaup ) ; ALTER TABLE Kauba_liikumine ADD ( FOREIGN KEY (Tarne_ID) REFERENCES Tarne ) ; ALTER TABLE Tarnija_tellimuse_rida ADD ( FOREIGN KEY (Kauba_ID) REFERENCES Kaup ) ; ALTER TABLE Tarnija_tellimuse_rida ADD ( FOREIGN KEY (Tarnija_tellimuse_ID) REFERENCES Tellimus_tarnijale ) ;