· 6 years ago · Apr 30, 2019, 12:36 PM
1IF EXISTS (SELECT schema_id FROM sys.schemas WHERE [name] = 'RadNaProjektu')
2BEGIN
3IF OBJECT_ID('[RadNaProjektu].[Ima_ulogu]','U') IS NOT NULL
4 BEGIN
5 ALTER TABLE [RadNaProjektu].[Ima_ulogu] DROP CONSTRAINT FK_Ima_ulogu_uloga_u_timu;
6 ALTER TABLE [RadNaProjektu].[Ima_ulogu] DROP CONSTRAINT FK_Ima_ulogu_je_u;
7 ALTER TABLE [RadNaProjektu].[Ima_ulogu] DROP CONSTRAINT PK_Ima_ulogu_ID;
8 DROP TABLE [RadNaProjektu].[Ima_ulogu];
9 END
10IF OBJECT_ID('[RadNaProjektu].[Je_u]','U') IS NOT NULL
11 BEGIN
12 ALTER TABLE [RadNaProjektu].[Je_u] DROP CONSTRAINT FK_Je_u_Zaposlen;
13 ALTER TABLE [RadNaProjektu].[Je_u] DROP CONSTRAINT FK_Je_u_Tim;
14 ALTER TABLE [RadNaProjektu].[Je_u] DROP CONSTRAINT PK_Je_u_ID;
15 DROP TABLE [RadNaProjektu].[Je_u];
16 END
17IF OBJECT_ID('[RadNaProjektu].[Uloga_u_timu]','U') IS NOT NULL
18 BEGIN
19 ALTER TABLE [RadNaProjektu].[Uloga_u_timu] DROP CONSTRAINT FK_Uloga_u_timu_uloga;
20 ALTER TABLE [RadNaProjektu].[Uloga_u_timu] DROP CONSTRAINT FK_Uloga_u_timu_Tim;
21 ALTER TABLE [RadNaProjektu].[Uloga_u_timu] DROP CONSTRAINT PK_Uloga_u_timu_ID;
22 DROP TABLE [RadNaProjektu].[Uloga_u_timu];
23 END
24IF OBJECT_ID('[RadNaProjektu].[Tim]','U') IS NOT NULL
25 BEGIN
26 ALTER TABLE [RadNaProjektu].[Tim] DROP CONSTRAINT PK_Tim_ID_tima;
27 ALTER TABLE [RadNaProjektu].[Tim] DROP CONSTRAINT FK_Tim_Projekat;
28 DROP TABLE [RadNaProjektu].[Tim];
29 DROP SEQUENCE [RadNaProjektu].[Tim_seq];
30 END
31IF OBJECT_ID('[RadNaProjektu].[Projekat]','U') IS NOT NULL
32 BEGIN
33 ALTER TABLE [RadNaProjektu].[Projekat] DROP CONSTRAINT FK_Projekat_Narucilac_projekta;
34 ALTER TABLE [RadNaProjektu].[Projekat] DROP CONSTRAINT PK_Projekat_ID;
35 DROP TABLE [RadNaProjektu].[Projekat];
36 DROP SEQUENCE [RadNaProjektu].[Projekat_seq];
37 END
38IF OBJECT_ID('[RadNaProjektu].[Uloga]','U') IS NOT NULL
39 BEGIN
40 ALTER TABLE [RadNaProjektu].[Uloga] DROP CONSTRAINT PK_Uloge_ID_uloge;
41 DROP TABLE [RadNaProjektu].[Uloga];
42 DROP SEQUENCE [RadNaProjektu].[Uloga_seq];
43 END
44IF OBJECT_ID('[RadNaProjektu].[Narucilac_projekta]','U') IS NOT NULL
45 BEGIN
46 ALTER TABLE [RadNaProjektu].[Narucilac_projekta] DROP CONSTRAINT PK_Narucilac_projekta_ID;
47 DROP TABLE [RadNaProjektu].[Narucilac_projekta];
48 DROP SEQUENCE [RadNaProjektu].[Narucilac_projekta_seq];
49 END
50IF OBJECT_ID('[RadNaProjektu].[Radi_na]','U') IS NOT NULL
51 BEGIN
52 ALTER TABLE [RadNaProjektu].[Radi_na] DROP CONSTRAINT PK_Radno_Mesto_Zaposlen_ID;
53 DROP TABLE [RadNaProjektu].[Radi_na];
54 END
55IF OBJECT_ID('[RadNaProjektu].[Zaposlen]','U') IS NOT NULL
56 BEGIN
57 ALTER TABLE [RadNaProjektu].[Zaposlen] DROP CONSTRAINT PK_Zaposlen_MBR;
58 DROP TABLE [RadNaProjektu].[Zaposlen];
59 DROP SEQUENCE [RadNaProjektu].[Zaposlen_seq];
60 END
61IF OBJECT_ID('[RadNaProjektu].[Radno_mesto]','U') IS NOT NULL
62 BEGIN
63 ALTER TABLE [RadNaProjektu].[Radno_mesto] DROP CONSTRAINT PK_Radno_mesto_RM_ID;
64 DROP TABLE [RadNaProjektu].[Radno_mesto];
65 DROP SEQUENCE [RadNaProjektu].[Radno_mesto_seq];
66 END
67DROP SCHEMA [RadNaProjektu];
68END
69GO
70CREATE SCHEMA [RadNaProjektu];
71GO
72CREATE TABLE [RadNaProjektu].[Radno_mesto]
73(
74 [RM_ID] numeric(10) not null,
75 [NAZIV_TIPA_RM] varchar(50) not null,
76 [BR_RM] varchar(5),
77 [CENA_PO_SATU] decimal(10,2) not null,
78 CONSTRAINT PK_Radno_mesto_RM_ID PRIMARY KEY(RM_ID)
79)
80GO
81CREATE TABLE [RadNaProjektu].[Zaposlen]
82(
83 [MBR] numeric(13) not null,
84 [Z_JMBG] numeric(13) not null,
85 [Z_IME] varchar(15) not null,
86 [Z_PREZIME] varchar(30) not null,
87 [Z_DATRODJ] date not null,
88 [Z_POL] varchar(1) not null,
89 [Z_EMAIL] varchar(50),
90 [Z_BROJ] varchar(15) not null,
91 [Z_DRZV_STAL] varchar(15) not null,
92 [Z_GRAD_STAL] varchar(15) not null,
93 [Z_ADRES_STAL] varchar(15) not null,
94 [Z_DRZV_PREB] varchar(15),
95 CONSTRAINT UQ_Zaposlen_z_jmbg UNIQUE (Z_JMBG),
96 CONSTRAINT UQ_Zaposlen_z_email UNIQUE (Z_EMAIL),
97 CONSTRAINT UQ_Zaposlen_z_broj UNIQUE (Z_BROJ),
98 CONSTRAINT PK_Zaposlen_MBR PRIMARY KEY(MBR),
99 CONSTRAINT CHK_POL CHECK(Z_POL IN ('m', 'M', 'z', 'Z'))
100)
101GO
102CREATE TABLE [RadNaProjektu].[Radi_na]
103(
104 [MBR] numeric(13) not null,
105 [RM_ID] numeric(10) not null,
106 CONSTRAINT PK_Radno_Mesto_Zaposlen_ID PRIMARY KEY (MBR,RM_ID)
107)
108GO
109CREATE TABLE [RadNaProjektu].[Narucilac_projekta]
110(
111 [ID_NAR_PROJEKTA] numeric(5) not null,
112 [TIP_NAR_PROJEKTA] numeric(1)not null,
113 [JMBG_NAR_PROJEKTA] numeric(13),
114 [IME_NAR_PROJEKTA] varchar(15),
115 [PREZIME_NAR_PROJEKTA] varchar(20),
116 [PIB_NAR_PROJEKTA] numeric(10),
117 [NAZIV_NAR_PROJEKTA] varchar(30),
118 [KONTAKT_TEL_NAR_PROJEKTA] varchar(10) not null,
119 [EMAIL_NAR_PROJEKTA] varchar(30) not null,
120 CONSTRAINT PK_Narucilac_projekta_ID PRIMARY KEY (ID_NAR_PROJEKTA),
121)
122GO
123CREATE TABLE [RadNaProjektu].[Projekat]
124(
125 [ID_PROJEKTA] numeric(5) not null,
126 [PROJ_NAZIV] varchar(20)not null,
127 [PROJ_DATPOC] date,
128 [PROJ_VRETRAJ] numeric(5) not null,
129 [ID_NAR_PROJEKTA] numeric(5) not null,
130 [PROJ_DATZAV] date,
131 CONSTRAINT FK_Projekat_Narucilac_projekta FOREIGN KEY(ID_NAR_PROJEKTA) REFERENCES [RadNaProjektu].[Narucilac_projekta](ID_NAR_PROJEKTA),
132 CONSTRAINT PK_Projekat_ID PRIMARY KEY (ID_PROJEKTA)
133)
134GO
135CREATE TABLE [RadNaProjektu].[Uloga]
136(
137 [ID_ULOGE] numeric(5) not null,
138 [NAZIV_ULOGE] varchar(20) not null,
139 CONSTRAINT PK_Uloge_ID_uloge PRIMARY KEY (ID_ULOGE)
140)
141GO
142CREATE TABLE [RadNaProjektu].[Tim]
143(
144 [ID_TIMA] numeric(5) not null,
145 [NAZIV_TIMA] varchar(20) not null,
146 [ID_PROJEKTA] numeric(5) not null,
147 CONSTRAINT FK_Tim_Projekat FOREIGN KEY(ID_PROJEKTA) REFERENCES [RadNaProjektu].[Projekat](ID_PROJEKTA),
148 CONSTRAINT PK_Tim_ID_tima PRIMARY KEY (ID_TIMA)
149)
150GO
151CREATE TABLE [RadNaProjektu].[Uloga_u_timu]
152(
153 [ID_ULOGE] numeric(5) not null,
154 [ID_TIMA] numeric(5) not null,
155 [MBR] numeric(13) not null,
156 CONSTRAINT FK_Uloga_u_timu_Tim FOREIGN KEY(ID_TIMA) REFERENCES [RadNaProjektu].[Tim](ID_TIMA),
157 CONSTRAINT FK_Uloga_u_timu_uloga FOREIGN KEY(ID_ULOGE) REFERENCES [RadNaProjektu].[Uloga](ID_ULOGE),
158 CONSTRAINT PK_Uloga_u_timu_ID PRIMARY KEY (ID_ULOGE,ID_TIMA)
159)
160GO
161CREATE TABLE [RadNaProjektu].[Je_u]
162(
163 [DATUM_POC_UCESTVOVANJA_U_TIMU] date not null,
164 [DATUM_ZAV_UCESTVOVANJA_U_TIMU] date not null,
165 [ID_TIMA] numeric(5) not null,
166 [MBR] numeric(13) not null,
167 CONSTRAINT FK_Je_u_Tim FOREIGN KEY(ID_TIMA) REFERENCES [RadNaProjektu].[Tim](ID_TIMA),
168 CONSTRAINT FK_Je_u_Zaposlen FOREIGN KEY(MBR) REFERENCES [RadNaProjektu].[Zaposlen](MBR),
169 CONSTRAINT PK_Je_u_ID PRIMARY KEY (MBR,ID_TIMA)
170)
171GO
172CREATE TABLE [RadNaProjektu].[Ima_ulogu]
173(
174 [DATUM_POC_OBAVLJANJA_ULOGE] date not null,
175 [DATUM_ZAV_OBAVLJANJA_ULOGE] date not null,
176 [MBR] numeric(13) not null,
177 [ID_TIMA] numeric(5) not null,
178 [ID_ULOGE] numeric(5)not null,
179 CONSTRAINT FK_Ima_ulogu_je_u FOREIGN KEY(MBR,ID_TIMA) REFERENCES [RadNaProjektu].[Je_u](MBR,ID_TIMA),
180 CONSTRAINT FK_Ima_ulogu_uloga_u_timu FOREIGN KEY(ID_ULOGE,ID_TIMA) REFERENCES [RadNaProjektu].[Uloga_u_timu](ID_ULOGE,ID_TIMA),
181 CONSTRAINT PK_Ima_ulogu_ID PRIMARY KEY (MBR,ID_TIMA,ID_ULOGE)
182)
183GO
184
185GO
186CREATE SEQUENCE [RadNaProjektu].[Tim_seq] AS INT
187 START WITH 1
188 increment BY 1;
189GO
190CREATE SEQUENCE [RadNaProjektu].[Uloga_seq] AS INT
191 START WITH 1
192 increment BY 1;
193GO
194CREATE SEQUENCE [RadNaProjektu].[Projekat_seq] AS INT
195 START WITH 1
196 increment BY 1;
197GO
198CREATE SEQUENCE [RadNaProjektu].[Narucilac_projekta_seq] AS INT
199 START WITH 1
200 increment BY 1;
201GO
202CREATE SEQUENCE [RadNaProjektu].[Zaposlen_seq] AS INT
203 START WITH 1
204 increment BY 1;
205GO
206CREATE SEQUENCE [RadNaProjektu].[Radno_mesto_seq] AS INT
207 START WITH 1
208 increment BY 1;
209GO
210
211GO
212ALTER TABLE [RadNaProjektu].[Radno_mesto] ADD CONSTRAINT seq_Radno_mesto DEFAULT (NEXT VALUE FOR [RadNaProjektu].[Radno_mesto_seq]) FOR RM_ID;
213ALTER TABLE [RadNaProjektu].[Projekat] ADD CONSTRAINT seq_Projekat DEFAULT (NEXT VALUE FOR [RadNaProjektu].[Projekat_seq]) FOR ID_PROJEKTA;
214ALTER TABLE [RadNaProjektu].[Zaposlen] ADD CONSTRAINT seq_Zaposlen DEFAULT (NEXT VALUE FOR [RadNaProjektu].[Zaposlen_seq]) FOR MBR;
215ALTER TABLE [RadNaProjektu].[Narucilac_projekta] ADD CONSTRAINT seq_Narucilac_projekta DEFAULT (NEXT VALUE FOR [RadNaProjektu].[Narucilac_projekta_seq]) FOR ID_NAR_PROJEKTA;
216ALTER TABLE [RadNaProjektu].[Uloga] ADD CONSTRAINT seq_Uloga DEFAULT (NEXT VALUE FOR [RadNaProjektu].[Uloga_seq]) FOR ID_ULOGE;
217ALTER TABLE [RadNaProjektu].[Tim] ADD CONSTRAINT seq_Tim DEFAULT (NEXT VALUE FOR [RadNaProjektu].[Tim_seq]) FOR ID_TIMA;