PostgreSQL andmebaasis on loodud tabelid järgmiste lausetega.

CREATE TABLE Isik (
isikukood d_eesti_isikukood,
kasutajanimi d_kasutajanimi,
e_mail d_e_mail,
eesnimi d_isiku_nime_osa,
perenimi d_isiku_nime_osa,
parool d_parool,
elukoht d_elukoht,
CONSTRAINT Isik_isikukood_on_unikaalne UNIQUE(isikukood),
CONSTRAINT Isik_e_mail_on_unikaalne UNIQUE(e_mail),
CONSTRAINT Isik_kasutajanimi_on_unikaalne UNIQUE(kasutajanimi),
CONSTRAINT Kas_isik_eesnimi_voi_perenimi_voi_molemad_maaratud CHECK((eesnimi IS NOT NULL) OR (perenimi IS NOT NULL))
) WITH (fillfactor=90);

CREATE TABLE Tootaja (
tootaja_id SERIAL, 
amet_R_id SMALLINT NOT NULL,
tootaja_seisundi_liik_R_id SMALLINT NOT NULL DEFAULT 1,
CONSTRAINT Tootaja_id_on_primaarvoti PRIMARY KEY (tootaja_id),
CONSTRAINT Tootaja_isikukood_on_unikaalne UNIQUE(isikukood),
CONSTRAINT Tootaja_e_mail_on_unikaalne UNIQUE(e_mail),
CONSTRAINT Tootaja_kasutajanimi_on_unikaalne UNIQUE(kasutajanimi),
CONSTRAINT Tootajal_on_amet FOREIGN KEY (amet_R_id) REFERENCES Amet_R(amet_R_id) ON UPDATE CASCADE,
CONSTRAINT Tootaja_on_mingis_seisundis FOREIGN KEY (tootaja_seisundi_liik_R_id) REFERENCES Tootaja_seisundi_liik_R(tootaja_seisundi_liik_R_id) ON UPDATE CASCADE
) INHERITS (Isik) WITH (fillfactor=90);

CREATE TABLE Vastuvott (
vastuvott_id SERIAL,
ruum_id INTEGER,
vastuvotja_id INTEGER NOT NULL,
toimumise_kuupaev d_kuupaev_kohustuslik,
kommentaar d_kirjeldus,
CONSTRAINT Vastuvott_id_on_primaarvoti PRIMARY KEY (vastuvott_id),
CONSTRAINT Vastuvott_toimub_ruumis FOREIGN KEY (ruum_id) REFERENCES Ruum (ruum_id),
CONSTRAINT Tootaja_votab_vastu FOREIGN KEY (vastuvotja_id) REFERENCES Tootaja (tootaja_id) ,
CONSTRAINT Kas_vastuvott_ruum_voi_kommentaar_voi_molemad_maaratud CHECK (ruum_id IS NOT NULL OR kommentaar IS NOT NULL)
) WITH (fillfactor=90);

CREATE TABLE Vastuvotuaeg (
vastuvott_id INTEGER NOT NULL,
alguse_kellaaeg TIME NOT NULL,
CONSTRAINT Vastuvott_id_alguse_kellaaeg_kombinatsioon_on_primaarvoti PRIMARY KEY (vastuvott_id, alguse_kellaaeg),
CONSTRAINT Vastuvotuaeg_on_seotud_vastuvotuga FOREIGN KEY (vastuvott_id) REFERENCES Vastuvott (vastuvott_id) ON DELETE CASCADE
);

CREATE TABLE Vastuvotule_tulek (
vastuvott_id INTEGER NOT NULL,
alguse_kellaaeg TIME NOT NULL,
matrikli_nr d_matrikli_nr,
kommentaar d_kirjeldus,
CONSTRAINT Vastuvott_id_algus_kellaaeg_kombinatsioon_on_tuleku_primaarvoti PRIMARY KEY (vastuvott_id, alguse_kellaaeg),
CONSTRAINT Vastuvotule_tulek_on_seotud_vastuvotuga FOREIGN KEY (vastuvott_id, alguse_kellaaeg) REFERENCES Vastuvotuaeg (vastuvott_id, alguse_kellaaeg) ON DELETE CASCADE,
CONSTRAINT Vastuvotule_tulek_on_seotud_yliopilasega FOREIGN KEY (matrikli_nr) REFERENCES Yliopilane (matrikli_nr) ON UPDATE CASCADE
) WITH (fillfactor=90);

Palun loo nende tabelite põhjal vaade, mis realiseerib järgnevas kasutusjuhus oleva operatsiooni 7.2.
Õppejõud on töötajad, kes on ametis 1 kuni 9 (otspunktid kaasa arvatud) ning on seisundis 2.
Palun kasuta CREATE OR REPLACE lauset. 
Vaate nimi peab olema oppejoud
Vaatel peab olema security_barrier omadus.
Palun loo ka vaate kommenteerimise lause. Kommentaaris tuleb muuhulgas öelda, et vaade on tehisintellekti genereeritud.
Palun loo ka lause, millega antakse vaate lugemise õigus kasutajale yliopilane_vastuvotud
Palun loo ka vaate kustutamise lause.

Kasutusjuht: Registreeri vastuvõtule tulek
Primaarne tegutseja: Üliõpilane
Osapooled ja nende huvid:
Üliõpilane: Soovib saada konsultatsiooni mingis õppetööga seotud küsimuses.
Õppejõud: Soovib anda konsultatsioone õppetööga seotud küsimustes, et parandada õppe- ja teadustöö kvaliteeti.
Käivitav sündmus: Üliõpilane soovib tulla õppe jõu vastuvõtule, et arutada mingit õppetööga seotud küsimust.
Eeltingimused: Üliõpilane on autenditud ja autoriseeritud. Vastuvõtt ja sellega seotud vastuvõtuajad on registreeritud.
Järeltingimused: Üliõpilane on registreerinud ennast konkreetsele vastuvõtuajale.
Stsenaarium (tüüpiline sündmuste järjestus):
1. Üliõpilane avaldab soovi enda vastuvõtule tuleku registreerida.
2. Käivitub kasutusjuht "Otsi enda aktiivseid vastuvõtule tulekuid".
3. Üliõpilane annab korralduse vastuvõtule tuleku registreerimise alustamiseks.
4. Süsteem kuvab õppejõudude nimekirja, kus on iga õppejõu kohta eesnimi, perenimi ja e-posti aadress. Süsteem kuvab vaid sellised õppejõud, kellel on vähemalt üks vaba vastuvõtuaeg. (OP7.2).
5. Üliõpilane valib õppejõu, kelle vastuvõtule ta soovib tulla.
6. Süsteem kuvab valitud õppejõu aktiivsed vastuvõtud – vastuvõtud, mis toimuvad kas samal päeval või tulevikus. Süsteem kuvab kuupäeva, vastuvõtja kommentaari ning toimumiskoha ruumi ja hoone koodi. Süsteem kuvab vaid sellised vastuvõtud, millega on seotud vähemalt üks vaba vastuvõtuaeg (OP7.3).
7. Üliõpilane valib vastuvõtu.
8. Süsteem kuvab valitud vastuvõtuga seotud vastuvõtuajad, mis ei ole veel alanud ning mis on vabad – sinna pole ükski üliõpilane registreerunud (OP7.4).
9. Üliõpilane valib vastuvõtuaja ning vajadusel sisestab kommentaari.
10. Üliõpilane annab korralduse registreerida ennast vastuvõtule. 
11. Süsteem küsib, kas üliõpilane soovib kindlasti vastuvõtule tuleku registreerida.
12. Üliõpilane kinnitab oma soovi vastuvõtule tulek registreerida.
13. Süsteem registreerib vastuvõtule tuleku (OP7.5).
Üliõpilane võib korrata samme 5–13 nii mitu korda kui soovib.
Laiendused  (või alternatiivne sündmuste käik):
5a – Kui ei leita ühegi õppejõu andmeid, siis ei saa üliõpilane enda vastuvõtule tulekut registreerida.
7a – Kui ei leita ühegi vastuvõtu andmeid, siis ei saa üliõpilane enda vastuvõtule tulekut registreerida.
9a – Kui ei leita ühegi vastuvõtuaja andmeid, siis ei saa üliõpilane enda vastuvõtule tulekut registreerida.
12a – Kui üliõpilane siiski ei soovi vastuvõtule tulekut registreerida, siis süsteem ei registreeri vastuvõtule tulekut.
13a – Kui üliõpilane üritab ennast registreerida vastuvõtuajale, mis algab varasemal ajal, kui on vastuvõtule tuleku registreerimise aeg, siis vastuvõtule tuleku registreerimine ebaõnnestub.
13b – Kui vahepeal on juba keegi jõudnud valitud vastuvõtuajale registreeruda, siis vastuvõtule tuleku registreerimine ebaõnnestub.