Introduzione alle viste in MySQL

La vista SQL non è altro che una tabella virtuale del database. La vista contiene campi come una tabella reale, ma quei campi provengono da una o più tabelle nel database che viene eseguito eseguendo un gruppo di query MySQL. Siamo in grado di eseguire operazioni come le clausole WHERE e JOIN nelle tabelle virtuali. D'altra parte, VIEW non è altro che SELEZIONA le query.

Sintassi:

CREATE VIEW view_name AS
SELECT column1, column2, …
FROM table;

  • "CREATE VIEW view_name" comanda a MySQL di creare una vista / tabella virtuale nel nome di view_name.
  • L'istruzione "AS SELECT column1, column2 FROM table" recupera column1 e column2 dalla tabella reale. Quindi salva quei campi nella tabella virtuale.

Come creare viste in MySQL?

Creiamo una tabella clienti con i seguenti attributi:

Identificativo del cliente Nome del cliente Contact_no E-mail Purchased_amount Città
184 Ravi Kumar 9887463893 8000.00 Kolkata
987 Vinay Das 9839878678 12000.00 Delhi
452 K.Amarnath 7598759387 15000.00 Kolkata
874 Abhinash Desai 7675878798 5000.00 Mumbai

Creeremo una tabella cutomser_archive con il nostro attributo richiesto.

Query n. 1

CREATE VIEW customer_archive AS
SELECT customer_id, customer_name, contact_no, city
FROM customer;

Produzione:

Identificativo del cliente Nome del cliente Contact_no Città
184 Ravi Kumar 9887463893 Kolkata
987 Vinay Das 9839878678 Delhi
452 K.Amarnath 7598759387 Kolkata
874 Abhinash Desai 7675878798 Mumbai

Possiamo anche applicare la condizione a questa query durante la creazione di una vista.

Query n. 2

CREATE VIEW customer_archive AS
SELECT customer_id, customer_name, contact_no, purchased_amont, city
FROM customer
WHERE purchased_amont > 10000;

Produzione:

Identificativo del cliente Nome del cliente Contact_no Purchased_amount Città
987 Vinay Das 9839878678 12000.00 Delhi
452 K.Amarnath 7598759387 15000.00 Kolkata

Diverse opzioni di visualizzazione in MySQL

Di seguito sono riportate le diverse opzioni di visualizzazione in MySQL che spiegano più in dettaglio,

1. DROP: una vista / tabella virtuale può essere eliminata usando il comando DROP VIEW. Se vogliamo eliminare la tabella customer_archive,

Sintassi:

DROP VIEW customer_archive;

2. CREA O SOSTITUISCI: Con il comando CREA O SOSTITUISCI VISTA possiamo aggiornare una vista / tabella virtuale.

Sintassi:

CREATE OR REPLACE VIEW view_name AS
SELECT column1, column2, ….
FROM table;

3. UNISCITI: possiamo anche creare una vista unendo più tabelle. Questo join recupererà i record corrispondenti da entrambe le tabelle. Esistono diversi tipi di join denominati come join interno, join sinistro, join destro, join esterno completo, cross join, ecc.

Sintassi:

CREATE VIEW view-name AS
SELECT column1, column2, column3, …
FROM table_name1 INNER JOIN table_name2
ON table_name1.column = table_name2.column;

Sopra è l'esempio di un join interno. Allo stesso modo, possiamo anche applicare altri join. Nell'esempio sopra, la vista verrà creata consolidando i record presenti sia in table_name1 sia in table_name2 sulla base di un campo comune.

Esempi di visualizzazioni in MySQL

Consideriamo l'esempio sopra:

Identificativo del cliente Nome del cliente Contact_no E-mail Purchased_amount Città
184 Ravi Kumar 9887463893 8000.00 Kolkata
987 Vinay Das 9839878678 12000.00 Delhi
452 K.Amarnath 7598759387 15000.00 Kolkata
874 Abhinash Desai 7675878798 5000.00 Mumbai
987 Aseem Kumar 9697679867 18000.00 Cuttack
989 Sakti 9847984788 60000.00 Cuttack

Questo è il database delle tabelle dei clienti.

Ne creeremo un'altra visione, nominandola come cliente_premier. Le condizioni per i clienti premium saranno fissate, mentre la cifra acquistata sarà superiore a 10000.

Query n. 1

CREATE VIEW premium_customer AS
SELECT customer_id, customer_name, contact_no, purchased_amont, city
FROM customer
WHERE purchased_amont > 10000;

Produzione:

Identificativo del cliente Nome del cliente Contact_no Purchased_amount Città
987 Vinay Das 9839878678 12000.00 Delhi
452 K.Amarnath 7598759387 15000.00 Kolkata
987 Aseem Kumar 9697679867 18000.00 Cuttack
989 Sakti 9847984788 60000.00 Cuttack

Se vogliamo eliminare questa tabella virtuale premium_customer, di seguito è riportata la sintassi.

DROP VIEW premium_customer;

Se sono necessarie alcune modifiche a questa tabella premium sopra modificando alcune condizioni, allora

Query n. 2

CREATE OR REPLACE VIEW premium_customer AS
SELECT customer_id, customer_name, contact_no, email, purchased_amont, city
FROM customer
WHERE purchased_amount > 6000;

Produzione:

Identificativo del cliente Nome del cliente Contact_no E-mail Purchased_amount Città
184 Ravi Kumar 9887463893 8000.00 Kolkata
987 Vinay Das 9839878678 12000.00 Delhi
452 K.Amarnath 7598759387 15000.00 Kolkata
987 Aseem Kumar 9697679867 18000.00 Cuttack
989 Sakti 9847984788 60000.00 Cuttack

Vantaggi e svantaggi delle visualizzazioni in MySQL

Qui discutiamo i vantaggi e gli svantaggi di Views in MySQL,

vantaggi

  • Sicurezza: ci sono molte tabelle che sono limitate da molti utenti poiché alcuni attributi in quelle tabelle saranno molto sensibili. Pertanto, se siamo in grado di creare visualizzazioni con alcuni attributi specifici per i rispettivi utenti, agli utenti può essere concessa l'autorizzazione ad accedere a una serie di visualizzazioni in un database a loro autorizzato. Ciò può mantenere la sicurezza e l'integrità dei dati, così come gli utenti possono svolgere le loro attività con le rispettive colonne autorizzate.
  • Semplicità della query: è possibile creare una vista recuperando i dati da più tabelle. Pertanto, tutti i record cumulativi di tutte le tabelle possono essere rappresentati da una singola tabella utilizzando la query di visualizzazione.
  • Semplicità strutturale: possiamo creare una vista specifica dell'utente personalizzata o specializzata. Quindi possiamo rappresentare il database come un insieme di tabelle virtuali che hanno senso per l'utente.
  • Coerenza: qui stiamo citando la coerenza perché questa vista può rappresentare un'immagine coerente e invariata della struttura del database anche se facciamo qualche manipolazione alla tabella principale o alla tabella principale.
  • Integrità dei dati: se si accede ai dati in una vista, il database controlla sempre i dati per assicurarsi che soddisfi o meno i vincoli di integrità.

svantaggi

  • Prestazioni: le viste sono la tabella virtuale o rappresentativa delle tabelle principali. Quando eseguiamo alcune query per creare una vista, DBMS traduce tali query rispetto alle viste nelle query nelle tabelle sottostanti. Pertanto, se la query di visualizzazione è molto complessa e contiene più origini e algoritmi difficili, la semplice azione su tali visualizzazioni richiede molto tempo.
  • Restrizioni agli aggiornamenti: durante la modifica delle righe in una vista, il DBMS deve tradurre la richiesta in un aggiornamento sulle righe della tabella di origine sottostante. L'aggiornamento può essere eseguito nella query semplice, ma nel caso di una query complessa, DBMS non consentirà l'aggiornamento poiché le visualizzazioni sono spesso limitate alla sola lettura.

Conclusione

Dopo aver esaminato le cose sopra descritte, possiamo chiaramente conoscere il significato di questo comando. Questo è utile in molti scenari in tempo reale. Il vantaggio principale di questo è che possiamo eseguire molte query complesse solo per sapere quanto sia efficace il nostro algoritmo sottostante. Mantenere la sicurezza e l'integrità dei dati è il vantaggio principale del comando view.

Articoli consigliati

Questa è una guida a Views in MySQL. Qui discutiamo come creare viste in mysql e capire come funzionano le diverse opzioni di viste in MySQL. Puoi anche consultare i seguenti articoli per saperne di più-

  1. Primi 3 operatori MySQL
  2. Diversi comandi di query MySQL
  3. I 6 migliori caratteri jolly in MySQL
  4. Come funziona lo schema MySQL?