5° Anno TEORIA 4. Introduzione al linguaggio SQL

16. Il linguaggio SQL Vers.1.8 – Marzo 2018 16. IL LINGUAGGIO SQL Il linguaggio SQL (Structured Query Language) è un linguaggio non procedurale (in quanto non richiede la descrizione dei passi elementari di elaborazione) e di tipo dichiarativo (in quanto è un tipo di linguaggio in cui le istruzioni si limitano a descrivere “cosa” si vuol fare e non “come” farlo). E’ ormai da tempo uno degli standard tra i linguaggi per basi di dati relazionali. Il linguaggio SQL assolve alle funzioni di: - DDL (Data Definition Language) che prevede istruzioni per definire la struttura delle relazioni della base di dati. Serve quindi a creare tabelle, vincoli, viste ed indici; - DML (Data Manipulation Language) che prevede istruzioni per manipolare i dati contenuti nelle diverse tabelle. Serve in particolare per inserire, cancellare e modificare ennuple; - DCL (Data Control Language) che prevede istruzioni per controllare il modo in cui le operazioni vengono eseguite. Consente di creare e cancellare gli utenti, gestire il controllo degli accesi a più utenti ed i permessi agli utenti autorizzati. Utente Il linguaggio SQL può essere usato in: - modalità stand-alone: in questa modalità può essere classificato come query language interattivo. I comandi vengono inviati al sistema operativo in modo interattivo (utilizzando un’apposita interfaccia grafica con menù, finestre ed icone) oppure batch (creando file di istruzioni da eseguire in gruppo). In entrambe le modalità viene invocato l’interprete SQL. Le interrogazioni o query vengono composte utilizzando le operazioni dell’algebra relazionale ottenendo come risultato sempre una tabella che rappresenta una relazione. Batch Interattivo Singole istruzioni File di istruzioni Tabelle Interprete SQL DBMS ARCHIVI - modalità embedded: in questa modalità è possibile utilizzare comandi SQL all’interno di istruzioni di altri linguaggi (esempio C, Java, C++) detti “linguaggi ospite”. In linea di massima un programma scritto in linguaggio ospite compilato (che incorpora comandi SQL al suo interno) subirà un primo processo di precompilazione (che si occupa di tradurre le sole istruzioni SQL in istruzioni in linguaggio ospite compilato) seguito da una vera e propria compilazione (che si occupa di tradurre le istruzioni specifiche del linguaggio ospite). Utente Tabelle Programma in linguaggio ospite + istruzioni SQL PRE-Compilatore per linguaggio ospite LIBRERIE SQL Programma in puro linguaggio ospite Noi faremo riferimento alla versione STAND-ALONE di SQL nel suo standard adottato nel 1992 detto SQL-2 Compilatore per linguaggio ospite DBMS ARCHIVI Autore: Rio Chierego (email: riochierego@libero.it - sito web: www.riochierego.it) Pag. 1