Вступ до представлень SQL

Для складних запитів SQL представлення створюються за допомогою однієї або декількох таблиць. Також перегляд використовується для забезпечення інкапсуляції таблиці / таблиць з метою безпеки. Перегляд розглядається як віртуальна таблиця з рядками та стовпцями, як звичайна таблиця бази даних.

Синтаксис для створення перегляду

Перегляд можна створити за допомогою оператора CREATE VIEW, як показано нижче:

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

Створення представлення в SQL за допомогою прикладів:

Розглянемо нижчу таблицю ПРАЦІВНИКА:

Ми можемо створити подання з наведеної вище таблиці, як показано нижче.

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

У наведеному вище поданні EMPLOYEE_VW будуть створені нижче стовпці.

SELECT * FROM EMPLOYEE_VW;

Ми можемо створювати представлення з декількох таблиць.

Розглянемо іншу таблицю ВІДДІЛ як нижче.

Ми можемо створити подання з наведених нижче таблиць ПРАЦІВНИКІВ та ВІДДІЛЕННЯ, як показано нижче:

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

Перегляд DEPT_VIEW матиме результат нижче.

SELECT * FROM DEPT_VIEW;

Різні види операцій у представленнях SQL

Нижче наведено різні операції перегляду в SQL:

Оновлення у режимі перегляду

Незважаючи на те, що представлення даних може бути оновлено, нам потрібно зберігати кілька умов у повідомленні. Наприклад, під час оновлення подання оператор select не повинен містити ключового слова DISTINCT, заданих функцій, впорядкування за пунктом, Group By або Have, підзапитів тощо. Також пункт FROM не повинен містити декількох таблиць. Крім вищезазначеного, представлення повинно мати НЕ NULL значення, якщо воно потребує оновлення. Отже, коли ми хочемо оновити подання EMPLOYEE_VW, зберігаючи вказані вище точки у фокусі, таблиця EMPLOYEE буде оновлена.

Оператор CREATE AND ЗАМІНА VIEW використовується для додавання або видалення полів з подання.

SYNTAX для оновлення

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

Оновіть перегляд DEPT_VIEW, як показано нижче, щоб додати стовпець розташування.

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;

З наведеного вище запиту ми отримаємо результат нижче.

ВСТАВЛЯЄТЬСЯ НА ВИГЛЯД

Синтаксис, який потрібно вставити у вигляд

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

Рядок можна вставити для перегляду EMPLOYEE_VW, використовуючи вставку в оператор, як показано нижче:

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

Після вставки ми можемо побачити результат за нижчезазначеним запитом.

SELECT * FROM EMPLOYEE_VW;

ВИДАЛЕННЯ З ОГЛЯДУ

Видалення рядка з представлення видаляє рядок із таблиці, за якою створено подання.

Синтаксис для видалення з подання

DELETE FROM view_name WHERE (condition);

Ми можемо видалити рядок із подання, як показано нижче:

DELETE FROM EMPLOYEE_VW WHERE NAME = 'MALAY';

Після видалення результат може бути відображений запитом нижче.

SELECT * FROM EMPLOYEE_VW;

ВІДКЛЮЧЕННЯ ПОГЛЯДУ

Погляди можна скасувати, використовуючи нижченаведений синтаксис:

DROP VIEW view_name;

Якщо ми хочемо видалити подання EMPLOYEE_VW, його можна видалити, як показано нижче:

DROP VIEW EMPLOYEE_VW;

Переваги та недоліки переглядів SQL

Нижче наведено деякі плюси і мінуси перегляду SQL наступним чином:

Переваги

Нижче наведено переваги використання поглядів у SQL:

  • Якщо нам потрібно підтримувати будь-яку конфіденційну інформацію, надаючи користувачам обмежений доступ, для цього використовуються перегляди. Перегляди використовуються лише для відображення необхідних даних для користувачів, зберігаючи конфіденційні дані.
  • Оскільки подання бази даних пов'язане з багатьма таблицями, за якими створюється подання, це спрощує складність запиту.
  • Представлення використовується для приховування складних таблиць, що використовуються в базі даних, від кінцевих користувачів.
  • Перегляди корисні у випадку повторного проектування бази даних, щоб не впливати на інші програми, що використовують ту саму базу даних.
  • Дані обчислених стовпців можна обчислити дуже легко, коли ми запитуємо дані з подання, оскільки представлення дозволяють обчислювати стовпці.

Недоліки

Незважаючи на безліч переваг, які надають погляди, він все ще має деякі недоліки, зазначені нижче:

  • Один з головних недоліків використання представленого вигляду - це зображення, коли ми часто змінюємо структури таблиць, на яких створюється подання. Отже, коли структури таблиць будуть змінені, погляд також потрібно змінити.
  • Також використання перегляду сповільнює виконання запитів.

Висновок

Погляди широко використовуються для їх багатьох переваг. Вони додають до бази даних додатковий рівень безпеки, що дуже важливо для будь-якої системи управління реляційною базою даних. Перегляди є гнучкими у випадку впливу даних кінцевим користувачам, показуючи лише ті дані, які необхідні, наприклад, використовуючи представлення лише для читання для обмеження привілеїв для користувачів. Але також подання може бути невигідним, якщо основні структури таблиць змінюються значно часто, тим самим збільшуючи складність зміни поглядів відповідно до структур таблиці. Тож, маючи багато переваг на зображенні, перегляди стають дещо менш рекомендованими, коли виконання запиту даних є життєво важливим для бізнесу. Від нас залежить вибір режиму перегляду в нашій базі даних шляхом правильної перевірки вимог бізнесу, щоб отримати більше переваг від представлених даних, щоб підвищити продуктивність системи.

Рекомендовані статті

Це був посібник для переглядів SQL. Тут ми обговорили Створення перегляду в SQL та Синтаксис для створення перегляду разом із Перевагами та Недоліками поглядів у SQL. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -

  1. Питання щодо інтерв'ю Oracle PL / SQL
  2. Що таке MySQL схема?
  3. Що таке інжекція SQL?
  4. Що таке T-SQL?
  5. Дізнайтеся про INSERT заяву в Oracle
  6. Різні параметри перегляду в MySQL