	--  Create Table: Korisnik
	CREATE TABLE Korisnik (
	                          korisnickoIme VARCHAR(20) NOT NULL UNIQUE,
	                          ime VARCHAR(20) NOT NULL,
	                          prezime VARCHAR(20) NOT NULL,
	                          emailAdresa VARCHAR(50) NOT NULL UNIQUE,
	                          datumRagjanje DATE NOT NULL,
	                          pol VARCHAR(10) NOT NULL,
	                          telefonskiBroj TEXT,
	                          lozinka VARCHAR(255) NOT NULL,
	                          broj INTEGER,
	                          grad VARCHAR(20),
	                          ulica VARCHAR(20),
	                          PRIMARY KEY (korisnickoIme)
	);
	
	-- Create Table: Donor
	CREATE TABLE Donor (
	                       korisnickoIme VARCHAR(20) NOT NULL,
	                       PRIMARY KEY (korisnickoIme),
	                       FOREIGN KEY (korisnickoIme) REFERENCES Korisnik(korisnickoIme) ON DELETE CASCADE
	);
	
	-- Create Table: MedicinskoLice
	CREATE TABLE MedicinskoLice (
	                                korisnickoIme VARCHAR(20) NOT NULL,
	                                PRIMARY KEY (korisnickoIme),
	                                FOREIGN KEY (korisnickoIme) REFERENCES Korisnik(korisnickoIme) ON DELETE CASCADE
	);
	
	-- Create Table: Volonter
	CREATE TABLE Volonter (
	                          korisnickoIme VARCHAR(20) NOT NULL,
	                          PRIMARY KEY (korisnickoIme),
	                          FOREIGN KEY (korisnickoIme) REFERENCES Korisnik(korisnickoIme) ON DELETE CASCADE
	);
	
	-- Create Table: JavnaUstanova
	CREATE TABLE JavnaUstanova (
	                               korisnickoIme VARCHAR(20) NOT NULL,
	                               PRIMARY KEY (korisnickoIme),
	                               FOREIGN KEY (korisnickoIme) REFERENCES Korisnik(korisnickoIme) ON DELETE CASCADE
	);
	
	-- Create Table: DonacijaTip
	CREATE TABLE DonacijaTip (
	                             id INT AUTO_INCREMENT PRIMARY KEY
	);
	
	-- Create Table: TipDonacijaSredstva
	CREATE TABLE TipDonacijaSredstva (
	                                     id INT AUTO_INCREMENT PRIMARY KEY,
	                                     sredstva VARCHAR(50) NOT NULL,
	                                     donacijaTipId INT,
	                                     FOREIGN KEY (donacijaTipId) REFERENCES DonacijaTip(id) ON DELETE CASCADE
	);
	
	-- Create Table: Administrator
	CREATE TABLE Administrator (
	                               korisnickoIme VARCHAR(20) NOT NULL UNIQUE,
	                               lozinka VARCHAR(255) NOT NULL,
	                               PRIMARY KEY (korisnickoIme)
	);
	
	-- Create Table: BaranjeZaKreiranjeAkcija
	CREATE TABLE BaranjeZaKreiranjeAkcija (
	                                          id INT AUTO_INCREMENT PRIMARY KEY,
	                                          opis VARCHAR(50),
	                                          imeAkcija VARCHAR(20),
	                                          datumOdobruvanje DATE,
	                                          datumKreiranje DATE
	);
	
	-- Create Table: Akcija
	CREATE TABLE Akcija (
	                        id INT AUTO_INCREMENT PRIMARY KEY,
	                        opis VARCHAR(50),
	                        imeAkcija VARCHAR(20),
	                        datumNaTraenjeOd DATE,
	                        datumNaTraenjeDo DATE
	);
	
	
	-- Create Table: FizickaAkcija
	CREATE TABLE FizickaAkcija (
	                               id INT AUTO_INCREMENT PRIMARY KEY,
	                               lokacija VARCHAR(50),
	                               FOREIGN KEY (id) REFERENCES Akcija(id) ON DELETE CASCADE
	);
	
	
	-- Create Table: OnlineAkcija
	CREATE TABLE OnlineAkcija (
	                              id INT AUTO_INCREMENT PRIMARY KEY,
	                              potrebnaSuma BIGINT,
	                              FOREIGN KEY (id) REFERENCES Akcija(id) ON DELETE CASCADE
	);
	
	
	-- Create Table: onlineAkcijaTransakciskiSmetki
	CREATE TABLE onlineAkcijaTransakciskiSmetki (
	                                                id INT AUTO_INCREMENT PRIMARY KEY,
	                                                imeNalogoprimac VARCHAR(20),
	                                                banka VARCHAR(20),
	                                                onlineAkcijaId INT,
	                                                FOREIGN KEY (onlineAkcijaId) REFERENCES onlineAkcija(id) ON DELETE CASCADE
	);
	
	
	-- Create Table: Sponzori
	CREATE TABLE Sponzori (
	                          Ime VARCHAR(20) NOT NULL PRIMARY KEY,
	                          telBroj BIGINT,
	                          email VARCHAR(20),
	                          broj INTEGER,
	                          grad VARCHAR(20),
	                          ulica VARCHAR(20)
	);

	-- Create Table: baranjeFizickoLice
	CREATE TABLE baranjeFizickoLice (
	                                    id INT AUTO_INCREMENT,
	                                    opis VARCHAR(20),
	                                    imeAkcija VARCHAR(20),
	                                    datumOdobruvanje DATE,
	                                    datumKreiranje DATE,
	                                    korisnickoIme VARCHAR(20) NOT NULL,
	                                    PRIMARY KEY (id, korisnickoIme),
	                                    FOREIGN KEY (korisnickoIme) REFERENCES Korisnik(korisnickoIme) ON DELETE CASCADE
	);
	
	-- Create Table: Odobruvanje
	CREATE TABLE Odobruvanje (
	                             id INT AUTO_INCREMENT,
	                             opis VARCHAR(20),
	                             imeAkcija VARCHAR(20),
	                             datumOdobruvanje DATE,
	                             datumKreiranje DATE,
	                             korisnickoIme VARCHAR(20) NOT NULL,
	                             PRIMARY KEY(id),
	                             FOREIGN KEY (korisnickoIme) REFERENCES Korisnik(korisnickoIme) ON DELETE CASCADE
	);
	
	-- Create Table: IsprakjanjeBaranje
	CREATE TABLE IsprakjanjeBaranje (
	                                    id INT AUTO_INCREMENT PRIMARY KEY,
	                                    opis VARCHAR(50),
	                                    imeAkcija VARCHAR(20),
	                                    datumNaTraenjeOd DATE,
	                                    datumNaTraenjeDo DATE,
	                                    baranjeZaKreiranjeAkcijaId INT NOT NULL,
	                                    FOREIGN KEY (baranjeZaKreiranjeAkcijaId) REFERENCES BaranjeZaKreiranjeAkcija(id) ON DELETE CASCADE
	);
	
	CREATE TABLE Raboti (
	                        akcijaId INT NOT NULL,
	                        korisnickoIme VARCHAR(20) NOT NULL,
	                        PRIMARY KEY (akcijaId, korisnickoIme),
	                        FOREIGN KEY (akcijaId) REFERENCES Akcija(id) ON DELETE CASCADE,
	                        FOREIGN KEY (korisnickoIme) REFERENCES Volonter(korisnickoIme) ON DELETE CASCADE
	);
	
	
	-- Create Table: Volontira
	CREATE TABLE Volontira (
	                           id INT NOT NULL,
	                           korisnickoIme VARCHAR(20) NOT NULL,
	                           PRIMARY KEY (id, korisnickoIme),
	                           FOREIGN KEY (id) REFERENCES Akcija(id) ON DELETE CASCADE,
	                           FOREIGN KEY (korisnickoIme) REFERENCES Volonter(korisnickoIme) ON DELETE CASCADE
	);
	
	-- Create Table: Sponzorira
	CREATE TABLE Sponzorira (
	                            id INT NOT NULL,
	                            Ime VARCHAR(20) NOT NULL,
	                            PRIMARY KEY (id, Ime),
	                            FOREIGN KEY (id) REFERENCES Akcija(id) ON DELETE CASCADE,
	                            FOREIGN KEY (Ime) REFERENCES Sponzori(Ime) ON DELETE CASCADE
	);
	
	-- Create Table: Donacija
	CREATE TABLE Donacija (
	                          id INT NOT NULL,
	                          akcijaId INT NOT NULL,
	                          korisnickoIme VARCHAR(20) NOT NULL,
	                          PRIMARY KEY (id, akcijaId, korisnickoIme),
							  FOREIGN KEY (id) REFERENCES DonacijaTip(id) ON DELETE CASCADE,
	                          FOREIGN KEY (akcijaId) REFERENCES Akcija(id) ON DELETE CASCADE,
	                          FOREIGN KEY (korisnickoIme) REFERENCES Korisnik(korisnickoIme) ON DELETE CASCADE
	);