Virtuális táblák használata
A virtuális táblákat állandóan tárolt összetett lekérdezések készítéséhez használják. A virtuális táblát szabályos táblaként tekintheti meg. Ez használható a táblázatban a SELECT, INSERT, INPUT, UPDATE, DELETE záradékokban. A virtuális tábla nem foglal helyet az adatbázisban rendszeres tábla formájában. A szintaxis:
CREATE VIEW
[WITH CHECK OPTION]
Az opcionális CHECK CHECK opcióval (validálással) azt jelzi, hogy az INSERT és az UPDATE műveleteknél ellenőrizni kell ezt a táblázatot, hogy megbizonyosodjon arról, hogy a kérés-kifejezés WHERE mondata teljesül.
Így egy virtuális tábla egy elnevezett táblázat, amelyet egy SELECT mondat végrehajtása eredményeként lehet elérni az oszlopnevek lehetséges megváltoztatásával.
Egy egyszerű virtuális tábla. Ez egy virtuális tábla, amely az eredeti példánya, de más néven.
SELECT * FROM FACULTY
Virtuális táblákat is létrehozhat más virtuális táblák alapján.
Oszlop kiválasztás. A virtuális táblázatban megadhatja a forrás táblázat egyes oszlopainak használatát.
CREATE VIEW DEP_HEAD_NAMES (Name, Head) AS
SELECT * FROM FACULTY
Nevezze át az oszlopokat. A virtuális táblák létrehozásának szintaktikája lehetővé teszi a forrás táblázat oszlopainak átnevezését. Ehhez egyértelműen meg kell adnia a SELECT záradék oszlopait, és meg kell adnia a szükséges oszlopneveket a CREATE VIEW klauzulában.
CREATE VIEW TEACHER_NAME_POST (First_Name, Position) AS
SELECT Name, Post A TANÁROKBÓL
Komplex szerkezetek. A virtuális tábla SELECT záradéka önkényesen összetett lehet. Például, ha virtuális táblát szeretne kapni az Informatikai Kar tanárainak listájával, és más karokon is dolgozhat, írjon.
CREATE VIEW TEACHER_2 (First_Name, Position) AS
SELECT TEACHER.Name, Post
FACULTYUMBÓL, SZERVEZET, TANÍTÓ
A FACULTY TANULMÁNYA # F = SZERVEZET
SZERVEZET # D = TANÍTÓ. # D ÉS
FACULTY.Name = "IT" ÉS
FACULTYUMBÓL, SZERVEZET, TANÍTÓ
A FACULTY TANULMÁNYA: # F = SZERVEZET
A SELECT záradék használatának korlátozása. Az SQL a következő korlátozásokat írja elő a SELECT záradék használatára a virtuális tábla meghatározásakor:
· Nem használhatja az UNION operátort,
· Nem használhatja az ORDER BY záradékot.
Adatok módosítása virtuális táblákon keresztül. A virtuális táblázatok az UPDATE, INSERT, DELETE záradékokban az adatok adatbázisban történő módosítására használhatók, de a következő feltételeknek kell teljesülniük:
· A DELETE záradékot nem használhatja számos alaptáblázatban meghatározott virtuális táblázatokra
· Az INSERT utasítás csak akkor használható, ha a virtuális tábla az alaptábla összes NEM NULL oszlopát tartalmazza.
· Ha egy beillesztés vagy frissítés történik egy csatlakoztatott virtuális táblán keresztül, akkor a frissítendő összes rekordnak ugyanannak a fizikai táblának kell lennie.
· A DISTINCT kifejezéssel definiált virtuális táblán keresztül nem lehet beszúrni vagy frissíteni a rekordokat.
· Nem frissíthetsz virtuális oszlopokat (azaz olyan oszlopokat, amelyek értékelik a kifejezést, vagy végrehajtanak egy függvényt)
A virtuális táblák lehetséges alkalmazása. A virtuális tábla használható:
· A logikai függetlenség biztosítása,
· Az adatvédelem biztosítása,
· Adatok konvertálása,
· A komplex lekérdezések tervének egyszerűsítése.
A logikai függetlenség biztosítása. A virtuális táblák egyik legfontosabb feladata, hogy biztosítsa a felhasználói programok függetlenségét az adatbázis logikai felépítésének megváltoztatásakor, amikor bővül, és (vagy) megváltoztatja az oszlopok elhelyezését, például a táblák felosztásakor.
Virtuális táblázatok és adatvédelem. A virtuális táblák segítségével meghatározhatja az adott felhasználó számára elérhető adatokat. A felhasználói hozzáférés korlátozása csak virtuális táblákon keresztül megoldhatja az adatvédelem problémáját.
Adatkonverzió. A virtuális táblázatok hasznosak lehetnek abban az esetben, ha a felhasználónak adatokat kell megadnia olyan formában, amely eltér az adatbázisban használt adatoktól. Például meglehetősen könnyű megoldani azt a problémát, hogy egy pénzegységben tárolt fizetési adatokat egy adott monetáris egységben egy másik virtuális tábla egy másik monetáris egységére konvertálnak.
Egyszerűbb összetett lekérdezések készítése. A virtuális táblákat akkor is fel lehet használni, ha összetett lekérdezések sorozatát kell létrehozni, amelyek hierarchikus struktúrával rendelkeznek. Ebben az esetben a virtuális táblák hierarchikus felépítése jön létre.
Virtuális táblázat törlése. Van egy parancs a virtuális tábla törlésére. Szintaxisa:
DROP VIEW view_name
A virtuális tábla törlésekor ne feledje, hogy a virtuális táblában definiált összes többi virtuális tábla érvénytelenné válik.