SQL View Explained - Hogyan készítsünk nézetet SQL és MySQL-ben

Mi az a nézet az SQL-ben?

A Nézet egy olyan adatbázis-objektum, amely egy vagy több táblázatban meglévő adatokat jelenít meg. A nézeteket a táblázatokhoz hasonló módon használják, de nem tartalmaznak adatokat. Csak a másutt létező adatokra mutatnak (például táblázatok vagy nézetek).

Miért szeretjük őket?

  • A nézetek korlátozhatják a bemutatott adatokat. Például az emberi erőforrások osztályának adatai csak érzékeny információk megjelenítésére szűrődtek le. Érzékeny információk lehetnek ebben az esetben a társadalombiztosítási számok, a munkavállaló neme, a fizetési ráta, a lakcím stb.
  • Egynél több táblázat összetett adatai egyetlen nézetbe vonhatók össze. Ez megkönnyítheti üzleti elemzői és programozói életét.

Fontos biztonsági tippek

  • A nézeteket a rendszer kezeli. Amikor a kapcsolódó táblázatok adatait megváltoztatják, hozzáadják vagy frissítik, a rendszer frissíti a Nézetet. Ezeket csak akkor akarjuk használni, ha a rendszer erőforrásainak kezeléséhez szükséges.
  • A MySQL-ben a nézet létrehozása utáni módosítások a tábla kialakításában (vagyis új vagy elhagyott oszlopokban) nem frissülnek a nézetben. A nézetet frissíteni vagy újra kell készíteni.
  • A nézetek a négy szokásos adatbázis-objektumtípus egyike. A többi táblázat, tárolt eljárás és függvény.
  • A nézetek általában úgy kezelhetők, mint egy táblázat, de a frissítések korlátozottak vagy nem érhetők el, ha a nézet egynél több táblázatot tartalmaz.
  • Számos olyan részlet van a nézetekről, amelyek túlmutatnak ezen bevezető útmutató keretein. Töltsön el időt az adatbázis-kezelő kézikönyvével, és érezzen jól magának ezzel a hatékony SQL-objektummal.

A View View utasítás (MySQL) szintaxisa

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

Ez az útmutató a nyilatkozat ezen részére vonatkozik ...

CREATE VIEW view_name [(column_list)] AS select_statement 

Minta nézet létrehozása a tanuló táblázataiból

Megjegyzések:

  • A nézet nevének végén „v” van. Javasoljuk, hogy a nézet neve valamilyen módon jelezze, hogy megkönnyítse a programozók és az adatbázis-adminisztrátorok életét. Az informatikai üzletnek saját szabályokkal kell rendelkeznie az objektumok elnevezésére.
  • A nézet oszlopait a SELECT, az adatsorokat pedig a WHERE záradék korlátozza.
  • a nézetek nevei körül a „” karakterre van szükség a nevekben szereplő „-” miatt. A MySQL nélkülük hibát jelent.
create view `programming-students-v` as select FullName, programOfStudy from student where programOfStudy = 'Programming'; select * from `programming-students-v`; 

Minta egy nézet használatával több táblázatból származó adatok egyesítéséhez

Ennek a felhasználásnak a bemutatásához egy diák demográfiai táblázatot adtak az adatbázisba. Ez a nézet egyesíti ezeket a táblázatokat.

Megjegyzések:

  • A táblák „összekapcsolásához” a tábláknak közös mezőknek (általában elsődleges kulcsoknak) kell lenniük, amelyek egyedileg azonosítják az egyes sorokat. Ebben az esetben ez a diákigazolvány. (További információ erről az SQL Joins útmutatóban található.)
  • Figyelje meg az egyes táblázatokhoz tartozó „álneveket” („s” a hallgató számára és az „sc” a hallgatói kapcsolattartáshoz). Ez egy olyan eszköz, amely lerövidíti a táblák nevét, és megkönnyíti a használt tábla azonosítását. Könnyebb, mint a hosszú táblázatnevek ismételt beírása. Ebben a példában azért volt szükség, mert a studentID azonos oszlopnév mindkét táblában, és a rendszer „kétértelmű oszlopnév hibát” mutat be anélkül, hogy meghatározná, melyik táblát használja.