You are on page 1of 1

CREATE TABLE Ankete(

Anketa VARCHAR(10) PRIMARY KEY,


Opis VARCHAR(255) NOT NULL,
Populacija VARCHAR(255),
OdDatuma DATETIME,
DoDatuma DATETIME,
Mesto VARCHAR(50)
);

CREATE TABLE UcesniciAnkete(


Anketa VARCHAR(10) NOT NULL UNIQUE REFERENCES Ankete (Anketa) ON UPDATE CASCADE ON
DELETE CASCADE,
Ucesnik INT NOT NULL UNIQUE,
PRIMARY KEY (Anketa, Ucesnik)
);

CREATE TABLE PitanjaAnkete(


Anketa VARCHAR(10) NOT NULL UNIQUE REFERENCES Ankete (Anketa) ON UPDATE CASCADE ON
DELETE CASCADE,
BrojPitanja INT NOT NULL UNIQUE,
PRIMARY KEY(Anketa, BrojPitanja),
TekstPitanja VARCHAR(255) NOT NULL
);

CREATE TABLE PonudjeniOdgovori(


Anketa VARCHAR(10) NOT NULL UNIQUE REFERENCES PitanjaAnkete (Anketa) ON UPDATE
CASCADE ON DELETE CASCADE,
BrojPitanja INT NOT NULL UNIQUE REFERENCES PitanjaAnkete (BrojPitanja) ON UPDATE
CASCADE ON DELETE CASCADE,
Opcija INT NOT NULL UNIQUE,
PRIMARY KEY(Anketa, BrojPitanja, Opcija),
TekstOpcije INT NOT NULL
);

CREATE TABLE OdgovoriUcesnika(


Anketa VARCHAR(10) NOT NULL UNIQUE,
FOREIGN KEY (Anketa) REFERENCES UcesniciAnkete (Anketa) ON UPDATE CASCADE ON DELETE
CASCADE,
FOREIGN KEY (Anketa) REFERENCES PonudjeniOdgovori (Anketa) ON UPDATE CASCADE ON
DELETE CASCADE,
Ucesnik INT NOT NULL UNIQUE REFERENCES UcesniciAnkete (Ucesnik) ON UPDATE CASCADE
ON DELETE CASCADE,
Opcija INT NOT NULL UNIQUE REFERENCES PonudjeniOdgovori (Opcija) ON UPDATE CASCADE
ON DELETE CASCADE,
BrojPitanja INT NOT NULL UNIQUE REFERENCES PonudjeniOdgovori (BrojPitanja) ON
UPDATE CASCADE ON DELETE CASCADE,
PRIMARY KEY (Anketa, Ucesnik, Opcija, BrojPitanja),
IzabranaOpcija INT NOT NULL
);

You might also like