Садржај
Пример моделовања - факултет
Пример моделовања - продаја дигиталних композиција
Пројектни задатак - моделовање
Погледи
Пројектни задатак

Погледи

Основна јединица за чување података у релационој бази податка је табела. Свака табела је један објекат у бази. База података може да садржи и друге објекте, а један од често коришћених је поглед.

Поглед (енгл. view) је објекат у бази који представља филтер којим се омогућава посебно дефинисан, најчешће делимичан, увид у садржај једне табеле или неколико табела. Погледе можемо да схватимо као фиктивне табеле, које се у каснијим упитима SELECT могу користити као и све остале табеле. Погледи нису заиста сачувани у бази као табеле, већ се упит који их користи интегрише са упитом којим се поглед дефинише и тако добијени комбиновани упит се оптимизује и извршава. Погледи се најчешће користе само за читање података.

CREATE VIEW kontakti
AS SELECT ime, prezime, mejl
FROM zaposleni

Поглед можемо да претражујемо као и табелу. Резултат упита над погледом враћа податке из табеле за коју је поглед креиран.

SELECT * FROM kontakti

Увођењем овог погледа смо сакрили неке податке, на пример плате запослених. Дакле, погледом можемо неким корисницима базе да дозволимо да виде неке податке, а да неке друге податке из исте табеле не могу да виде.

Поглед може да има и неку селекцију редова. На пример, можемо да креирамо такав поглед којим ћемо једном менаџеру дозволити да кроз поглед види само податке запослених за које је задужен.

CREATE VIEW zaposleni_grupa1
AS SELECT *
FROM zaposleni
WHERE id_menadzera=1

Такође је добра пракса да се често коришћени упити запамте као посебни погледи на базу података. На пример, следећи поглед приказује податке о књигама са подацима о ауторима и издавачима. Ово је пример погледа који је повезан са неколико табела.

CREATE VIEW knjige_detaljno
AS SELECT autori.ime "ime", autori.prezime "prezime",
knjige.naziv "naziv_knjige", izdavaci.naziv "naziv_izdavaca"
FROM knjige JOIN autori_knjige ON (autori_knjige.id_knjige=knjige.id_knjige)
JOIN autori ON (autori_knjige.id_autora=autori.id_autora)

Када имамо овакав поглед, знатно смо олакшали добијање извештаја који садржи име аутора, назив књиге и назив издавача.

SELECT ime, prezime, naziv_knjige, naziv_izdavaca FROM knjige_detaljno

Приказано је само неколико једноставних примера погледа.

(Created using Swinx, RunestoneComponents and PetljaDoc)
© 2022 Petlja
A- A+