RelationModel: kreiranje.2.sql

File kreiranje.2.sql, 4.4 KB (added by 212054, 3 weeks ago)
Line 
1SET FOREIGN_KEY_CHECKS = 0;
2DROP TABLE IF EXISTS Objekt;
3DROP TABLE IF EXISTS Vo_Izgradba;
4DROP TABLE IF EXISTS Gotov;
5DROP TABLE IF EXISTS Nadzor;
6DROP TABLE IF EXISTS Podizveduvac;
7DROP TABLE IF EXISTS Rabotnik;
8DROP TABLE IF EXISTS Dobavuvac;
9DROP TABLE IF EXISTS Nabavka;
10DROP TABLE IF EXISTS Korisnik;
11DROP TABLE IF EXISTS Sopstvenik;
12DROP TABLE IF EXISTS Raboti_Na;
13DROP TABLE IF EXISTS Raboti_Za;
14DROP TABLE IF EXISTS Nadgleduva;
15DROP TABLE IF EXISTS Pobaruva;
16DROP TABLE IF EXISTS Nameneta_Za;
17DROP TABLE IF EXISTS Odobruva;
18DROP TABLE IF EXISTS Oddrzuva;
19DROP TABLE IF EXISTS Ispolnuva;
20
21
22
23CREATE TABLE Objekt (
24 Objekt_ID INT AUTO_INCREMENT UNIQUE NOT NULL,
25 Tip VARCHAR(100),
26 Adresa VARCHAR(100),
27 CONSTRAINT Objekt PRIMARY KEY (Objekt_ID)
28);
29
30CREATE TABLE Vo_Izgradba (
31 Objekt_ID INT NOT NULL UNIQUE,
32 Budzet FLOAT,
33 CONSTRAINT Vo_Izgradba FOREIGN KEY (Objekt_ID) REFERENCES Objekt (Objekt_ID)
34);
35
36CREATE TABLE Gotov (
37 Objekt_ID INT AUTO_INCREMENT NOT NULL UNIQUE,
38 CONSTRAINT Gotov FOREIGN KEY (Objekt_ID) REFERENCES Objekt (Objekt_ID)
39);
40
41CREATE TABLE Nadzor (
42 UID INT NOT NULL UNIQUE,
43 Nadzor_Ime VARCHAR(50) NOT NULL,
44 Plata INT,
45 Kvalifikacii VARCHAR(50),
46 Firma VARCHAR(50),
47 CONSTRAINT Nadzor PRIMARY KEY (UID),
48 CONSTRAINT Nadzor FOREIGN KEY (UID) REFERENCES Korisnik (UID)
49);
50
51CREATE TABLE Podizveduvac (
52 Podizveduvac_Ime VARCHAR(50) NOT NULL UNIQUE,
53 Struka VARCHAR(50) NOT NULL,
54 Br_vraboteni INT NOT NULL,
55 Saatnica FLOAT NOT NULL,
56 UID INT NOT NULL UNIQUE,
57 CONSTRAINT Podizveduvac PRIMARY KEY (UID),
58 CONSTRAINT Podizveduvac FOREIGN KEY (UID) REFERENCES Korisnik (UID)
59);
60
61CREATE TABLE Rabotnik (
62 Maticen_br VARCHAR(13) NOT NULL UNIQUE,
63 Ime VARCHAR(50) NOT NULL,
64 Seniornost VARCHAR(50) NOT NULL,
65 CONSTRAINT Rabotnik PRIMARY KEY (Maticen_br)
66);
67
68CREATE TABLE Dobavuvac (
69 Dobavuvac_Ime VARCHAR(50) NOT NULL UNIQUE,
70 Klasa VARCHAR(50) NOT NULL,
71 Tip VARCHAR(50) NOT NULL,
72 Poteklo VARCHAR(50) NOT NULL,
73 CONSTRAINT Dobavuvac PRIMARY KEY (Dobavuvac_Ime)
74);
75
76CREATE TABLE Nabavka (
77 Nabavka_ID INT AUTO_INCREMENT NOT NULL UNIQUE,
78 Datum DATE NOT NULL,
79 Cena FLOAT NOT NULL,
80 Kolicina FLOAT NOT NULL,
81 Predmet VARCHAR(100) NOT NULL,
82 CONSTRAINT Nabavka PRIMARY KEY (Nabavka_ID)
83);
84
85CREATE TABLE Korisnik(
86 UID INT AUTO_INCREMENT NOT NULL UNIQUE,
87 Username VARCHAR(50) NOT NULL UNIQUE,
88 Password VARCHAR(72) NOT NULL,
89 Privilegii INT NOT NULL,
90 CONSTRAINT Korisnik PRIMARY KEY (UID)
91);
92
93CREATE TABLE Sopstvenik(
94 UID INT AUTO_INCREMENT NOT NULL UNIQUE,
95 CONSTRAINT Sopstvenik FOREIGN KEY (UID) REFERENCES Korisnik (UID)
96);
97
98CREATE TABLE Raboti_Na (
99 Objekt_ID INT,
100 UID_p INT NOT NULL,
101 Od_vreme DATE,
102 Do_vreme DATE,
103 PRIMARY KEY (Objekt_ID, UID_p),
104 FOREIGN KEY (Objekt_ID) REFERENCES Objekt(Objekt_ID),
105 FOREIGN KEY (UID_p) REFERENCES Podizveduvac(UID)
106);
107
108CREATE TABLE Raboti_Za (
109 Maticen_br VARCHAR(13),
110 UID_p INT NOT NULL,
111 PRIMARY KEY (Maticen_br, UID_p),
112 FOREIGN KEY (Maticen_br) REFERENCES Rabotnik(Maticen_br),
113 FOREIGN KEY (UID_p) REFERENCES Podizveduvac(UID)
114);
115
116CREATE TABLE Nadgleduva (
117 Objekt_ID INT,
118 UID_n INT NOT NULL,
119 PRIMARY KEY (Objekt_ID, UID_n),
120 FOREIGN KEY (Objekt_ID) REFERENCES Objekt(Objekt_ID),
121 FOREIGN KEY (UID_n) REFERENCES Nadzor(UID)
122);
123
124CREATE TABLE Pobaruva (
125 Nabavka_ID INT,
126 UID_p INT NOT NULL,
127 PRIMARY KEY (Nabavka_ID, UID_p),
128 FOREIGN KEY (Nabavka_ID) REFERENCES Nabavka(Nabavka_ID),
129 FOREIGN KEY (UID_p) REFERENCES Podizveduvac(UID)
130);
131
132CREATE TABLE Odobruva (
133 Nabavka_ID INT,
134 UID_n INT NOT NULL,
135 Datum_Odobruvanje DATE,
136 PRIMARY KEY (Nabavka_ID, UID_n),
137 FOREIGN KEY (Nabavka_ID) REFERENCES Nabavka(Nabavka_ID),
138 FOREIGN KEY (UID_n) REFERENCES Nadzor(UID)
139);
140
141CREATE TABLE Nameneta_Za (
142 Nabavka_ID INT,
143 Objekt_ID INT,
144 PRIMARY KEY (Nabavka_ID, Objekt_ID),
145 FOREIGN KEY (Nabavka_ID) REFERENCES Nabavka(Nabavka_ID),
146 FOREIGN KEY (Objekt_ID) REFERENCES Objekt(Objekt_ID)
147);
148
149CREATE TABLE Ispolnuva (
150 Nabavka_ID INT,
151 Dobavuvac_Ime VARCHAR(50),
152 PRIMARY KEY (Nabavka_ID, Dobavuvac_Ime),
153 FOREIGN KEY (Nabavka_ID) REFERENCES Nabavka(Nabavka_ID),
154 FOREIGN KEY (Dobavuvac_Ime) REFERENCES Dobavuvac(Dobavuvac_Ime)
155);
156
157CREATE TABLE Oddrzuva (
158 Objekt_ID INT,
159 UID_p INT NOT NULL,
160 Od_vreme DATE,
161 Do_vreme DATE,
162 PRIMARY KEY (Objekt_ID, UID_p, Od_vreme),
163 FOREIGN KEY (Objekt_ID) REFERENCES Objekt(Objekt_ID),
164 FOREIGN KEY (UID_p) REFERENCES Podizveduvac(UID)
165);
166
167SET FOREIGN_KEY_CHECKS = 1;