Bevezetés az SQL nézetekbe
Az összetett SQL lekérdezésekhez a nézeteket egy vagy több táblával hozzák létre. A nézet arra is szolgál, hogy biztonsági célokra beágyazza az asztalot / táblázatokat. A nézet virtuális táblának tekinthető, sorokkal és oszlopokkal, mint egy normál adatbázis-tábla.
Szintaxis a nézet létrehozásához
Nézet létrehozható a CREATE VIEW nyilatkozattal, az alábbiak szerint:
CREATE VIEW VIEW_NAME AS
SELECT column1, column2, column3…….
FROM table_name WHERE (condition);
Nézet létrehozása SQL példákkal:
Nézzük meg az alábbi táblázatot: MUNKAVÉGZŐ:
A fenti táblázatból az alábbiak szerint készíthetünk nézetet.
CREATE VIEW EMLOYEE_VW AS
SELECT NAME, AGE, SALARY
FROM EMPLOYEE;
A fenti nézetben EMPLOYEE_VW az alábbi oszlopok jönnek létre.
SELECT * FROM EMPLOYEE_VW;
Néhány táblát is létrehozhatunk.
Nézzük meg egy másik táblázat OSZTÁLYT az alábbiak szerint.
A fenti Munkavállalók és Osztályok táblázata alapján nézetet tudunk létrehozni:
CREATE VIEW DEPT_VIEW AS
SELECT EMPLOYEE.ID, EMPLOYEE.NAME, DEPARTMENT.DEPTNAME
FROM EMPLOYEE, DEPARTMENT
WHERE EMPLOYEE.ID = DEPARTMENT.ID;
A DEPT_VIEW nézet az alábbi eredményt fogja nyújtani.
SELECT * FROM DEPT_VIEW;
Különböző nézet műveletek SQL nézetekben
Az alábbiakban bemutatjuk az SQL különféle nézetműveleteit:
Frissítés a nézetben
Bár a nézet frissíthető, néhány feltételt meg kell tartani a közleményben. Mint például a nézet frissítése közben a Kiválasztási nyilatkozat nem tartalmazhat DISTINCT kulcsszót, beállított funkciókat, sorrend szerinti mondatot, csoportos küldést vagy birtoklást, alkérdéseket stb. A FROM-záradéknak nem szabad több táblát tartalmaznia. A fentieken kívül a nézetnek NULL értékekkel kell rendelkeznie, ha frissíteni kell. Tehát, amikor frissíteni akarjuk az EMPLOYEE_VW nézetet, miközben a fenti pontokat fókuszban tartjuk, az EMPLOYEE táblázat frissül.
A VIZSGÁLAT LÉTREHOZÁSA VAGY KICSERÉLÉSE kifejezést mezők hozzáadásához vagy eltávolításához használják.
SYNTAX a frissítéshez
CREATE OR REPLACE VIEW view_name AS
SELECT column1, column2….
FROM table_name
WHERE (condition);
Frissítsük a DEPT_VIEW nézetet az alábbiak szerint, hogy hozzáadjuk a hely oszlopot.
CREATE OR REPLACE VIEW DEPT_VIEW AS
SELECT EMPLOYEE.ID, EMPLOYEE.NAME, DEPARTMENT.DEPTNAME, DEPARTMENT.LOCATION
FROM EMPLOYEE, DEPARTMENT
WHERE EMPLOYEE.ID = DEPARTMENT.ID;
SELECT * FROM EMPLOYEE;
A fenti lekérdezésből az alábbi eredményt kapjuk.
BEVEZETÉS A NÉPHOZ
Szintaxis a nézetbe való beszúráshoz
INSERT INTO view_name(column1, column 2, column3, ….) VALUES(value1, value2, value3, …);
Egy sor beszúrható az EMPLOYEE_VW megtekintéséhez, az alábbi beszúrás használatával:
INSERT INTO EMPLOYEE_VW (NAME, AGE, SALARY) VALUES('RAM', '24', '27000.00');
Beillesztés után az alábbiakban kiválasztott lekérdezés alapján láthatjuk az eredményt.
SELECT * FROM EMPLOYEE_VW;
TÖRLÉS VIZSGÁLATBÓL
Ha töröl egy sort egy nézetből, akkor törli a sort a táblából, amelyen a nézetet létrehozta.
A nézetből való törlés szintaxisa
DELETE FROM view_name WHERE (condition);
Törölhetjük a sort a nézetből az alábbiak szerint:
DELETE FROM EMPLOYEE_VW WHERE NAME = 'MALAY';
A törlés után az eredmény az alábbi lekérdezéssel jeleníthető meg.
SELECT * FROM EMPLOYEE_VW;
VÉGREHAJTÁS
A nézeteket az alábbi szintaxis használatával le lehet vonni:
DROP VIEW view_name;
Ha törölni akarjuk az EMPLOYEE_VW nézetet, akkor az alábbiak szerint törölhető:
DROP VIEW EMPLOYEE_VW;
Az SQL nézetek előnyei és hátrányai
Az alábbiakban bemutatjuk az SQL nézetek előnyeit és hátrányait, az alábbiak szerint:
Előnyök
Az alábbiakban bemutatjuk az SQL nézetek használatának előnyeit:
- Ha bármilyen érzékeny információt meg kell őriznünk azzal, hogy korlátozott hozzáférést biztosítunk a felhasználók számára, akkor a nézeteket erre a célra használjuk. A nézeteket arra használják, hogy csak a szükséges adatokat jelenítsék meg a felhasználók számára az érzékeny adatok biztonságának megőrzése révén.
- Mivel az adatbázis nézet sok olyan táblához társul, amelyeken a nézet létrejön, egyszerűsíti a lekérdezés összetettségét.
- A nézet arra szolgál, hogy elrejtse az adatbázisban felhasznált mögöttes táblák összetettségét a végfelhasználóktól.
- A nézetek hasznosak az adatbázis újratervezésekor, hogy ne érintsék az ugyanazt az adatbázist használó más alkalmazásokat.
- A kiszámított oszlopok adatai nagyon könnyen kiszámíthatók, ha a nézetből lekérdezzük az adatokat, mivel a nézetek lehetővé teszik a kiszámított oszlopok használatát.
hátrányok
Annak ellenére, hogy a nézetek számos előnnyel járnak, ennek még vannak hátrányai, amint az alábbiakban szerepel:
- A nézet használatának egyik fő hátránya akkor jelenik meg a képen, ha gyakran módosítjuk az asztal szerkezetét, amelyen a nézet készül. Tehát amikor az asztal szerkezete megváltozik, a nézetet is meg kell változtatni.
- A nézet használata lelassítja a lekérdezések teljesítését.
Következtetés
A nézeteket sok előnyeik miatt széles körben használják. Egy extra biztonsági réteget adnak az adatbázishoz, amely nagyon fontos minden relációs adatbázis-kezelő rendszerhez. A nézetek rugalmasak, ha az adatokat a végfelhasználóknak teszik ki, mivel csak a szükséges adatokat jelenítik meg, például csak olvasható nézetekkel, a felhasználók számára biztosított jogosultságok korlátozása érdekében. Ugyanakkor a nézetek is hátrányosak lehetnek, ha az alapul szolgáló táblázati struktúrák gyakran változnak, ezáltal megnövekszik a nézetek táblázati struktúrák szerinti megváltoztatásának összetettsége. Tehát a kép sok előnyeivel együtt a nézetek kissé kevésbé ajánlottak, amikor az adatok lekérdezésének teljesítése elengedhetetlen az üzlet számára. Attól függ, hogy az adatbázis igényeinek megfelelően választjuk-e meg a nézet használatát az üzleti követelmény megfelelő érvényesítésével, hogy a nézetekből több előnyt szerezzünk a rendszer teljesítményének növelése érdekében.
Ajánlott cikkek
Ez az SQL Views útmutatója. Itt tárgyaltunk egy nézet létrehozásáról az SQL-ben és a szintaxisban a nézet létrehozásához, valamint az SQL-nézetek előnyeinek és hátrányainak. A további javasolt cikkeken keresztül további információkat is megtudhat -
- Oracle PL / SQL interjúkérdések
- Mi a MySQL séma?
- Mi az SQL befecskendezés?
- Mi a T-SQL?
- Tanulja meg az INSERT nyilatkozatot az Oracle-ben
- Különböző nézetbeállítások a MySQL-ben