RelationModel: kreiranje_v3.sql

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