Osnove podatkovnih baz

« nazaj

Osnove podatkovnih baz - vaje 18.3.2021


ER diagrami


Naloga 1

Nariši ER diagram za podatkovno bazo traktorjev! Popravi diagram tako, da je lahko v tabeli deli le en vnos istega tipa za istega lastnika in znamko!



Naloga 2

Nariši ER diagram za sledečo univerzitetno podatkovno bazo:



Naloga 3

Nariši ER diagram za sledečo letališčno podatkovno bazo:

Ali lahko ER diagram priredimo tako, da lahko test na letalu opravi le tak tehnik, ki je specialist za njegov model?



CREATE TABLE model (
  stevilka INTEGER PRIMARY KEY,
  kapaciteta INTEGER,
  teza INTEGER
);

CREATE TABLE letalo (
  registrska TEXT PRIMARY KEY,
  model INTEGER NOT NULL REFERENCES model(stevilka)
    ON UPDATE CASCADE
    ON DELETE RESTRICT,
  UNIQUE (registrska, model)
);

CREATE TABLE test (
  stevilka INTEGER PRIMARY KEY,
  ime TEXT,
  max_ocena INTEGER
);

CREATE TABLE zaposleni (
  emso TEXT PRIMARY KEY,
  ime TEXT,
  naslov TEXT,
  telefon TEXT,
  placa INTEGER
);

CREATE TABLE kontrolor (
  emso TEXT PRIMARY KEY REFERENCES zaposleni(emso),
  pregled DATE
);

CREATE TABLE tehnik (
  emso TEXT PRIMARY KEY REFERENCES zaposleni(emso)
);

CREATE TABLE specialist (
  model INTEGER REFERENCES model(stevilka),
  tehnik TEXT REFERENCES tehnik(emso),
  PRIMARY KEY (model, tehnik)
);

CREATE TABLE kontrola (
  letalo TEXT,
  model TEXT,
  tehnik TEXT, -- ne potrebujemo reference na tabelo tehnik - glej spodaj!
  test INTEGER REFERENCES test(stevilka),
  datum DATE,
  cas INTERVAL,
  ocena INTEGER,
  PRIMARY KEY (letalo, tehnik, test, datum),
  FOREIGN KEY (letalo, model) REFERENCES letalo(registrska, model),
  FOREIGN KEY (model, tehnik) REFERENCES specialist(model, tehnik)
);

Naloga 4

Nariši ER diagram za sledečo farmacevtsko bazo podatkov:

Pretvori diagram še v SQL, pri čemer upoštevaj naslednje: