RelationModel: kreiranje.sql

File kreiranje.sql, 7.9 KB (added by 202033, 11 days ago)
Line 
1-- Create Table: Korisnik
2CREATE 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
18CREATE 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
25CREATE 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
32CREATE 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
39CREATE 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
46CREATE TABLE DonacijaTip (
47 id INT AUTO_INCREMENT PRIMARY KEY
48);
49
50-- Create Table: TipDonacijaSredstva
51CREATE 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
59CREATE 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
66CREATE 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
75CREATE 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
85CREATE 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
93CREATE 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
101CREATE 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
111CREATE 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
121CREATE 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
133CREATE 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
145CREATE 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
156CREATE TABLE Raboti (
157 akcijaId INT NOT NULL,
158 korisnickoIme VARCHAR(20) NOT NULL,
159 PRIMARY KEY (akcijaId, korisnickoIme),
160 FOREIGN KEY (akcijaId) REFERENCES Akcija(id) ON DELETE CASCADE,
161 FOREIGN KEY (korisnickoIme) REFERENCES Korisnik(korisnickoIme) ON DELETE CASCADE
162);
163
164
165-- Create Table: Volontira
166CREATE TABLE Volontira (
167 id INT NOT NULL,
168 korisnickoIme VARCHAR(20) NOT NULL,
169 PRIMARY KEY (id, korisnickoIme),
170 FOREIGN KEY (id) REFERENCES Akcija(id) ON DELETE CASCADE,
171 FOREIGN KEY (korisnickoIme) REFERENCES Volonter(korisnickoIme) ON DELETE CASCADE
172);
173
174-- Create Table: Sponzorira
175CREATE TABLE Sponzorira (
176 id INT NOT NULL,
177 Ime VARCHAR(20) NOT NULL,
178 PRIMARY KEY (id, Ime),
179 FOREIGN KEY (id) REFERENCES Akcija(id) ON DELETE CASCADE,
180 FOREIGN KEY (Ime) REFERENCES Sponzori(Ime) ON DELETE CASCADE
181);
182
183-- Create Table: Donacija
184CREATE TABLE Donacija (
185 id INT NOT NULL,
186 akcijaId INT NOT NULL,
187 korisnickoIme VARCHAR(20) NOT NULL,
188 PRIMARY KEY (id, akcijaId, korisnickoIme),
189 FOREIGN KEY (akcijaId) REFERENCES Akcija(id) ON DELETE CASCADE,
190 FOREIGN KEY (korisnickoIme) REFERENCES Korisnik(korisnickoIme) ON DELETE CASCADE
191);
192