Changes between Version 4 and Version 5 of ddlScript


Ignore:
Timestamp:
01/10/25 03:26:07 (5 days ago)
Author:
223270
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ddlScript

    v4 v5  
    11{{{
    2 DROP SCHEMA IF EXISTS ddl_script_travel_sage CASCADE;
    3 CREATE SCHEMA IF NOT EXISTS ddl_script_travel_sage;
    4 SET SEARCH_PATH TO ddl_script_travel_sage;
    5 
    62DROP TABLE IF EXISTS DESTINACII CASCADE;
    73DROP TABLE IF EXISTS KORISNICI CASCADE;
     
    1713DROP TABLE IF EXISTS TAGOVI CASCADE;
    1814
     15CREATE TABLE TAGOVI (
     16    idTag INT AUTO_INCREMENT PRIMARY KEY,
     17    tagOznaka VARCHAR(255) NOT NULL
     18);
     19
    1920CREATE TABLE DESTINACII (
    20     idDest SERIAL PRIMARY KEY,
     21    idDest INT AUTO_INCREMENT PRIMARY KEY,
    2122    imeLokacija VARCHAR(255) NOT NULL,
    2223    opisLokacija VARCHAR(255),
     
    2425    preporachanaSezona VARCHAR(255) NOT NULL,
    2526    prosechnaTemp DECIMAL(5, 2),
    26     -- geoLokacija GEOGRAPHY(Point, 4326)
    27     -- KOORDINATI
     27    -- geoLokacija GEOGRAPHY(Point, 4326)  KOORDINATI
    2828    lat DECIMAL(9, 6),   
    2929        lon DECIMAL(9, 6),
     
    3232    ime VARCHAR(255) NOT NULL,
    3333    opis VARCHAR(255) NOT NULL,
    34     idTag INT
    35         -- CONSTRAINT fk_tag_dest FOREIGN KEY (idTag) REFERENCES TAGOVI(idTag)
     34    idTag INT,
     35        CONSTRAINT fk_tag_dest FOREIGN KEY (idTag) REFERENCES TAGOVI(idTag)
     36);
     37
     38CREATE TABLE METEROLOSHKASOSTOJBA (
     39    idMeteo INT AUTO_INCREMENT PRIMARY KEY,
     40    momentTemp DECIMAL(5, 2),
     41    sostojbaVreme VARCHAR(255) NOT NULL,
     42    predupreduvanja VARCHAR(255) NOT NULL,
     43    vlazhnost DECIMAL(5, 2),
     44    veter DECIMAL(5, 2),
     45    mesec INT,
     46    idDest INT,
     47    CONSTRAINT fk_dest_meteo FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest)
     48);
     49
     50CREATE TABLE AKTIVNOSTI (
     51    idAktivnost INT AUTO_INCREMENT PRIMARY KEY,
     52    imeAktivnost VARCHAR(255) NOT NULL,
     53    informacii VARCHAR(255),
     54    kategorija VARCHAR(255) NOT NULL,
     55    iznos INT,
     56    idDest INT,
     57    CONSTRAINT fk_dest_aktivnost FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest)
    3658);
    3759
    3860CREATE TABLE KORISNICI (
    39     idKorisnik SERIAL PRIMARY KEY,
     61    idKorisnik INT AUTO_INCREMENT PRIMARY KEY,
    4062    ime VARCHAR(255) NOT NULL,
    4163    prezime VARCHAR(255) NOT NULL,
     
    4365    telBr VARCHAR(255) NOT NULL,
    4466    datumRagjanje DATE,
    45     idDest INT
    46     -- CONSTRAINT fk_dest_korisnik FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest)
     67    idDest INT,
     68    CONSTRAINT fk_dest_korisnik FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest)
    4769);
    4870
    4971CREATE TABLE STANDARD (
    50     idKorisnik SERIAL PRIMARY KEY,
     72    idKorisnik INT,
    5173    ime VARCHAR(255) NOT NULL,
    5274    prezime VARCHAR(255) NOT NULL,
    5375    ePoshta VARCHAR(255) NOT NULL UNIQUE,
    5476    telBr VARCHAR(255) NOT NULL,
    55     datumRagjanje DATE
    56     -- CONSTRAINT fk_korisnik_standard FOREIGN KEY (idKorisnik) REFERENCES KORISNICI(idKorisnik)
     77    datumRagjanje DATE,
     78    CONSTRAINT fk_korisnik_standard FOREIGN KEY (idKorisnik) REFERENCES KORISNICI(idKorisnik)
    5779);
    5880
    5981CREATE TABLE PREMIUM (
    60     idKorisnik SERIAL PRIMARY KEY,
     82    idKorisnik INT,
    6183    ime VARCHAR(255) NOT NULL,
    6284    prezime VARCHAR(255) NOT NULL,
     
    6587    datumRagjanje DATE,
    6688    datumKreiranje DATE,
    67     popust DECIMAL(5, 2)
    68     -- CONSTRAINT fk_korisnik_premium FOREIGN KEY (idKorisnik) REFERENCES KORISNICI(idKorisnik)
     89    popust DECIMAL(5, 2),
     90    CONSTRAINT fk_korisnik_premium FOREIGN KEY (idKorisnik) REFERENCES KORISNICI(idKorisnik)
     91);
     92
     93CREATE TABLE REZERVACII (
     94    idRezervacija INT AUTO_INCREMENT PRIMARY KEY,
     95    vremenskaTochka DATE NOT NULL,
     96    vkupnaCena INT NOT NULL,
     97    idAktivnost INT,
     98    idKorisnik INT,
     99    idMeteo INT,
     100    CONSTRAINT fk_aktivnost_rezervacija FOREIGN KEY (idAktivnost) REFERENCES AKTIVNOSTI(idAktivnost),
     101    CONSTRAINT fk_korisnik_rezervacija FOREIGN KEY (idKorisnik) REFERENCES KORISNICI(idKorisnik),
     102    CONSTRAINT fk_meteo_rezervacija FOREIGN KEY (idMeteo) REFERENCES METEROLOSHKASOSTOJBA(idMeteo)
    69103);
    70104
    71105CREATE TABLE RECENZII (
    72     idRecenzija SERIAL PRIMARY KEY,
     106    idRecenzija INT AUTO_INCREMENT PRIMARY KEY,
    73107    korisnichkoIme VARCHAR(255) NOT NULL,
    74108    kvalitet INT NOT NULL,
     
    78112    idDest INT,
    79113    idKorisnik INT,
    80     idRezervacija INT
    81     -- CONSTRAINT fk_dest_recenzija FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest),
    82     -- CONSTRAINT fk_korisnik_recenzija FOREIGN KEY (idKorisnik) REFERENCES KORISNICI(idKorisnik),
    83     -- CONSTRAINT fk_rezervacija_recenzija FOREIGN KEY (idRezervacija) REFERENCES REZERVACII(idRezervacija)
    84 );
    85 
    86 CREATE TABLE METEROLOSHKASOSTOJBA (
    87     idMeteo SERIAL PRIMARY KEY,
    88     momentTemp DECIMAL(5, 2),
    89     sostojbaVreme VARCHAR(255) NOT NULL,
    90     predupreduvanja VARCHAR(255) NOT NULL,
    91     vlazhnost DECIMAL(5, 2),
    92     veter DECIMAL(5, 2),
    93     mesec INT,
    94     idDest INT
    95     -- CONSTRAINT fk_dest_meteo FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest)
     114    idRezervacija INT,
     115    CONSTRAINT fk_dest_recenzija FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest),
     116    CONSTRAINT fk_korisnik_recenzija FOREIGN KEY (idKorisnik) REFERENCES KORISNICI(idKorisnik),
     117    CONSTRAINT fk_rezervacija_recenzija FOREIGN KEY (idRezervacija) REFERENCES REZERVACII(idRezervacija)
    96118);
    97119
    98120CREATE TABLE PAKETI (
    99     idPaket SERIAL PRIMARY KEY,
     121    idPaket INT AUTO_INCREMENT PRIMARY KEY,
    100122    imePaket VARCHAR(255) NOT NULL,
    101123    cena INT NOT NULL,
    102     pochetok TIMESTAMP NOT NULL,
    103     kraj TIMESTAMP NOT NULL,
     124    pochetok DATETIME NOT NULL,
     125    kraj DATETIME NOT NULL,
    104126    idDest INT,
    105127    idAktivnost INT,
    106     idRezervacija INT
    107     -- CONSTRAINT fk_dest_paket FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest),
    108     -- CONSTRAINT fk_aktivnost_paket FOREIGN KEY (idAktivnost) REFERENCES AKTIVNOSTI(idAktivnost),
    109     -- CONSTRAINT fk_rezervacija_paket FOREIGN KEY (idRezervacija) REFERENCES REZERVACII(idRezervacija)
    110 );
    111 
    112 CREATE TABLE AKTIVNOSTI (
    113     idAktivnost SERIAL PRIMARY KEY,
    114     imeAktivnost VARCHAR(255) NOT NULL,
    115     informacii VARCHAR(255),
    116     kategorija VARCHAR(255) NOT NULL,
    117     iznos INT,
    118     idDest INT
    119     -- CONSTRAINT fk_dest_aktivnost FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest)
    120 );
    121 
    122 CREATE TABLE REZERVACII (
    123     idRezervacija SERIAL PRIMARY KEY,
    124     vremenskaTochka DATE NOT NULL,
    125     vkupnaCena INT NOT NULL,
    126     idAktivnost INT,
    127     idKorisnik INT,
    128     idMeteo INT
    129     -- CONSTRAINT fk_aktivnost_rezervacija FOREIGN KEY (idAktivnost) REFERENCES AKTIVNOSTI(idAktivnost),
    130     -- CONSTRAINT fk_korisnik_rezervacija FOREIGN KEY (idKorisnik) REFERENCES KORISNICI(idKorisnik),
    131     -- CONSTRAINT fk_meteo_rezervacija FOREIGN KEY (idMeteo) REFERENCES METEROLOSHKASOSTOJBA(idMeteo)
     128    idRezervacija INT,
     129    CONSTRAINT fk_dest_paket FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest),
     130    CONSTRAINT fk_aktivnost_paket FOREIGN KEY (idAktivnost) REFERENCES AKTIVNOSTI(idAktivnost),
     131    CONSTRAINT fk_rezervacija_paket FOREIGN KEY (idRezervacija) REFERENCES REZERVACII(idRezervacija)
    132132);
    133133
    134134CREATE TABLE PREFERENCI (
    135     idPreferenca SERIAL PRIMARY KEY,
     135    idPreferenca INT AUTO_INCREMENT PRIMARY KEY,
    136136    tipPreferenca VARCHAR(255) NOT NULL,
    137137    prioritet INT,
    138     idKorisnik INT
    139     -- CONSTRAINT fk_korisnik_preferenca FOREIGN KEY (idKorisnik) REFERENCES KORISNICI(idKorisnik)
     138    idKorisnik INT,
     139    CONSTRAINT fk_korisnik_preferenca FOREIGN KEY (idKorisnik) REFERENCES KORISNICI(idKorisnik)
    140140);
    141141
    142142CREATE TABLE NASTANI (
    143     idNastan SERIAL PRIMARY KEY,
     143    idNastan INT AUTO_INCREMENT PRIMARY KEY,
    144144    naziv VARCHAR(255) NOT NULL,
    145145    vidovi VARCHAR(255) NOT NULL,
     
    147147    kraenDatum DATE,
    148148    detali VARCHAR(255),
    149     idDest INT
    150     -- CONSTRAINT fk_dest_nastan FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest)
    151 );
    152 
    153 
    154 CREATE TABLE TAGOVI (
    155     idTag SERIAL PRIMARY KEY,
    156     tagOznaka VARCHAR(255) NOT NULL,
    157     idDest INT
    158     -- CONSTRAINT fk_dest_tag FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest)
     149    idDest INT,
     150    CONSTRAINT fk_dest_nastan FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest)
    159151);
    160152
    161153ALTER TABLE DESTINACII ADD FOREIGN KEY (idTag) REFERENCES TAGOVI(idTag);
    162 
    163 ALTER TABLE KORISNICI ADD FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest);
    164 
    165 ALTER TABLE STANDARD ADD FOREIGN KEY (idKorisnik) REFERENCES KORISNICI(idKorisnik);
    166 
    167 ALTER TABLE PREMIUM ADD FOREIGN KEY (idKorisnik) REFERENCES KORISNICI(idKorisnik);
    168 
    169 ALTER TABLE RECENZII ADD FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest);
    170 ALTER TABLE RECENZII ADD FOREIGN KEY (idKorisnik) REFERENCES KORISNICI(idKorisnik);
    171 ALTER TABLE RECENZII ADD FOREIGN KEY (idRezervacija) REFERENCES REZERVACII(idRezervacija);
    172 
    173 ALTER TABLE METEROLOSHKASOSTOJBA ADD FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest);
    174 
    175 ALTER TABLE PAKETI ADD FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest);
    176 ALTER TABLE PAKETI ADD FOREIGN KEY (idAktivnost) REFERENCES AKTIVNOSTI(idAktivnost);
    177 ALTER TABLE PAKETI ADD FOREIGN KEY (idRezervacija) REFERENCES REZERVACII(idRezervacija);
    178 
    179 ALTER TABLE AKTIVNOSTI ADD FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest);
    180 
    181 ALTER TABLE REZERVACII ADD FOREIGN KEY (idAktivnost) REFERENCES AKTIVNOSTI(idAktivnost);
    182 ALTER TABLE REZERVACII ADD FOREIGN KEY (idKorisnik) REFERENCES KORISNICI(idKorisnik);
    183 ALTER TABLE REZERVACII ADD FOREIGN KEY (idMeteo) REFERENCES METEROLOSHKASOSTOJBA(idMeteo);
    184 
    185 ALTER TABLE PREFERENCI ADD FOREIGN KEY (idKorisnik) REFERENCES KORISNICI(idKorisnik);
    186 
    187 ALTER TABLE NASTANI ADD FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest);
    188 
    189 ALTER TABLE TAGOVI ADD FOREIGN KEY (idDest) REFERENCES DESTINACII(idDest);
    190 
    191154}}}