Forum IT Moldova

Views în MySQL
 
Notificări
Șterge tot

Views în MySQL


Luna
Postări: 279
 Luna
Admin
Topic starter
(@elucy)
Reputable Member
S-a alăturat: 3 ani în urmă

Views în MySQL

 

VIEWS (Vizualizările)  sunt tabele virtuale care nu stochează date proprii, ci afișează date stocate în alte tabele. Cu alte cuvinte, VIEWS nu sunt altceva decât Interogări SQL. O vizualizare poate conține toate sau câteva rânduri dintr-un tabel. O vizualizare MySQL poate afișa date dintr-un tabel sau mai multe tabele.

 

Sintaxa 

Să ne uităm acum la sintaxa de bază folosită pentru a crea o vizualizare în MySQL.

CREATE VIEW `view_name` AS instrucțiunea SELECT;

 

unde

  • „CREATE VIEW `view_name`” spune serverului MySQL să creeze un obiect de vizualizare în baza de date numit `view_name`
  • „Instrucțiunea AS SELECT” este instrucțiunile SQL care trebuie împachetate în Vizualizările MySQL. Poate fi o instrucțiune SELECT care poate conține date dintr-un tabel sau mai multe tabele.

 

Cum se creează vizualizări în MySQL

Următorul este un proces pas cu pas pentru a crea vizualizarea în MySQL. Acum să creăm prima noastră vizualizare folosind „myflixdb”, vom crea o vizualizare simplă care restricționează coloanele văzute în tabelul membrilor.

Să presupunem că cerințele de autorizare spun că departamentul de conturi poate vedea numai numărul, numele și sexul membrului din tabelul membrului. Pentru a realiza acest lucru, puteți crea o VIEW:

CREATE VIEW `accounts_v_members` AS SELECT `membership_number`,`full_names`,`genre` FROM `members`;

 

Executarea scriptului de mai sus în MySQL workbench împotriva myflixdb și extinderea nodului de vizualizări în exploratorul bazei de date ne oferă următoarele rezultate.

 

 

 

Rețineți că obiectul accounts_v_members este acum vizibil în obiectele vizualizărilor bazei de date. Să executăm acum o instrucțiune SELECT care selectează toate câmpurile din vizualizare, așa cum se arată în exemplul de creare a vizualizării MySQL de mai jos.

SELECTAȚI * FROM `conturi_v_membri`;

 

Executarea scriptului de mai sus în MySQL workbench împotriva myflixdb ne oferă următoarele rezultate prezentate mai jos.

numar de membru

nume complete

gen

1

Janet Jones

Femeie

2

Janet Smith Jones

Femeie

3

Robert Phil

Masculin

4

Gloria Williams

Femeie

5

Leonard Hofstadter

Masculin

6

Sheldon Cooper

Masculin

7

Rajesh Koothrappali

Masculin

opt

Leslie Winkle

Masculin

nouă

Howard Wolowitz

Masculin

 

Au fost returnate numai coloanele autorizate pentru departamentul de conturi. Alte detalii găsite în tabelul membrilor au fost ascunse.

Dacă vrem să vedem instrucțiunile SQL care alcătuiesc o anumită vizualizare, putem folosi scriptul prezentat mai jos pentru a face asta.

SHOW CREATE VIEW `accounts_v_members`;

 

Executarea scriptului de mai sus vă oferă numele vizualizării și instrucțiunile SQL SELECT utilizate pentru a crea vizualizarea.

 

Uniri și vizualizări în MySQL

 

Să ne uităm acum la un exemplu destul de complex care implică mai multe tabele și folosește îmbinări.

Vom împacheta JOIN-ul creat care obține informații din trei (3) tabele și anume membri, filme și închirieri de filme. Mai jos este scenariul care ne ajută să realizăm asta:

CREATE VIEW `general_v_movie_rentals` AS SELECT mb.`membership_number`,mb.`full_names`,lu.`title`,mr.`transaction_date`,mr.`return_date` FROM `movierentals` AS dl INNER JOIN `members` ASmb mr.`membership_number` = mb.`membership_number` INNER JOIN `movies` AS mo ON mr.`movie_id` = lu.`movie_id`;

 

Executarea scripturilor de mai sus creează vizualizarea numită general_v_movie_rentals în myflixdb

Să selectăm acum toate câmpurile dintr-un tabel numit general_v_movie_rentals.

SELECTAȚI * FROM `general_v_movie_rentals`;

 

Executarea scriptului de mai sus în MySQL workbench împotriva myflixdb ne oferă următoarele rezultate prezentate mai jos.

numar de membru

nume complete

titlu

Data tranzacției

data_return

1

Janet Jones

Piratii din Caraibe 4

20.06.2012

28-06-2012

1

Janet Jones

Uitând-o pe Sarah Marshal

22-06-2012

25-06-2012

3

Robert Phil

Uitând-o pe Sarah Marshal

22-06-2012

25-06-2012

2

Janet Smith Jones

Uitând-o pe Sarah Marshal

21-06-2012

24-06-2012

3

Robert Phil

X-Men

23-06-2012

28-06-2012

Rețineți că nu a fost nevoie să scriem interogarea complexă JOIN pentru a obține informații despre membri, filme și detalii despre închirierea filmelor. Pur și simplu am folosit vizualizarea într-o instrucțiune SELECT obișnuită ca orice alt tabel obișnuit. Vizualizarea poate fi apelată de oriunde în sistemul de aplicație care rulează deasupra myflixdb.

 

Aruncarea vizualizărilor în MySQL

Comanda DROP poate fi folosită pentru a șterge o vizualizare din baza de date care nu mai este necesară. Sintaxa de bază pentru a elimina o vizualizare este următoarea.

Spoiler
DROP VIEW ` general_v_movie_rentals`;

 

De ce să folosim vizualizările?

 

Poate doriți să utilizați vizualizările în principal din următoarele 3 motive

  • În cele din urmă, vă veți folosi cunoștințele dvs. SQL pentru a crea aplicații, care vor folosi o bază de date pentru cerințele de date. Este recomandat să utilizați VIEWS ale structurii originale a tabelului în aplicația dvs. în loc să utilizați tabelele în sine. Acest lucru vă asigură că atunci când vă refactorizați DB, codul dvs. moștenit va vedea schema originală prin vizualizare fără a întrerupe aplicația.
  • VIEWS măresc reutilizabilitatea. Nu va trebui să creați interogări complexe care implică îmbinări în mod repetat. Toată complexitatea este convertită într-o singură linie de interogare folosind VIEWS. Un astfel de cod condensat va fi mai ușor de integrat în aplicația dvs. Acest lucru va elimina șansele de greșeli de scriere și codul dvs. va fi mai ușor de citit.
  • VIEWS ajută la securitatea datelor. Puteți utiliza vizualizările pentru a afișa numai informații autorizate utilizatorilor și pentru a ascunde datele sensibile, cum ar fi numerele cardurilor de credit.

 

Vizualizările sunt tabele virtuale; nu conțin datele care sunt returnate. Datele sunt stocate în tabelele la care se face referire în instrucțiunea SELECT.

Vizualizările îmbunătățesc securitatea bazei de date afișând numai datele dorite utilizatorilor autorizați. Ele ascund datele sensibile.

Vizualizările vă fac viața ușoară, deoarece nu aveți nevoie să scrieți interogări complexe în mod repetat.

Este posibil să utilizați INSERT, UPDATE și DELETE pe o VIEW. Aceste operațiuni vor schimba tabelele de bază ale VIEW. Singura considerație este că VIEW ar trebui să conțină toate coloanele NOT NULL ale tabelelor la care face referire. În mod ideal, nu ar trebui să utilizați VIEWS pentru actualizare.

 

Distribuie: