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 Hoone (
hoone_kood d_hoone_kood,
nimi d_nimetus,
CONSTRAINT Hoone_kood_on_primaarvoti PRIMARY KEY (hoone_kood),
CONSTRAINT Hoone_nimi_on_unikaalne UNIQUE (nimi)
);

CREATE TABLE Ruum (
ruum_id SERIAL,
hoone_kood d_hoone_kood,
ruum_kood d_ruum_kood,
korrus SMALLINT NOT NULL,
CONSTRAINT Ruum_id_on_primaarvoti PRIMARY KEY (ruum_id),
CONSTRAINT Hoone_koodi_ruumi_koodi_korruse_kombinatsioon_on_unikaalne UNIQUE (hoone_kood, ruum_kood),
CONSTRAINT Ruum_asub_hoones FOREIGN KEY (hoone_kood) REFERENCES Hoone (hoone_kood) ON UPDATE CASCADE,
CONSTRAINT Korrus_peab_olema_vahemikus_miinus_5_ja_10 CHECK (korrus BETWEEN -5 AND 10)
);

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);

Palun loo nende tabelite põhjal vaade, mis realiseerib järgnevas kasutusjuhus oleva operatsiooni 7.3.
Vaates peab olema õppejõu meiliaadress.
Palun kasuta CREATE OR REPLACE lauset. 
Vaate nimi peab olema aktiivsed_vastuvotud_yliopilasele
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.