RelationModel: kreiranje.sql

File kreiranje.sql, 6.7 KB (added by 201134, 23 months ago)
Line 
1--lokacii (adresa)
2create table lokacii(
3adresa varchar primary key
4);
5
6--korisnici (korisnik_id, datum_kreiran, lozinka)
7create table korisnici(
8korisnik_id serial primary key,
9datum_kreiran date not null,
10lozinka varchar not null
11);
12
13--keterinzi (korisnik_id*(korisnici), ime, cena, adresa, tel_broj)
14create table keterinzi(
15korisnik_id integer primary key,
16ime varchar not null,
17cena integer not null,
18adresa varchar not null,
19tel_broj varchar not null,
20constraint fk_keterinzi_korisnici foreign key (korisnik_id) references korisnici (korisnik_id)
21);
22
23--klienti (korisnik_id_korisnici*(korisnici), br_organizirani_nastani, tel_broj, korisnik_id_keterinzi*(keterinzi))
24create table klienti(
25korisnik_id_korisnici integer primary key,
26br_organizirani_nastani integer not null,
27tel_broj varchar not null,
28korisnik_id_keterinzi integer not null,
29constraint fk_klienti_korisnici foreign key (korisnik_id_korisnici) references korisnici (korisnik_id),
30constraint fk_klienti_keterinzi foreign key (korisnik_id_keterinzi) references keterinzi (korisnik_id)
31);
32
33--admini (korisnik_id*(korisnici), br_organizirani_nastani)
34create table admini(
35korisnik_id integer primary key,
36br_organizirani_nastani integer not null,
37constraint fk_admini_korisnici foreign key (korisnik_id) references korisnici (korisnik_id)
38);
39
40--nastani (nastan_id, status, vreme, tip, opis, adresa*(lokacii), korisnik_id_admini*(admini), korisnik_id_klienti*(klienti))
41create table nastani(
42nastan_id serial primary key,
43status varchar not null,
44vreme varchar not null,
45tip varchar not null,
46opis varchar,
47adresa varchar not null,
48korisnik_id_admini integer,
49korisnik_id_klienti integer not null,
50constraint fk_nastani_lokacii foreign key (adresa) references lokacii (adresa),
51constraint fk_nastani_admini foreign key (korisnik_id_admini) references admini (korisnik_id),
52constraint fk_nastani_klienti foreign key (korisnik_id_klienti) references klienti (korisnik_id)
53);
54
55--bendovi (korisnik_id*(korisnici), ime, cena, tel_broj)
56create table bendovi(
57korisnik_id integer primary key,
58ime varchar not null,
59cena integer not null,
60tel_broj varchar not null,
61constraint fk_bendovi_korisnici foreign key (korisnik_id) references korisnici (korisnik_id)
62);
63
64--fotografi (korisnik_id*(korisnici), cena, tel_broj, portfolio)
65create table fotografi(
66korisnik_id integer primary key,
67cena integer not null,
68tel_broj varchar not null,
69portfolio varchar not null,
70constraint fk_fotografi_korisnici foreign key (korisnik_id) references korisnici (korisnik_id)
71);
72
73--kelneri (korisnik_id_korisnici*(korisnici), slobodni_denovi, god_iskustvo, korisnik_id_keterinzi*(keterinzi))
74create table kelneri(
75korisnik_id_korisnici integer primary key,
76slobodni_denovi integer not null,
77god_iskustvo integer not null,
78korisnik_id_keterinzi integer not null,
79constraint fk_kelneri_korisnici foreign key (korisnik_id_korisnici) references korisnici (korisnik_id),
80constraint fk_kelneri_keterinzi foreign key (korisnik_id_keterinzi) references keterinzi (korisnik_id)
81);
82
83--produkti (produkt_id, ime)
84create table produkti(
85produkt_id serial primary key,
86ime varchar not null
87);
88
89--hrana (produkt_id*(produkti), vegetarijansko, kalorii, vegan)
90create table hrana(
91produkt_id integer primary key,
92vegetarijansko boolean not null,
93kalorii integer,
94vegan boolean not null,
95constraint fk_hrana_produkti foreign key (produkt_id) references produkti (produkt_id)
96);
97
98--pijaloci (produkt_id*(produkti), dali_alkoholen, procenti_alkohol)
99create table pijaloci(
100produkt_id integer primary key,
101dali_alkoholen boolean not null,
102procenti_alkohol integer,
103constraint fk_pijaloci_produkti foreign key (produkt_id) references produkti (produkt_id)
104);
105
106--tel_broj (adresa*(lokacii), tel_broj)
107create table tel_broj(
108adresa varchar not null,
109tel_broj varchar,
110constraint pk_tel_broj primary key (adresa, tel_broj),
111constraint fk_tel_broj_lokacii foreign key (adresa) references lokacii (adresa)
112);
113
114--alergeni (produkt_id*(hrana), alergeni)
115create table alergeni(
116produkt_id integer not null,
117alergeni varchar,
118constraint pk_alergeni primary key (produkt_id, alergeni),
119constraint fk_alergeni_hrana foreign key (produkt_id) references hrana (produkt_id)
120);
121
122
123--bend_sviri_nastan (korisnik_id*(bendovi), nastan_id*(nastani), status)
124create table bend_sviri_nastan (
125korisnik_id integer,
126nastan_id integer,
127status varchar,
128constraint pk_sviri primary key (korisnik_id, nastan_id),
129constraint fk_sviri_bendovi foreign key (korisnik_id) references bendovi (korisnik_id),
130constraint fk_sviri_nastani foreign key (nastan_id) references nastani (nastan_id)
131);
132
133--ketering_nudi_produkt (korisnik_id*(keterinzi), produkt_id*(produkti))
134create table ketering_nudi_produkt (
135korisnik_id integer,
136produkt_id integer,
137constraint pk_nudi primary key (korisnik_id, produkt_id),
138constraint fk_nudi_keterinzi foreign key (korisnik_id) references keterinzi (korisnik_id),
139constraint fk_nudi_produkti foreign key (produkt_id) references produkti (produkt_id)
140);
141
142--ketering_rezervira_nastan (korisnik_id*(keterinzi), nastan_id*(nastani), status, kolicina)
143create table ketering_rezervira_nastan (
144korisnik_id integer,
145nastan_id integer,
146status varchar,
147kolicina integer,
148constraint pk_rezervira primary key (korisnik_id, nastan_id),
149constraint fk_rezervira_keterinzi foreign key (korisnik_id) references keterinzi (korisnik_id),
150constraint fk_rezervira_nastani foreign key (nastan_id) references nastani (nastan_id)
151);
152
153--fotograf_slika_nastan (korisnik_id*(fotografi), nastan_id*(nastani), status)
154create table fotograf_slika_nastan (
155korisnik_id integer,
156nastan_id integer,
157status varchar,
158constraint pk_slika primary key (korisnik_id, nastan_id),
159constraint fk_slika_fotografi foreign key (korisnik_id) references fotografi (korisnik_id),
160constraint fk_slika_nastani foreign key (nastan_id) references nastani (nastan_id)
161);
162
163--kelner_raboti_na_nastan (korisnik_id*(kelneri), nastan_id*(nastani))
164create table kelner_raboti_na_nastan (
165korisnik_id integer,
166nastan_id integer,
167constraint pk_raboti_na primary key (korisnik_id, nastan_id),
168constraint fk_raboti_na_kelneri foreign key (korisnik_id) references kelneri (korisnik_id_korisnici),
169constraint fk_raboti_na_nastani foreign key (nastan_id) references nastani (nastan_id)
170);
171
172--drop table lokacii
173--drop table nastani
174--drop table korisnici
175--drop table admini
176--drop table klienti
177--drop table bendovi
178--drop table fotografi
179--drop table kelneri
180--drop table keterinzi
181--drop table produkti
182--drop table hrana
183--drop table pijaloci
184--drop table tel_broj
185--drop table alergeni
186--drop table sviri
187--drop table nudi
188--drop table rezervira
189--drop table slika
190--drop table raboti_na