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

Vastuvõtul võib ruum puududa.
Palun loo nende tabelite põhjal vaade, mis realiseerib järgnevas kasutusjuhus oleva operatsiooni 3.1.
Palun kasuta CREATE OR REPLACE lauset. 
Vaate nimi peab olema vastuvotud
Kui vaates kuvatakse viidet isikule, siis peab isikuandmete hulgas olema tema meiliaadress.
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 oppejoud_vastuvotud
Palun loo ka vaate kustutamise lause.

Kasutusjuht: Lisa vastuvõtuaeg
Primaarne tegutseja: Õppejõud
Osapooled ja nende huvid:
Üliõpilane: Soovib võimalikult operatiivselt saada õppejõult konsultatsiooni. Soovib, et ta peaks ootama õppejõu vastuvõtu ruumi ukse taga võimalikult vähe aega.
Õppejõud: Soovib, et võimalikult paljud üliõpilased saaksid tulla vastuvõtule. Soovib, et üliõpilased peaksid võimalikult vähe vastuvõtu ruumi ukse taga ootama ning et vastuvõtt kulgeks võimalikult sujuvalt.
Käivitav sündmus: Õppejõud soovib määrata konkreetsed kellaajad, millal ta saab üliõpilasi vastu võtta.
Eeltingimused: Õppejõud on autenditud ja autoriseeritud. Vastuvõtt on registreeritud.
Järeltingimused: Vastuvõtuga seotud vastuvõtuaeg on registreeritud.
Stsenaarium (tüüpiline sündmuste järjestus):
1. Õppejõud avaldab soovi lisada uue vastuvõtuaja.
2. Käivitub kasutusjuht "Otsi enda aktiivseid vastuvõtte".
3. Õppejõud on valinud aktiivse vastuvõtu, millele ta soovib lisada uue vastuvõtuaja.
4. Süsteem kuvab vastuvõtu andmed (OP3.1) ning sellega seotud vastuvõtuaegade andmed (OP3.2) ning vastuvõtuaegadele registreerinud üliõpilaste nimed, matriklinumbrid, e-posti aadressid ja vastuvõtuaegadele registreerimisel sisestatud kommentaarid (OP3.3).
5. Õppejõud sisestab vastuvõtuaja kellaaja.
6. Süsteem salvestab vastuvõtuaja andmed (OP3.4).
Õppejõud võib korrata samme 5–6 nii mitu korda kui soovib.
Laiendused  (või alternatiivne sündmuste käik):
3a – Kui õppejõul pole ühtegi aktiivset vastuvõttu, siis ei saa õppejõud vastuvõtuaega sisestada.
6a – Kui vastuvõtt toimub samal kuupäeval, kui vastuvõtuaja lisamise aeg ning vastuvõtuaja kellaaeg on varasem, kui vastuvõtu lisamise kellaaeg, siis määratakse kellaajaks hetke kellaaeg ning salvestatakse vastuvõtuaeg (OP3.4).