Advertisement
dzocesrce

[BNP] Covid-19 Vaccination

Dec 3rd, 2024 (edited)
443
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 3.08 KB | None | 0 0
  1. Релационата база е дефинирана преку следните релации:
  2. Lice(id, mbr, ime, prezime, data_r, vozrast, pol)
  3. Med_lice(id*, staz)
  4. Test(id*, shifra, tip, datum, rezultat, laboratorija)
  5. Vakcina(shifra, ime, proizvoditel)
  6. Vakcinacija(id_lice*, id_med_lice*, shifra_vakcina*)
  7. Vakcinacija_datum(id_lice*, id_med_lice*, shifra_vakcina*, datum)
  8.  
  9. Да се напишат соодветните DDL изрази за ентитетните множества, вклучително и мултивредносни атрибути: „ТЕСТ“, „ВАКЦИНА“ и „ВАКЦИНАЦИЈА“, како и за евентуалните релации кои произлегуваат од истите, доколку треба да бидат исполнети следните барања:
  10.  
  11. 1) Полето за чување на датумот во тестовите потребно е да биде максимум од 10 карактери
  12.  
  13. 2) Во случај информацијата за производителот на вакцина недостига треба да се пополни предефинирана вредност ‘Pfizer’
  14.  
  15. 3) Датумот на вакцинација мора да биде од 2024 година
  16.  
  17. 4) Типот на тестовите може да биде ‘pcr’ или ‘seroloshki’
  18.  
  19. 5) При промена на информациите за лице од базата на податоци, промените треба да бидат проследени и до табелата за вакцинација
  20.  
  21.  
  22. CREATE TABLE Test(
  23.     id INT,
  24.     shifra INT,
  25.     tip TEXT,
  26.     datum VARCHAR(10),
  27.     rezultat TEXT,
  28.     laboratorija TEXT,
  29.     CONSTRAINT TEST_TYPE CHECK (tip IN ("pcr", "seroloshki"))
  30.     PRIMARY KEY (id,shifra),
  31.     FOREIGN KEY (id) REFERENCES Lice (id) ON DELETE SET DEFAULT ON UPDATE CASCADE
  32. );
  33. CREATE TABLE Vakcina(
  34.     shifra INT PRIMARY KEY,
  35.     ime TEXT,
  36.     proizvoditel TEXT DEFAULT "Pfizer"
  37. );
  38. CREATE TABLE Vakcinacija(
  39.     id_lice INT,
  40.     id_med_lice INT,
  41.     shifra_vakcina INT,
  42.     PRIMARY KEY (id_lice,id_med_lice,shifra_vakcina),
  43.     FOREIGN KEY (id_lice) REFERENCES Lice (id) ON DELETE CASCADE ON UPDATE CASCADE,
  44.     FOREIGN KEY (id_med_lice) REFERENCES Med_lice (id) ON DELETE SET DEFAULT ON UPDATE CASCADE,
  45.     FOREIGN KEY (shifra_vakcina) REFERENCES Vakcina (shifra) ON DELETE SET DEFAULT ON UPDATE CASCADE
  46. );
  47. CREATE TABLE Vakcinacija_datum(
  48.     id_lice INT,
  49.     id_med_lice INT,
  50.     shifra_vakcina INT,
  51.     datum VARCHAR(10),
  52.     CONSTRAINT DATUM_VAKCINACIJA CHECK (datum>"2023-12-31"),
  53.     PRIMARY KEY (id_lice,id_med_lice,shifra_vakcina,datum),
  54.     --FOREIGN KEY (id_lice) REFERENCES Vakcinacija (id_lice) ON DELETE SET DEFAULT ON UPDATE CASCADE,
  55.     --FOREIGN KEY (id_med_lice) REFERENCES Vakcinacija (id_med_lice) ON DELETE SET DEFAULT ON UPDATE CASCADE,
  56.     --FOREIGN KEY (shifra_vakcina) REFERENCES Vakcinacija (shifra_vakcina) ON DELETE SET DEFAULT ON UPDATE CASCADE
  57.     FOREIGN KEY (id_lice,id_med_lice,shifra_vakcina) REFERENCES Vakcinacija (id_lice,id_med_lice,shifra_vakcina) ON DELETE SET DEFAULT ON UPDATE CASCADE
  58. );
  59.  
  60.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement