Обяснен SQL изглед - Как да създадете изглед в SQL и MySQL

Какво е изглед в SQL?

Изгледът е обект на база данни, който представя данни, съществуващи в една или повече таблици. Изгледите се използват по подобен начин на таблиците, но не съдържат никакви данни. Те просто "сочат" към данните, които съществуват другаде (таблици или изгледи например).

Защо ги харесваме?

  • Изгледите са начин за ограничаване на представените данни. Например данните от отдела за човешки ресурси се филтрират, за да представят само чувствителна информация. Чувствителна информация в този случай могат да бъдат социалноосигурителни номера, пол на служител, размер на заплатата, домашен адрес и др.
  • Сложни данни в повече от една таблица могат да бъдат комбинирани в един „изглед“. Това може да улесни живота на вашите бизнес анализатори и програмисти.

Важни съвети за безопасност

  • Изгледите се управляват от системата. Когато данните в свързаните таблици се променят, добавят или актуализират, изгледът се актуализира от системата. Искаме да ги използваме само когато е необходимо за управление на използването на системните ресурси.
  • В MySQL промените в дизайна на таблицата (т.е. нови или изпуснати колони), направени СЛЕД създаването на изглед, не се актуализират в самия изглед. Изгледът ще трябва да бъде актуализиран или пресъздаден.
  • Изгледите са един от четирите стандартни типа обект на база данни. Останалите са таблици, съхранени процедури и функции.
  • Изгледите обикновено могат да бъдат третирани както с таблица, но актуализациите са ограничени или не са налични, когато изгледът съдържа повече от една таблица.
  • Има много други подробности за възгледите, които са извън обхвата на това уводно ръководство. Прекарайте време с ръководството на вашите мениджъри на бази данни и се забавлявайте с този мощен SQL обект.

Синтаксис на изявлението за създаване на изглед (MySQL)

CREATE [OR REPLACE] [ALGORITHM =  TEMPTABLE] [DEFINER =  CURRENT_USER ] [SQL SECURITY  DEFINER ] VIEW view_name [(column_list)] AS select_statement [WITH [CASCADED | LOCAL] CHECK OPTION] 

Това ръководство ще обхване тази част от изявлението ...

CREATE VIEW view_name [(column_list)] AS select_statement 

Примерно създаване на изглед от студентските таблици

Бележки:

  • Името на изгледа има „v“ в края. Препоръчително е името на изгледа да показва, че това е изглед по някакъв начин, за да улесни живота на програмистите и администраторите на бази данни. Вашият ИТ магазин трябва да има свои собствени правила за именуване на обекти.
  • Колоните в изгледа са ограничени от SELECT и редовете от данни от клаузата WHERE.
  • символът "" "около имената на изгледа се изисква поради" - "в имената. MySQL съобщава за грешка без тях.
create view `programming-students-v` as select FullName, programOfStudy from student where programOfStudy = 'Programming'; select * from `programming-students-v`; 

Пример за използване на изглед за комбиниране на данни от повече от една таблица

Към базата данни е добавена ученическа демографска таблица, за да демонстрира това използване. Този изглед ще комбинира тези таблици.

Бележки:

  • За да се „присъединят“ таблици, таблиците трябва да имат общи полета (обикновено първични ключове), които уникално идентифицират всеки ред. В този случай това е студентската книжка. (Повече за това в ръководството за SQL Joins.)
  • Забележете „псевдонима“, даден на всяка таблица („s“ за студент и „sc“ за контакт със студент). Това е инструмент за съкращаване на имената на таблиците и улесняване на идентифицирането на използваната таблица. Това е по-лесно от многократно въвеждане на дълги имена на таблици. В този пример се изискваше, тъй като studentID е едно и също име на колона в двете таблици и системата щеше да представи „двусмислена грешка в името на колоната“, без да посочва коя таблица да използва.