RelationalDesign: kreiranje_v3.sql

File kreiranje_v3.sql, 2.7 KB (added by 133106, 5 months ago)
Line 
1set search_path = project;
2
3drop table if exists Naracka_sodrzi_MenuItem cascade;
4drop table if exists MenuItem cascade;
5drop table if exists Naplata cascade;
6drop table if exists Naracka cascade;
7drop table if exists Restoran cascade;
8drop table if exists Manager cascade;
9drop table if exists Administrator cascade;
10drop table if exists Vozac cascade;
11drop table if exists Vozilo cascade;
12drop table if exists Potrosuvac cascade;
13drop table if exists Korisnik cascade;
14
15drop schema if exists project;
16
17create schema project;
18set search_path = project;
19
20CREATE TABLE Korisnik (
21Id INT PRIMARY KEY,
22Email VARCHAR(255) NOT NULL,
23Username VARCHAR(50) NOT NULL,
24Pword VARCHAR(50) NOT NULL
25);
26
27CREATE TABLE Potrosuvac (
28korisnik_id INT PRIMARY KEY,
29Address VARCHAR(255) NOT NULL,
30br_telefon VARCHAR(255) NOT NULL,
31constraint fk_Korisnik foreign key (korisnik_id) references Korisnik(Id)
32);
33
34CREATE TABLE Vozilo (
35Id INT PRIMARY KEY,
36tip VARCHAR(255),
37br_registracija VARCHAR(255) NOT NULL
38);
39
40CREATE TABLE Vozac (
41korisnik_id INT PRIMARY KEY,
42vozilo_id INT NOT NULL,
43constraint fk_Korisnik foreign key (korisnik_id) references Korisnik(Id),
44constraint fk_Vozilo foreign key (vozilo_id) references Vozilo(Id)
45);
46
47CREATE TABLE Administrator (
48korisnik_id INT PRIMARY KEY,
49constraint fk_Korisnik foreign key (korisnik_id) references Korisnik(Id)
50);
51
52CREATE TABLE Manager (
53korisnik_id INT PRIMARY KEY,
54constraint fk_Korisnik foreign key (korisnik_id) references Korisnik(Id)
55);
56
57CREATE TABLE Restoran (
58Id INT PRIMARY KEY,
59ime VARCHAR(255) NOT NULL,
60lokacija VARCHAR(255) NOT NULL,
61rabotno_vreme VARCHAR(255) NOT NULL,
62manager_id INT NOT NULL,
63FOREIGN KEY (manager_id) references Manager(korisnik_id)
64);
65
66CREATE TABLE Naracka (
67Id INT PRIMARY KEY,
68Datum DATE,
69potrosuvac_id INT NOT NULL,
70restoran_id INT NOT NULL,
71vozac_id INT NOT NULL,
72admin_id INT NOT NULL,
73FOREIGN KEY (potrosuvac_id) references Potrosuvac(korisnik_id),
74FOREIGN KEY (restoran_id) references Restoran(Id),
75FOREIGN KEY (vozac_id) references Vozac(korisnik_id),
76FOREIGN KEY (admin_id) references Administrator(korisnik_id)
77);
78
79CREATE TABLE Naplata (
80Id INT PRIMARY KEY,
81Iznos INT NOT NULL,
82nacin_na_plakjane VARCHAR(255),
83potrosuvac_id INT NOT NULL,
84naracka_id INT NOT NULL,
85FOREIGN KEY (potrosuvac_id) references Potrosuvac(korisnik_id),
86FOREIGN KEY (naracka_id) references Naracka(Id)
87);
88
89CREATE TABLE MenuItem (
90Id INT PRIMARY KEY,
91ime VARCHAR(255) NOT NULL,
92cena INT NOT NULL,
93restoran_id INT NOT NULL,
94FOREIGN KEY (restoran_id) references Restoran(Id)
95);
96
97CREATE TABLE Naracka_sodrzi_MenuItem (
98naracka_id INT NOT NULL,
99menuItem_id INT NOT NULL,
100FOREIGN KEY (naracka_id) references Naracka(Id),
101FOREIGN KEY (menuItem_id) references MenuItem(Id)
102);