Adatbázis A nézetek csökkentik a végfelhasználói élmény összetettségét és korlátozzák a felhasználók hozzáférését az adatbázis-táblákban található adatokhoz. A nézet lényegében a adatbázis lekérdezés a virtuális adatbázis-tábla tartalmának dinamikus feltöltésére.
Miért érdemes használni a nézeteket?
Két fő oka annak, hogy a felhasználók nézeteken keresztül hozzáférjenek az adatokhoz, ahelyett, hogy közvetlen hozzáférést biztosítanának az adatbázis-táblákhoz:
- A nézetek egyszerű, részletgazdag biztonságot nyújtanak. Nézet használatával korlátozhatja azokat az adatokat, amelyeket a felhasználó láthat a táblázatban. Például, ha rendelkezik alkalmazotti táblával, és néhány felhasználó számára hozzáférést kíván biztosítani a teljes munkaidőben foglalkoztatott alkalmazottak nyilvántartásához, létrehozhat egy nézetet, amely csak ezeket a rekordokat tartalmazza. Ez sokkal könnyebb, mint az alternatíva (árnyéktábla létrehozása és fenntartása), és biztosítja az adatok integritását.
- A nézetek egyszerűsítik a felhasználói élményt. A nézetek elrejtik az adatbázis-táblák összetett részleteit azoktól a végfelhasználóktól, akiknek nem kell látniuk őket. Ha egy felhasználó megsemmisíti a nézet tartalmát, nem fogja látni azokat a táblázat oszlopokat, amelyeket a nézet nem választott ki, és lehet, hogy nem is érti őket. Ez megvédi őket a rosszul megnevezett oszlopok, egyedi azonosítók és asztali kulcsok.
Nézet létrehozása
A nézet létrehozása meglehetősen egyszerű: Egyszerűen hozzon létre egy lekérdezést, amely tartalmazza az érvényesíteni kívánt korlátozásokat, és helyezze a CREATE VIEW parancsba. Íme az általános szintaxis:
CREATE VIEW nézetnév AS
Például a teljes munkaidős alkalmazott nézetének létrehozásához adja ki a következő parancsot:
CREATE VIEW teljes munkaidőben
Válassza ki az első_nevet, a vezetéknevet, a munkavállaló azonosítóját
Az alkalmazottaktól
WHERE status = 'FT';
Nézet módosítása
A nézet tartalmának megváltoztatása pontosan ugyanazt a szintaxist használja, mint a nézet létrehozása, de a CREATE VIEW parancs helyett használja az ALTER VIEW parancsot. Például egy korlátozás hozzáadásához a teljes munkaidős nézethez, amely hozzáadja az alkalmazott telefonszámát az eredményekhez, adja ki a következő parancsot:
ALTER VIEW teljes munkaidőben
Válassza ki a keresztnevet, vezetéknevet, alkalmazott_idet, telefonszámot
Az alkalmazottaktól
WHERE status = 'FT';
Nézet törlése
Egyszerű nézetet eltávolítani az adatbázisból a DROP VIEW paranccsal. Például a teljes munkaidőben dolgozó nézet törléséhez használja a következő parancsot:
DROP VIEW teljes munkaidőben;
Nézetek vs. Megvalósult nézetek
A nézet egy virtuális tábla. A materializált nézet ugyanaz a nézet lemezre írva és úgy érhető el, mintha önálló tábla lenne.
Amikor lekérdezést futtat egy nézet ellen, a nézetet forró másodlagos lekérdezés valós időben hajt végre, majd ezek az eredmények visszajutnak az eredeti fő lekérdezésbe. Ha a nézetei rendkívül összetettek, vagy a fő lekérdezéshez nagyszámú kivonat szükséges, több táblázat és nézet között, a fő lekérdezés egy teknős sebességével fog végrehajtani.
A megvalósult nézet felgyorsítja a lekérdezés végrehajtását, mert előre összeállított, lemezre írt lekérdezésként működik, ezért ugyanolyan gyorsan hajt végre, mint egy táblázat. A megvalósult nézetek azonban csak olyan jók, mint az őket frissítő események. Hosszú távon, jó karbantartással, a megvalósult nézetek felgyorsítják a dolgokat egy kis kompromisszummal a késleltetett frissítési idő alatt, anélkül, hogy szükség van egy csomó árnyéktáblára, amelyek szunnyadhatnak, és megeszik a lemezterületet, vagy más lekérdezéseit eredményezik helytelenül.