Tipi di viste in SQL | Visualizzazioni in SQL [2022]

Pubblicato: 2021-01-02

La scrittura di query SQL complesse e la protezione dell'accesso al database sono le sfide che gli amministratori di database e gli utenti devono sempre affrontare e queste query possono diventare molto complicate. L'utilizzo di un proxy sulla tabella originale aiuta a semplificare tali query. Inoltre, ci sono casi in cui l'amministratore desidera limitare l'accesso diretto al database. Per entrambe queste circostanze, è possibile utilizzare le viste.

Sommario

Cos'è una vista?

SQL ha una versione speciale delle tabelle chiamata View, che è una tabella virtuale che viene compilata in runtime. Una vista è solo un'istruzione SQL e i dati ad essa associati non sono archiviati fisicamente nella vista ma sono archiviati nelle tabelle di base di essa.

Impara a creare applicazioni come Swiggy, Quora, IMDB e altro

Può contenere tutte le righe e le colonne di una tabella o solo alcune righe e colonne selezionate se è necessario limitare l'accesso. A seconda della query SQL scritta utilizzata per creare la vista, può essere creata da una o più tabelle.

Le viste possono essere utilizzate per strutturare i dati in modo che gli utenti li trovino naturali, semplificare query complesse, limitare l'accesso ai dati e riepilogare i dati di diverse tabelle per creare report.

Gestione delle visualizzazioni

Ci sono diversi aspetti relativi alla gestione delle viste, che sono definiti qui.

Creazione vista: le viste possono essere create utilizzando l'istruzione "crea vista". La vista è definita da una query che fa riferimento a viste, tabelle o altre viste materializzate.

Ridenominazione della vista: le viste possono essere rinominate e dovrebbe essere assicurato che tutti gli oggetti che fanno riferimento al vecchio nome della vista ora abbiano un nuovo nome.

Visualizzazioni elenco: tutte le visualizzazioni nel database di SQL ServerSQL Server possono essere elencate eseguendo query nella visualizzazione del catalogo di sistema.

Rimozione della vista: utilizzando l'istruzione "drop view", è possibile rimuovere una vista esistente.

Leggi: SQL vs PlSQL

Iscriviti ai corsi di sviluppo software online delle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.

Tipi di viste in SQL

Esistono due tipi di viste in SQL Server, ovvero le viste definite dal sistema e le viste definite dall'utente. Questa sezione contiene una descrizione di questi due tipi.

Viste definite dal sistema

Le visualizzazioni definite dal sistema sono visualizzazioni predefinite già esistenti nel database di SQL Server, ad esempio Tempdb, Master e temp. Ciascuno dei database ha le proprie proprietà e funzioni.

Il database dei modelli per tutte le viste definite dall'utente proviene dal database principale. Contiene molte viste predefinite che sono modelli per tabelle e altri database. Contiene quasi 230 delle viste predefinite.

Le viste definite dal sistema verranno automaticamente allegate a tutti i database definiti dall'utente. E questi forniscono informazioni sul database, le tabelle e tutte le proprietà del database e delle tabelle. Esistono tre tipi di viste definite dal sistema, Schema delle informazioni, Vista del catalogo e Vista a gestione dinamica.

Schema informativo

Ci sono venti diverse viste dello schema nel server SQL. Vengono utilizzati per visualizzare le informazioni fisiche del database, come tabelle, vincoli, colonne e viste. Questa vista inizia con INFORMATION_SCHEMA e seguita dal nome della vista. INFORMATION_SCHEMA.CHECK_CONSTRAINTS viene utilizzato per ricevere informazioni su qualsiasi vincolo disponibile nel database.

Viene utilizzato un vincolo su una determinata colonna in una tabella per garantire che determinate regole sui dati vengano seguite per la colonna. INFORMATION_SCHEMA.COLUMNS viene utilizzato per ricevere informazioni sulle colonne della tabella come il nome della tabella, il nome della colonna, la posizione della colonna, il valore predefinito, ecc. Per restituire le viste presenti nel database corrente, viene utilizzato INFORMATION_SCHEMA.VIEWS.

Vista Catalogo

Questi vengono utilizzati per restituire le informazioni utilizzate dal server SQL. Le visualizzazioni del catalogo forniscono un modo efficiente per ottenere, presentare e trasformare forme di informazioni personalizzate. Ma non includono alcuna informazione su backup, replica o piani di manutenzione, ecc. Queste viste vengono utilizzate per accedere ai metadati dei database e i nomi e i nomi delle colonne sono descrittivi, consentendo all'utente di interrogare ciò che è previsto.

Visualizzazione gestione dinamica

Questi sono stati introdotti nel server SQL nel 2005. L'amministratore può ottenere informazioni sullo stato del server per diagnosticare problemi, monitorare lo stato dell'istanza del server e ottimizzare le prestazioni attraverso queste visualizzazioni. La visualizzazione a gestione dinamica con ambito server è archiviata solo nel database principale, mentre la visualizzazione a gestione dinamica con ambito database è archiviata in ogni database.

Viste definite dall'utente

Questi sono i tipi di viste definiti dagli utenti. Ci sono due tipi nelle viste definite dall'utente, Vista semplice e Vista complessa.

Vista semplice

Queste viste possono contenere solo una singola tabella di base o possono essere create solo da una tabella. Le funzioni di gruppo come MAX(), COUNT() e così via non possono essere utilizzate qui e non contiene gruppi di dati.

Utilizzando Simple View, è possibile eseguire operazioni DML. L'inserimento, l'eliminazione e l'aggiornamento sono direttamente possibili, ma Visualizzazione semplice non contiene colonne raggruppate, pseudocolonne come rownum, distinte, definite da espressioni. La visualizzazione semplice inoltre non include le colonne NOT NULL dalle tabelle di base.

Vista Complessa

Queste viste possono contenere più di una tabella di base o possono essere costruite su più di una tabella di base e contengono una clausola group by, condizioni di join, una clausola order by. Le funzioni di gruppo possono essere utilizzate qui e contiene gruppi di dati. Le viste complesse non possono sempre essere utilizzate per eseguire operazioni DML.

Inserimento, eliminazione e aggiornamento non possono essere applicati direttamente alle viste complesse. Ma a differenza di Simple Views, Complex Views può contenere group by, pseudocolonne come rownum, distinte, colonne definite da espressioni. Le colonne NOT NULL possono essere incluse nelle viste complesse mentre non sono selezionate dalla vista semplice.

Ci sono altre viste, come Vista in linea e Vista materializzata. La vista inline si basa su una sottoquery nella clausola FROM, la sottoquery crea una tabella temporanea e questo semplifica la query complessa.

Queste viste vengono utilizzate per scrivere query SQL complesse senza le operazioni di join e sottoquery. La vista materializzata memorizza la definizione e persino i dati. Le repliche dei dati vengono create archiviandole fisicamente. Questa visualizzazione riduce il tempo di elaborazione per la rigenerazione di tutti i dati.

Leggi: Idee e argomenti interessanti per i progetti SQL

Conclusione

Questo articolo descrive i tipi di visualizzazioni in SQL . Una vista in SQL viene definita e spiegata in dettaglio e vengono definiti anche i diversi modi in cui vengono gestite le viste. I diversi tipi di viste in SQL , come le viste definite dal sistema e le viste definite dall'utente, sono descritti in dettaglio insieme ai vari sottotipi in ogni tipo.

Se sei interessato a saperne di più sullo sviluppo di software full-stack, dai un'occhiata al programma Executive PG di upGrad & IIIT-B in Full-stack Software Development, progettato per i professionisti che lavorano e offre oltre 500 ore di formazione rigorosa, oltre 9 progetti, e incarichi, status di Alumni IIIT-B, progetti pratici pratici e assistenza sul lavoro con le migliori aziende.

Prepararsi per una carriera del futuro

Candidati ora per un Master in Ingegneria del Software