1 | -- Brisenje na postoecki tabeli vo pravilen redosled (poradi zavisnosti)
|
---|
2 | DROP TABLE IF EXISTS trenira CASCADE;
|
---|
3 | DROP TABLE IF EXISTS raboti CASCADE;
|
---|
4 | DROP TABLE IF EXISTS poseti CASCADE;
|
---|
5 | DROP TABLE IF EXISTS clenstvo CASCADE;
|
---|
6 | DROP TABLE IF EXISTS clenovi CASCADE;
|
---|
7 | DROP TABLE IF EXISTS paketi CASCADE;
|
---|
8 | DROP TABLE IF EXISTS tip_vremetranje CASCADE;
|
---|
9 | DROP TABLE IF EXISTS lokacii CASCADE;
|
---|
10 | DROP TABLE IF EXISTS vraboteni CASCADE;
|
---|
11 |
|
---|
12 | -- Kreiranje na tabeli
|
---|
13 |
|
---|
14 | CREATE TABLE clenovi (
|
---|
15 | clenid SERIAL PRIMARY KEY,
|
---|
16 | ime VARCHAR(50) NOT NULL,
|
---|
17 | prezime VARCHAR(50) NOT NULL,
|
---|
18 | email VARCHAR(100) UNIQUE,
|
---|
19 | broj_poseti INT DEFAULT 0
|
---|
20 | );
|
---|
21 |
|
---|
22 | CREATE TABLE paketi (
|
---|
23 | paketid SERIAL PRIMARY KEY,
|
---|
24 | ime VARCHAR(50) NOT NULL,
|
---|
25 | cena NUMERIC(10,2) NOT NULL
|
---|
26 | );
|
---|
27 |
|
---|
28 | CREATE TABLE tip_vremetranje (
|
---|
29 | vremetraenjeid SERIAL PRIMARY KEY,
|
---|
30 | vremetraenjedenovi INT NOT NULL,
|
---|
31 | ime VARCHAR(50) NOT NULL
|
---|
32 | );
|
---|
33 |
|
---|
34 | CREATE TABLE clenstvo (
|
---|
35 | clenstvoid SERIAL PRIMARY KEY,
|
---|
36 | clenid INT REFERENCES clenovi(clenid) ON DELETE CASCADE,
|
---|
37 | paketid INT REFERENCES paketi(paketid) ON DELETE CASCADE,
|
---|
38 | vremetraenjeid INT REFERENCES tip_vremetranje(vremetraenjeid) ON DELETE CASCADE,
|
---|
39 | start_datum DATE NOT NULL
|
---|
40 | );
|
---|
41 |
|
---|
42 | CREATE TABLE lokacii (
|
---|
43 | lokacijaid SERIAL PRIMARY KEY,
|
---|
44 | ime VARCHAR(50) NOT NULL
|
---|
45 | );
|
---|
46 |
|
---|
47 | CREATE TABLE poseti (
|
---|
48 | posetaid SERIAL PRIMARY KEY,
|
---|
49 | clenid INT REFERENCES clenovi(clenid) ON DELETE CASCADE,
|
---|
50 | lokacijaid INT REFERENCES lokacii(lokacijaid) ON DELETE CASCADE,
|
---|
51 | datum DATE NOT NULL
|
---|
52 | );
|
---|
53 |
|
---|
54 | CREATE TABLE vraboteni (
|
---|
55 | vrabotenid SERIAL PRIMARY KEY,
|
---|
56 | ime VARCHAR(50) NOT NULL,
|
---|
57 | pozicija VARCHAR(50) NOT NULL
|
---|
58 | );
|
---|
59 |
|
---|
60 | CREATE TABLE trenira (
|
---|
61 | clenid INT REFERENCES clenovi(clenid) ON DELETE CASCADE,
|
---|
62 | vrabotenid INT REFERENCES vraboteni(vrabotenid) ON DELETE CASCADE,
|
---|
63 | PRIMARY KEY(clenid, vrabotenid)
|
---|
64 | );
|
---|
65 |
|
---|
66 | CREATE TABLE raboti (
|
---|
67 | vrabotenid INT REFERENCES vraboteni(vrabotenid) ON DELETE CASCADE,
|
---|
68 | lokacijaid INT REFERENCES lokacii(lokacijaid) ON DELETE CASCADE,
|
---|
69 | PRIMARY KEY(vrabotenid, lokacijaid)
|
---|
70 | );
|
---|