1 / 25

SQL Structured Query Language

SQL Structured Query Language. Linguaggio non procedurale o di tipo dichiarativo . È ormai da tempo uno degli standard tra i linguaggi per basi di dati relazionali. Versioni. Prima versione introdotta da IBM alla fine degli anni 1970 Negli anni 1980 viene introdotto il termine SQL

aurek
Download Presentation

SQL Structured Query Language

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SQLStructuredQueryLanguage Linguaggio non procedurale o di tipo dichiarativo. È ormai da tempo uno degli standard tra i linguaggi per basi di dati relazionali. Daniela Musio

  2. Versioni • Prima versione introdotta da IBM alla fine degli anni 1970 • Negli anni 1980 viene introdotto il termine SQL • SQL-2 (1992) • SQL-3 (implementa nuove caratteristiche come la ricorsione e funzionalità per il trattamento degli oggetti) Il linguaggio SQL è presente in diverse versioni o dialetti, che sono in genere aderenti agli standard internazionali ANSI (American National Standards Institute) e ISO (International Standards Organization). Le differenze tra tali versioni possono essere facilmente individuate attraverso la documentazione elettronica o cartacea fornita dai prodotti software che le implementano. Tutte si rifanno alla versione dello standard adottato nel 1992, detto SQL-2. Daniela Musio

  3. Modalità di utilizzo Il linguaggio SQL può essere utilizzato in modalità: • stand-alone o a sé stante • embedded o linguaggio ospite Daniela Musio

  4. Identificatori Identificatori = nomi di tabelle e di attributi max 18 caratteri (devono iniziare con una lettera e possono contenere il carattere “_”) Nome Tabella.NomeAttributo Quando è necessario identificare il nome di un attributo della tabella occorre indicare sia il nome della tabella sia il nome dell’attributo separati dal “.” Daniela Musio

  5. Tipi di dati Le costanti si rappresentano con gli apici ‘ ’,o i doppi apici” “ Daniela Musio

  6. Funzioni di SQL Il linguaggio SQL assolve alle funzioni di: • DDL (Data DefinitionLanguage), che prevede le istruzioni per definire la struttura delle relazioni della base di dati. Serve quindi per creare tabelle, vincoli, viste e indici; • DML (Data ManipulationLanguage), che prevede le istruzioni per manipolare i dati contenuti nelle diverse tabelle. In particolare permette inserimenti, cancellazioni e modifiche dei record delle tabelle; • DCL(Data ControlLanguage), che prevede istruzioni per controllare gli accessi e i permessi per gli utenti; • QueryLanguage, consente di porre interrogazioni al database. Daniela Musio

  7. Istruzioni del DDL • Create Tableconsente di creare una tabella • Alter Tableconsente di modificare la struttura di una tabella • Drop Tableconsente di eliminare una tabella • Create/Drop Indexconsente di creare/cancellare un indice su una tabella esistente, indicando il nome degli attributi cui associare tale indice • Create/Drop View consente di creare/cancellare delle viste = modalità con le quali gli utenti possono vedere le tabelle del database Daniela Musio

  8. Create Table (creazione di una tabella) Create Table <nome tabella> ( < attributo1> <tipo> [not null], < attributo2> <tipo> [not null], ………………………… < attributoN> <tipo> [not null] [Primary Key <nome attributo chiave>], [Foreign Key <attributo> References<tabella(attributo)>] ); Daniela Musio

  9. Alter Table (modifica di una tabella) Alter Table<nome tabella> Add <nuovo attributo> <tipo>; Consente di inserire un nuovo attributo Alter Table<nome tabella> Drop <nome attributo da cancellare>; Consente di cancellare un attributo Alter Table<nome tabella> Modify <nome attributo> <nuovo tipo attributo>; Consente di modificare il tipo di un attributo Daniela Musio

  10. DropTable (cancellazione di una tabella) Drop Table <nome tabella>; Daniela Musio

  11. Istruzioni del DML • Insertconsente di inserire i valori in una tabella • Updateconsente di modificare i dati presenti in una tabella • Deleteconsente di eliminare le righe da una tabella Daniela Musio

  12. Insert Insert into <nome tabella> (<attributo1>, <attributo2>, …, <attributoN>) Values (<valore1>,<valore2>, … ,<valoreN>); Daniela Musio

  13. Update Update <nometabella> Set <attributo1>=<espressione1>, <attributo2>=<espressione2>, …………………….. <attributoN>=<espressioneN> [where <condizione>] Daniela Musio

  14. Delete Delete From <nome tabella> [where <condizione>] Daniela Musio

  15. Istruzioni del DCL • Grantconsente di concedere i permessi di accesso al database, specificando i tipi di accesso e l’elenco degli utenti cui sono riconosciuti tali accessi. • Lock/unlock Table • Recover Table • Check Table • Repair Table Insieme di comandi che consentono di salvaguardare l’integrità dei dati contro eventuali malfunzionamenti del sistema Daniela Musio

  16. Query Language • Selectconsente di attivare le interrogazioni sul database al fine di reperire le informazioni che interessano. Il risultato dell’interrogazione è una nuova tabella. per ottenere tutti gli attributi basta indicare * Select<elenco attributi da visualizzare> From <elenco tabelle su cui operare> separate dalla , Where <condizioni> nelle condizioni possono comparire sia dati costanti sia parametri con input da parte dell’utente possono comparire anche + condizioni combinate, separate dagli operatori AND, OR e NOT Daniela Musio

  17. Predicati ALL e DISTINCT • ALL indica la richiesta di ottenere come risultato dell’interrogazione tutte le righe che soddisfano le condizioni presenti nel comando Where (è un predicato di default, quindi non è necessario specificarlo) • DISTINCT le righe duplicate nella tabella, risultante dall’operazione di selezione dei dati, vengono ridotte ad una. Daniela Musio

  18. Clausola AS • AS consente di modificare l’intestazione delle colonne della tabella risultante dall’operazione di selezione. Per default l’intestazione riprende il nome dell’attributo visualizzato nella colonna. Con questa clausola è anche possibile intestare le nuove colonne derivanti dal calcolo di espressioni su attributi presenti nella tabella. Daniela Musio

  19. Le condizioni di ricerca • Operatori utilizzabili =, <, >, <>, >=, <=, AND, OR, NOT • Between  controlla se un valore è compreso all’interno di un intervallo di valori, inclusi gli estremi • IN  controlla se un valore appartiene ad un insieme specificato di valori • LIKE  controlla il valore di un attributo di tipo carattere con un modello di stringa che può contenere caratteri jolly (metacaratteri: _,%) • IS NULL  controlla che il valore di una colonna sia pari al valore Null Daniela Musio

  20. Operazioni relazionali Selezione Consente di ricavare da una tabella relazionale un’altra tabella contenente solo le righe che soddisfano una certa condizione. Si realizza con l’istruzione: Select* From <nome tabella> Where <condizione>; Daniela Musio

  21. Operazioni relazionaliProiezione Consente di ottenere una tabella relazionale contenente solo alcuni attributi della tabella di partenza. Si realizza con l’istruzione: Select<attributo1> … <attributoN> From <nome tabella>; Daniela Musio

  22. Operazioni relazionaliCongiunzione Consente di ottenere una tabella relazionale contenente tutti gli attributi (selezione) o solo alcuni attributi (proiezione), derivanti da due o più tabelle sulle quali si effettua un’operazione di congiunzione grazie ad un attributo comune. Si realizza con l’istruzione: Select elenco attributi From <tabella1>, …, <tabellaN> Where <uguaglianza attributi chiave>; Daniela Musio

  23. Funzioni di aggregazione • COUNTconta il numero di righe presenti in una tabella • SUMcalcola la somma dei valori numerici presenti in una colonna specificata come argomento della funzione • AVGcalcola la media dei valori numerici presenti in una colonna specificata come argomento della funzione • MIN, MAX individuano rispettivamente il valore minimo e il valore massimo dei valori numerici presenti in una colonna specificata come argomento della funzione Daniela Musio

  24. Ordinamenti e raggruppamenti • OrderBy(Asc, Desc) Consente di ottenere i risultati di una interrogazione ordinati secondo i valori contenuti in una o più colonne, tra quelle elencate con la Select. L’ordinamento è crescente per default, se si vuole un ordinamento decrescente occorre specificare la parola chiave DESC. • Group By È una clausola aggiuntiva che si utilizza quando la Select contiene funzioni di aggregazione; consente di raggruppare un insieme di righe aventi lo stesso valore nelle colonne indicate, producendo una riga di risultati per ogni raggruppamento.  La struttura del comando Select con raggruppamenti può essere ampliata con la clausola HAVING, che consente di sottoporre a condizione i gruppi creati con la Group By Daniela Musio

  25. Linguaggio dichiarativo Le istruzioni si limitano a descrivere “cosa” si vuol fare , al “come” ci pensa il sistema. Differenza rispetto ai linguaggi procedurali attraverso i quali vengono descritte singole istruzioni elementari. Daniela Musio

More Related