RelationModel: kreiranjeV2.sql

File kreiranjeV2.sql, 8.4 KB (added by 192063, 8 weeks ago)

Version 2 for the kreiranje SQL syntax

Line 
1 -- Create Table: Korisnik
2 CREATE TABLE Korisnik (
3 korisnickoIme VARCHAR(20) NOT NULL UNIQUE,
4 ime VARCHAR(20) NOT NULL,
5 prezime VARCHAR(20) NOT NULL,
6 emailAdresa VARCHAR(50) NOT NULL UNIQUE,
7 datumRagjanje DATE NOT NULL,
8 pol VARCHAR(10) NOT NULL,
9 telefonskiBroj TEXT,
10 lozinka VARCHAR(255) NOT NULL,
11 broj INTEGER,
12 grad VARCHAR(20),
13 ulica VARCHAR(20),
14 PRIMARY KEY (korisnickoIme)
15 );
16
17 -- Create Table: Donor
18 CREATE TABLE Donor (
19 korisnickoIme VARCHAR(20) NOT NULL,
20 PRIMARY KEY (korisnickoIme),
21 FOREIGN KEY (korisnickoIme) REFERENCES Korisnik(korisnickoIme) ON DELETE CASCADE
22 );
23
24 -- Create Table: MedicinskoLice
25 CREATE TABLE MedicinskoLice (
26 korisnickoIme VARCHAR(20) NOT NULL,
27 PRIMARY KEY (korisnickoIme),
28 FOREIGN KEY (korisnickoIme) REFERENCES Korisnik(korisnickoIme) ON DELETE CASCADE
29 );
30
31 -- Create Table: Volonter
32 CREATE TABLE Volonter (
33 korisnickoIme VARCHAR(20) NOT NULL,
34 PRIMARY KEY (korisnickoIme),
35 FOREIGN KEY (korisnickoIme) REFERENCES Korisnik(korisnickoIme) ON DELETE CASCADE
36 );
37
38 -- Create Table: JavnaUstanova
39 CREATE TABLE JavnaUstanova (
40 korisnickoIme VARCHAR(20) NOT NULL,
41 PRIMARY KEY (korisnickoIme),
42 FOREIGN KEY (korisnickoIme) REFERENCES Korisnik(korisnickoIme) ON DELETE CASCADE
43 );
44
45 -- Create Table: DonacijaTip
46 CREATE TABLE DonacijaTip (
47 id INT AUTO_INCREMENT PRIMARY KEY
48 );
49
50 -- Create Table: TipDonacijaSredstva
51 CREATE TABLE TipDonacijaSredstva (
52 id INT AUTO_INCREMENT PRIMARY KEY,
53 sredstva VARCHAR(50) NOT NULL,
54 donacijaTipId INT,
55 FOREIGN KEY (donacijaTipId) REFERENCES DonacijaTip(id) ON DELETE CASCADE
56 );
57
58 -- Create Table: Administrator
59 CREATE TABLE Administrator (
60 korisnickoIme VARCHAR(20) NOT NULL UNIQUE,
61 lozinka VARCHAR(255) NOT NULL,
62 PRIMARY KEY (korisnickoIme)
63 );
64
65 -- Create Table: BaranjeZaKreiranjeAkcija
66 CREATE TABLE BaranjeZaKreiranjeAkcija (
67 id INT AUTO_INCREMENT PRIMARY KEY,
68 opis VARCHAR(50),
69 imeAkcija VARCHAR(20),
70 datumOdobruvanje DATE,
71 datumKreiranje DATE
72 );
73
74 -- Create Table: Akcija
75 CREATE TABLE Akcija (
76 id INT AUTO_INCREMENT PRIMARY KEY,
77 opis VARCHAR(50),
78 imeAkcija VARCHAR(20),
79 datumNaTraenjeOd DATE,
80 datumNaTraenjeDo DATE
81 );
82
83
84 -- Create Table: FizickaAkcija
85 CREATE TABLE FizickaAkcija (
86 id INT AUTO_INCREMENT PRIMARY KEY,
87 lokacija VARCHAR(50),
88 FOREIGN KEY (id) REFERENCES Akcija(id) ON DELETE CASCADE
89 );
90
91
92 -- Create Table: OnlineAkcija
93 CREATE TABLE OnlineAkcija (
94 id INT AUTO_INCREMENT PRIMARY KEY,
95 potrebnaSuma BIGINT,
96 FOREIGN KEY (id) REFERENCES Akcija(id) ON DELETE CASCADE
97 );
98
99
100 -- Create Table: onlineAkcijaTransakciskiSmetki
101 CREATE TABLE onlineAkcijaTransakciskiSmetki (
102 id INT AUTO_INCREMENT PRIMARY KEY,
103 imeNalogoprimac VARCHAR(20),
104 banka VARCHAR(20),
105 onlineAkcijaId INT,
106 FOREIGN KEY (onlineAkcijaId) REFERENCES onlineAkcija(id) ON DELETE CASCADE
107 );
108
109
110 -- Create Table: Sponzori
111 CREATE TABLE Sponzori (
112 Ime VARCHAR(20) NOT NULL PRIMARY KEY,
113 telBroj BIGINT,
114 email VARCHAR(20),
115 broj INTEGER,
116 grad VARCHAR(20),
117 ulica VARCHAR(20)
118 );
119
120 -- Create Table: baranjeFizickoLice
121 CREATE TABLE baranjeFizickoLice (
122 id INT AUTO_INCREMENT,
123 opis VARCHAR(20),
124 imeAkcija VARCHAR(20),
125 datumOdobruvanje DATE,
126 datumKreiranje DATE,
127 korisnickoIme VARCHAR(20) NOT NULL,
128 PRIMARY KEY (id, korisnickoIme),
129 FOREIGN KEY (korisnickoIme) REFERENCES Korisnik(korisnickoIme) ON DELETE CASCADE
130 );
131
132 -- Create Table: Odobruvanje
133 CREATE TABLE Odobruvanje (
134 id INT AUTO_INCREMENT,
135 opis VARCHAR(20),
136 imeAkcija VARCHAR(20),
137 datumOdobruvanje DATE,
138 datumKreiranje DATE,
139 korisnickoIme VARCHAR(20) NOT NULL,
140 PRIMARY KEY(id),
141 FOREIGN KEY (korisnickoIme) REFERENCES Korisnik(korisnickoIme) ON DELETE CASCADE
142 );
143
144 -- Create Table: IsprakjanjeBaranje
145 CREATE TABLE IsprakjanjeBaranje (
146 id INT AUTO_INCREMENT PRIMARY KEY,
147 opis VARCHAR(50),
148 imeAkcija VARCHAR(20),
149 datumNaTraenjeOd DATE,
150 datumNaTraenjeDo DATE,
151 baranjeZaKreiranjeAkcijaId INT NOT NULL,
152 FOREIGN KEY (baranjeZaKreiranjeAkcijaId) REFERENCES BaranjeZaKreiranjeAkcija(id) ON DELETE CASCADE
153 );
154
155 CREATE TABLE Raboti (
156 akcijaId INT NOT NULL,
157 korisnickoIme VARCHAR(20) NOT NULL,
158 PRIMARY KEY (akcijaId, korisnickoIme),
159 FOREIGN KEY (akcijaId) REFERENCES Akcija(id) ON DELETE CASCADE,
160 FOREIGN KEY (korisnickoIme) REFERENCES Volonter(korisnickoIme) ON DELETE CASCADE
161 );
162
163
164 -- Create Table: Volontira
165 CREATE TABLE Volontira (
166 id INT NOT NULL,
167 korisnickoIme VARCHAR(20) NOT NULL,
168 PRIMARY KEY (id, korisnickoIme),
169 FOREIGN KEY (id) REFERENCES Akcija(id) ON DELETE CASCADE,
170 FOREIGN KEY (korisnickoIme) REFERENCES Volonter(korisnickoIme) ON DELETE CASCADE
171 );
172
173 -- Create Table: Sponzorira
174 CREATE TABLE Sponzorira (
175 id INT NOT NULL,
176 Ime VARCHAR(20) NOT NULL,
177 PRIMARY KEY (id, Ime),
178 FOREIGN KEY (id) REFERENCES Akcija(id) ON DELETE CASCADE,
179 FOREIGN KEY (Ime) REFERENCES Sponzori(Ime) ON DELETE CASCADE
180 );
181
182 -- Create Table: Donacija
183 CREATE TABLE Donacija (
184 id INT NOT NULL,
185 akcijaId INT NOT NULL,
186 korisnickoIme VARCHAR(20) NOT NULL,
187 PRIMARY KEY (id, akcijaId, korisnickoIme),
188 FOREIGN KEY (id) REFERENCES DonacijaTip(id) ON DELETE CASCADE,
189 FOREIGN KEY (akcijaId) REFERENCES Akcija(id) ON DELETE CASCADE,
190 FOREIGN KEY (korisnickoIme) REFERENCES Korisnik(korisnickoIme) ON DELETE CASCADE
191 );