RelationalDesign: Laggernet_kreiranje.sql

File Laggernet_kreiranje.sql, 5.1 KB (added by 201194, 18 months ago)
Line 
1drop table if exists Korisnici cascade;
2drop table if exists Dostavuvaci cascade;
3drop table if exists Vraboteni cascade;
4drop table if exists Kupuvaci cascade;
5drop table if exists Komentari cascade;
6drop table if exists Naracki cascade;
7drop table if exists Proizvodi cascade;
8drop table if exists Cena cascade;
9drop table if exists Magacini cascade;
10drop table if exists Kategorii cascade;
11drop table if exists Garancija cascade;
12drop table if exists Parce cascade;
13drop table if exists Kompanija cascade;
14drop table if exists Dostavuvanja cascade;
15drop table if exists komentar_na_proizvod cascade;
16drop table if exists parce_dostapno_vo_magacini cascade;
17drop table if exists parce_e_del_od_naracki cascade;
18
19
20
21create table Korisnici(
22korisnicko_ime varchar(20) primary key unique,
23lozinka varchar(20) not null,
24e_posta varchar(30) not null,
25telefonski_broj varchar(9)
26);
27
28create table Dostavuvaci(
29korisnicko_ime varchar(20) primary key ,
30constraint fk_dostavuvaci_korisnik foreign key (korisnicko_ime)
31references korisnici(korisnicko_ime)
32);
33
34create table Vraboteni(
35korisnicko_ime varchar(20) primary key ,
36constraint fk_vraboteni_korisnik foreign key (korisnicko_ime)
37references korisnici(korisnicko_ime)
38);
39
40create table Kupuvaci(
41korisnicko_ime varchar(20) primary key ,
42constraint fk_kupuvaci_korisnik foreign key (korisnicko_ime)
43references korisnici(korisnicko_ime)
44);
45
46create table Kompanija (
47ime varchar(25) primary key
48);
49
50create table Proizvodi(
51id_proizvod serial primary key,
52kolicina integer not null,
53ime_proizvod varchar(15) not null,
54prosek_ocenka integer,
55boja varchar(8),
56karakteristiki varchar(225),
57ime varchar(25),
58constraint fk_proizvod_od_kompanija foreign key (ime) references kompanija (ime)
59);
60
61
62create table Naracki(
63id_naracka serial primary key,
64suma integer not null,
65nacin_na_plakanje varchar(10) not null,
66status varchar(10) not null,
67data_na_naracka timestamp default now(),
68korisnicko_ime varchar(20),
69constraint fk_kupuvac_pravi_naracka foreign key (korisnicko_ime) references kupuvaci(korisnicko_ime)
70);
71
72
73create table Dostavuvanja(
74id_dostavuvanja serial primary key,
75data_na_dostavuvanje timestamp not null,
76id_naracka serial,
77korisnicko_ime varchar(20),
78constraint fk_dostavuvanja_za_naracka foreign key (id_naracka) references naracki (id_naracka),
79constraint fk_dostavuvac_vrsi_dostavuvanja foreign key (korisnicko_ime) references dostavuvaci (korisnicko_ime)
80);
81
82
83
84create table Parce(
85id_parce serial primary key,
86id_proizvod serial,
87constraint fk_proizvod_ima_parce foreign key (id_proizvod) references proizvodi (id_proizvod)
88);
89
90
91create table Magacini(
92id_magacin serial primary key,
93lokacija varchar(20) not null,
94korisnicko_ime varchar(20),
95constraint fk_vraboten_raboti_vo_magacin foreign key (korisnicko_ime) references vraboteni (korisnicko_ime)
96);
97
98
99create table Cena(
100id_cena serial primary key,
101datum_na_cena timestamp default now(),
102popust integer,
103iznos integer not null,
104id_proizvod serial,
105constraint fk_proizvod_e_so_cena foreign key (id_proizvod)
106 references proizvodi (id_proizvod)
107);
108
109
110create table Garancija(
111shifra serial primary key,
112datum_do timestamp not null,
113datum_od timestamp not null,
114id_proizvod serial,
115constraint fk_proizvod_e_pod_garancija foreign key (id_proizvod) references proizvodi (id_proizvod)
116);
117
118
119create table Kategorii(
120id_kategorija serial primary key,
121ime varchar(25) not null ,
122id_nadkategorija integer,
123id_proizvod serial,
124 constraint fk_nadkategorija foreign key (id_nadkategorija)
125 references kategorii(id_kategorija),
126constraint fk_proizvod_se_sodrzi_vo_kategorija foreign key (id_proizvod)
127 references proizvodi (id_proizvod)
128);
129
130--prasaj za dava
131create table Komentari(
132id_proizvod serial ,
133korisnicko_ime varchar(20),
134tekst varchar(225) not null,
135constraint fk_komentar_proizvod foreign key (id_proizvod)
136references proizvodi(id_proizvod),
137constraint fk_komentar_korisnicko_ime foreign key (korisnicko_ime)
138references korisnici(korisnicko_ime),
139constraint pk_komentari primary key(id_proizvod,korisnicko_ime),
140constraint kupuvac_dava_komentar foreign key (korisnicko_ime) references kupuvaci(korisnicko_ime)
141);
142
143
144create table parce_e_del_od_naracki(
145id_parce serial not null,
146id_naracka serial not null,
147constraint fk_parce_za_naracka foreign key(id_naracka) references naracki (id_naracka),
148constraint fk_naracka_za_parce foreign key(id_parce) references parce (id_parce)
149);
150
151create table parce_dostapno_vo_magacini (
152id_parce serial not null,
153id_magacin serial not null,
154constraint fk_parce_dostapno_vo_magacini foreign key (id_magacin) references magacini(id_magacin),
155constraint fk_magacini_dostapno_vo_parce foreign key (id_parce) references parce(id_parce)
156);
157
158create table komentar_na_proizvod (
159id_proizvod serial not null,
160korisnicko_ime varchar(20) not null,
161constraint fk_kom_na_pro foreign key (id_proizvod) references proizvodi (id_proizvod),
162constraint fk_proizvod_na_komentar foreign key (korisnicko_ime, id_proizvod) references komentari(korisnicko_ime, id_proizvod)
163);
164
165
166
167
168
169
170