Pogledi (ang. views) so virtualne oziroma navidezne tabele. So le struktura in ne vsebujejo nobenih podatkov. Njihov namen je omogočiti uporabniku, da vidi podmnožico dejanskih podatkov. Pogled je lahko sestavljen iz podmnožice ene tabele. Na primer, pogled dijakov spodaj je podmnožica tabele dijakov.
dijak
id | ime | priimek | uspeh | rojen |
---|---|---|---|---|
1 | Sia | Majcen | 4 | 2005-07-03 |
2 | Maj | Kranjc | 5 | 2005-05-28 |
3 | Ronja | Rupnik | 5 | 2005-06-15 |
pogled_dijak
ime | priimek | uspeh |
---|---|---|
Sia | Majcen | 4 |
Maj | Kranjc | 5 |
Ronja | Rupnik | 5 |
Ta pogled lahko uporabimo, če želimo na primer dijakom omogočiti, da lahko vidijo zaključene ocene svojih sošolcev, vendar jim ne omogočimo dostopa do drugih osebnih podatkov sošolcev.
Obstaja pa tudi druga možnost, pri kateri je pogled sestavljen iz podmnožice polj iz večih tabel, kot je prikazano na primeru, pri katerem je pogled sestavljen iz podatkov iz treh tabel – tabele dijakov, tabele predmetov in tabele ocen.
predmet
id | predmet | leto | ure |
---|---|---|---|
1 | Matematika | 1 | 140 |
2 | Slovenščina | 1 | 140 |
3 | Angleščina | 1 | 105 |
dijak
id | ime | priimek | uspeh | rojen |
---|---|---|---|---|
1 | Sia | Majcen | 4 | 2005-07-03 |
2 | Maj | Kranjc | 5 | 2005-05-28 |
3 | Ronja | Rupnik | 5 | 2005-06-15 |
redovalnica
dijak_id | predmet_id | ocena |
---|---|---|
2 | 3 | 5 |
2 | 1 | 5 |
2 | 2 | 4 |
1 | 3 | 4 |
1 | 1 | 3 |
1 | 2 | 4 |
3 | 3 | 5 |
3 | 1 | 4 |
3 | 2 | 5 |
pogled_redovalnica
ime | priimek | predmet | ocena |
---|---|---|---|
Maj | Kranjc | Angleščina | 5 |
Maj | Kranjc | Matematika | 5 |
Maj | Kranjc | Slovenščina | 4 |
Sia | Majcen | Angleščina | 4 |
Sia | Majcen | Matematika | 3 |
Sia | Majcen | Slovenščina | 4 |
Ronja | Rupnik | Angleščina | 5 |
Ronja | Rupnik | Matematika | 4 |
Ronja | Rupnik | Slovenščina | 5 |
Pogledi so uporabni tudi iz vidika varnosti. V večjih organizacijah, kjer morda veliko razvijalcev dela na projektu, pogledi omogočajo razvijalcem dostop samo do podatkov, ki jih potrebujejo. Podatki, ki jih ne potrebujejo, pa čeprav so v isti tabeli, so skriti, da jih ne morejo videti ali spreminjati. Pogledi omogočajo tudi poenostavitev poizvedb, ki jih uporabljajo razvijalci. Na primer, brez pogleda bi moral razvijalec pridobiti podatke iz polj v pogledu z naslednjo poizvedbo:
SELECT ime, priimek, predmet, ocena FROM dijak, predmet, redovalnica WHERE redovalnica.dijak_id = dijak.id AND redovalnica.predmet_id = predmet.id;
S pogledom bi lahko razvijalec enake podatke pridobil z naslednjo poizvedbo:
SELECT ime, priimek, predmet, ocena FROM pogled_redovalnica