CREATE TABLE knjiga (
id INTEGER PRIMARY KEY AUTOINCREMENT,
naslov TEXT NOT NULL,
...
);
CREATE TABLE clan (
id INTEGER PRIMARY KEY AUTOINCREMENT,
ime TEXT NOT NULL,
datum_rojstva DATE,
...
);
CREATE TABLE izposoja (
id INTEGER PRIMARY KEY AUTOINCREMENT,
knjiga INTEGER NOT NULL REFERENCES knjiga (id),
clan INTEGER NOT NULL REFERENCES clan (id),
datum_izposoje DATE NOT NULL,
datum_vracila DATE,
zamudnina INTEGER
);
CREATE TABLE placilo (
id INTEGER PRIMARY KEY AUTOINCREMENT,
clan INTEGER NOT NULL REFERENCES clan (id),
znesek INTEGER NOT NULL
);
CREATE TABLE drzava (
id_drzave INTEGER PRIMARY KEY AUTOINCREMENT,
ime_drzave TEXT UNIQUE
NOT NULL,
populacija INTEGER NOT NULL,
bdp INTEGER NOT NULL
);
CREATE TABLE tekmovalka (
id_tekmovalke INTEGER PRIMARY KEY AUTOINCREMENT,
ime_priimek TEXT NOT NULL,
datum_rojstva DATE NOT NULL,
drzava INTEGER NOT NULL
REFERENCES drzava (id_drzave),
UNIQUE (id_tekmovalke, drzava)
);
CREATE TABLE skakalnica (
id_skakalnice INTEGER PRIMARY KEY AUTOINCREMENT,
ime_skakalnice TEXT NOT NULL,
kraj TEXT NOT NULL,
drzava INTEGER NOT NULL
REFERENCES drzava (id_drzave)
tip_skakalnice TEXT NOT NULL CHECK (tip_skakalnice IN ('srednja', 'velika')),
velikost INTEGER NOT NULL,
rekord INTEGER NOT NULL
);
CREATE TABLE tekma (
id_tekme INTEGER PRIMARY KEY AUTOINCREMENT,
datum DATE NOT NULL,
tip_tekme TEXT NOT NULL
CHECK (tip_tekme IN ('posamična', 'ekipna') ),
tekmovanje TEXT NOT NULL
CHECK (tekmovanje IN ('svetovni pokal', 'svetovno prvenstvo', 'olimpijske igre') ),
skakalnica INTEGER NOT NULL
REFERENCES skakalnica (id_skakalnice),
sezona TEXT CHECK (sezona LIKE '____/__')
);
CREATE TABLE rezultati (
tocke INTEGER NOT NULL,
mesto INTEGER NOT NULL,
tekmovalka INTEGER NOT NULL
REFERENCES tekmovalka (id_tekmovalke),
tekma INTEGER NOT NULL
REFERENCES tekma (id_tekme),
PRIMARY KEY (
tekmovalka,
tekma
)
);
CREATE TABLE ekipa (
id_ekipe INTEGER PRIMARY KEY AUTOINCREMENT,
drzava INTEGER NOT NULL
REFERENCES drzava (id_drzave),
UNIQUE (id_ekipe, drzava)
);
CREATE TABLE postava (
ekipa INTEGER,
drzava INTEGER,
tekmovalka INTEGER,
FOREIGN KEY (ekipa, drzava)
REFERENCES ekipa (id_ekipe, drzava),
FOREIGN KEY (tekmovalka, drzava)
REFERENCES tekmovalka (id_tekmovalke, drzava),
PRIMARY KEY (ekipa, drzava, tekmovalka)
);
CREATE TABLE rezultati_ekipa (
tocke INTEGER NOT NULL,
mesto INTEGER NOT NULL,
ekipa INTEGER NOT NULL
REFERENCES ekipa (id_ekipe),
tekma INTEGER NOT NULL
REFERENCES tekma (id_tekme),
PRIMARY KEY (
ekipa,
tekma
)
);
CREATE TABLE narocnik (
davcna_stevilka INTEGER PRIMARY KEY,
priimek TEXT NOT NULL,
ime TEXT NOT NULL,
nalov TEXT NOT NULL,
kontakt_tel INTEGER,
kontakt_mail TEXT
);
CREATE TABLE narocniska_pogodba (
stevilka_pogodbe INTEGER PRIMARY KEY AUTOINCREMENT,
datum DATE NOT NULL,
vrsta_postopka TEXT NOT NULL,
narocnik INTEGER NOT NULL REFERENCES narocnik (davcna_stevilka)
);
CREATE TABLE vloga (
id INTEGER PRIMARY KEY AUTOINCREMENT,
datum DATE NOT NULL,
vrsta_postopka TEXT NOT NULL,
narocnik INTEGER NOT NULL REFERENCES narocnik (davcna_stevilka),
upravni_organ INTEGER NOT NULL REFERENCES upravni_organ (id),
odlocba INTEGER REFERENCES odlocba (id)
);
CREATE TABLE upravni_organ (
id INTEGER PRIMARY KEY AUTOINCREMENT,
naziv TEXT NOT NULL,
naslov TEXT NOT NULL,
telefonska_stevilka INTEGER,
elektronska_posta TEXT
);
CREATE TABLE odlocba (
id INTEGER PRIMARY KEY AUTOINCREMENT,
stevilka_odlocbe TEXT NOT NULL,
datoteka BLOB,
datum DATE NOT NULL,
koncna TEXT
racun INTEGER NOT NULL REFERENCES racun (id)
);
CREATE TABLE racun (
id INTEGER PRIMARY KEY AUTOINCREMENT,
datum_izdaje DATE NOT NULL,
datum_zapadlosti DATE NOT NULL,
znesek INTEGER NOT NULL,
status_placila INTEGER NOT NULL REFERENCES status_placila (id)
);
CREATE TABLE status_placila (
id INTEGER PRIMARY KEY AUTOINCREMENT,
status TEXT NOT NULL
);