Wprowadzenie do widoków SQL

W przypadku złożonych zapytań SQL widoki są tworzone przy użyciu jednej lub więcej tabel. Ponadto widok służy do enkapsulacji tabeli / tabel ze względów bezpieczeństwa. Widok jest uważany za wirtualną tabelę z wierszami i kolumnami jak normalna tabela bazy danych.

Składnia do utworzenia widoku

Widok można utworzyć za pomocą instrukcji CREATE VIEW, jak poniżej:

CREATE VIEW VIEW_NAME AS
SELECT column1, column2, column3…….
FROM table_name WHERE (condition);

Tworzenie widoku w SQL na przykładach:

Rozważmy poniższą tabelę PRACOWNIK:

Możemy utworzyć widok z powyższej tabeli, jak poniżej.

CREATE VIEW EMLOYEE_VW AS
SELECT NAME, AGE, SALARY
FROM EMPLOYEE;

W powyższym widoku EMPLOYEE_VW zostaną utworzone poniższe kolumny.

SELECT * FROM EMPLOYEE_VW;

Możemy tworzyć widoki z więcej niż jednego stołu.

Rozważmy inny dział DEPARTAMENT jak poniżej.

Możemy stworzyć widok z powyższych tabel PRACOWNICY i DZIAŁ, jak poniżej:

CREATE VIEW DEPT_VIEW AS
SELECT EMPLOYEE.ID, EMPLOYEE.NAME, DEPARTMENT.DEPTNAME
FROM EMPLOYEE, DEPARTMENT
WHERE EMPLOYEE.ID = DEPARTMENT.ID;

Widok DEPT_VIEW będzie miał następujący wynik.

SELECT * FROM DEPT_VIEW;

Różne operacje widoku w widokach SQL

Poniżej przedstawiono różne operacje widoku w języku SQL:

Aktualizacja w widoku

Chociaż widok można zaktualizować, musimy zachować kilka warunków w zawiadomieniu. Na przykład podczas aktualizacji widoku instrukcja select nie powinna zawierać słowa kluczowego DISTINCT, ustawiać funkcji, sortować według klauzuli, Grupować według lub Posiadanie, pod-zapytań itp. Ponadto klauzula FROM nie powinna zawierać wielu tabel. Oprócz powyższego widok powinien mieć wartości NOT NULL, jeśli trzeba go zaktualizować. Kiedy więc chcemy zaktualizować widok EMPLOYEE_VW, utrzymując powyższe punkty w centrum uwagi, tabela EMPLOYEE zostanie zaktualizowana.

Instrukcja CREATE OR REPLACE VIEW służy do dodawania lub usuwania pól z widoku.

SKŁADNIA do aktualizacji

CREATE OR REPLACE VIEW view_name AS
SELECT column1, column2….
FROM table_name
WHERE (condition);

Zaktualizujmy widok DEPT_VIEW jak poniżej, aby dodać kolumnę lokalizacji.

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;

Z powyższego zapytania otrzymamy poniższy wynik.

WSTAWIANIE DO WIDOKU

Składnia do wstawienia do widoku

INSERT INTO view_name(column1, column 2, column3, ….) VALUES(value1, value2, value3, …);

Można wyświetlić wiersz, aby wyświetlić EMPLOYEE_VW, używając instrukcji insert do instrukcji, jak poniżej:

INSERT INTO EMPLOYEE_VW (NAME, AGE, SALARY) VALUES('RAM', '24', '27000.00');

Po wstawieniu możemy zobaczyć wynik według poniższego zapytania.

SELECT * FROM EMPLOYEE_VW;

USUWANIE Z WIDOKU

Usunięcie wiersza z widoku powoduje usunięcie wiersza z tabeli, w której utworzono widok.

Składnia usuwania z widoku

DELETE FROM view_name WHERE (condition);

Możemy usunąć wiersz z widoku, jak poniżej:

DELETE FROM EMPLOYEE_VW WHERE NAME = 'MALAY';

Po usunięciu wynik może zostać wyświetlony za pomocą poniższego zapytania.

SELECT * FROM EMPLOYEE_VW;

OPUSZCZANIE WIDOKU

Widoki można usunąć za pomocą poniższej składni:

DROP VIEW view_name;

Jeśli chcemy usunąć widok EMPLOYEE_VW, można go usunąć w następujący sposób:

DROP VIEW EMPLOYEE_VW;

Zalety i wady widoków SQL

Poniżej wymieniono niektóre zalety i wady widoków SQL:

Zalety

Poniżej znajdują się zalety korzystania z widoków w SQL:

  • Jeśli musimy zachować poufne informacje, zapewniając ograniczony dostęp użytkownikom, do tego celu wykorzystywane są widoki. Widoki służą do wyświetlania wymaganych danych tylko użytkownikom, zapewniając bezpieczeństwo wrażliwych danych.
  • Ponieważ widok bazy danych jest powiązany z wieloma tabelami, na których ten widok jest tworzony, upraszcza to złożoność zapytania.
  • Widok służy do ukrycia złożoności bazowych tabel używanych w bazie danych przed użytkownikami końcowymi.
  • Widoki są przydatne w przypadku przeprojektowania bazy danych, aby nie wpływać na inne aplikacje korzystające z tej samej bazy danych.
  • Dane kolumn obliczeniowych można bardzo łatwo obliczyć, gdy przeszukujemy dane z widoku, ponieważ widoki umożliwiają kolumny obliczane.

Niedogodności

Pomimo wielu zalet, które oferują widoki, nadal ma pewne wady określone poniżej:

  • Jedna z głównych wad korzystania z widoku pojawia się na obrazie, gdy często zmieniamy struktury tabel, na podstawie których tworzony jest widok. Tak więc, gdy zmieniane są struktury tabeli, należy również zmienić widok.
  • Ponadto użycie widoku spowalnia działanie zapytań.

Wniosek

Widoki są szeroko stosowane ze względu na wiele zalet. Dodają dodatkową warstwę bezpieczeństwa do bazy danych, co jest bardzo istotne dla każdego systemu zarządzania relacyjnymi bazami danych. Widoki są elastyczne w przypadku ujawnienia danych użytkownikom końcowym, ponieważ pokazują tylko dane niezbędne na przykład przy użyciu widoków tylko do odczytu w celu ograniczenia uprawnień użytkowników. Ale widoki mogą być również niekorzystne, jeśli podstawowe struktury tabel zmieniają się często, zwiększając w ten sposób złożoność zmiany widoków zgodnie ze strukturami tabel. Tak więc z wieloma zaletami na zdjęciu widoki są nieco mniej zalecane, gdy wydajność zapytania danych ma zasadnicze znaczenie dla firmy. Od nas zależy, czy wybieramy użycie widoku w naszej bazie danych poprzez prawidłowe sprawdzenie wymagań biznesowych, aby uzyskać więcej korzyści z widoków w celu zwiększenia wydajności systemu.

Polecane artykuły

To był przewodnik po widokach SQL. W tym miejscu omówiliśmy tworzenie widoku w SQL i składni, aby utworzyć widok wraz z zaletami i wadami widoków w SQL. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Pytania do wywiadu Oracle PL / SQL
  2. Co to jest schemat MySQL?
  3. Co to jest SQL Injection?
  4. Co to jest T-SQL?
  5. Poznaj instrukcję INSERT w Oracle
  6. Różne opcje widoku w MySQL