Kas yra materializuotas vaizdas?

Materializuotas vaizdas yra duomenų bazės objektas, kuriame rodoma iš duomenų bazės reikalaujama informacija. Duomenų bazė yra informacijos rinkinys, išdėstytas lentelės formatu. Tai leidžia galutiniam vartotojui gauti duomenis per užklausas, pateiktas struktūrinės užklausos kalbos (SQL) formatu. Tai leidžia galutiniam vartotojui iš duomenų bazės pateikti užklausas dėl tam tikros rūšies informacijos, pvz., darbuotojų, jaunesnių nei 30 m., sąrašo. Ši informacija būtų pasiekiama materializuotame rodinyje, jei bus pateikta konkreti virtuali lentelė, kurioje yra visa informacija. rezultatų sąrašas.

Kai galutinis vartotojas įveda užklausą į duomenų bazę, programa iš karto pradeda sijoti savo įrašus. Ji lygina ieškomą informaciją su kiekvienu atskiru įrašu pasirinktose lentelėse. Taigi, tęsiant ankstesnį pavyzdį, ieškant darbuotojų iki 30 metų, duomenų bazė patenka į lentelę „Darbuotojai“ ir nuo pat pradžių tiria kiekvieno gimimo datą, lygindama ją su esama data, kad gautų amžių. . Visi jaunesni nei 30 metų darbuotojai perkeliami į materializuoto rodinio lentelę. Tik tada galutinis materializuotas rodinių sąrašas „pateikiamas“ galutiniam vartotojui, pateikiant išsamų atsakymą į užklausą.

Skirtingai nuo tradicinio reliacinės duomenų bazės rodinio, kuriame užklausų informacija saugoma laikinojoje lentelėje, materializuotame rodinyje užklausa informacija saugoma tikroje, nuolatinėje, konkrečioje lentelėje. Materializuotame rodinyje saugoma informacija talpinama sistemos atmintyje, todėl galutinis vartotojas gali retkarčiais atlikti pakeitimus arba atnaujinti duomenis. Pavyzdžiui, jei ta pati pavyzdinė užklausa – visi darbuotojai, jaunesni nei 30 metų – pateikiama pirmą dieną, ji lieka sistemoje kaip materializuotas vaizdas nuo to momento.

To pranašumas yra tas, kad pakartotinė prieiga prie informacijos yra daug greitesnė; informacija jau yra saugoma sistemoje. Pagrindinis trūkumas yra tas, kad informacija gali pasenti arba pasibaigti tarp prieigos laikotarpių. Pavyzdžiui, jei galutinis vartotojas vėl pasiekia tą patį materializuotą rodinį dešimtą dieną, viskas galėjo pasikeisti: kažkam ką tik sukako 30 metų. Materializuoto rodinio versija į šiuos pakeitimus neatsižvelgs, kol visa užklausa nebus paleista dar kartą. .