La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Linguaggio non procedurale o di tipo dichiarativo.dichiarativo È ormai da tempo uno degli standard tra i linguaggi per basi di dati relazionali. 15/01/20141Daniela.

Presentazioni simili


Presentazione sul tema: "Linguaggio non procedurale o di tipo dichiarativo.dichiarativo È ormai da tempo uno degli standard tra i linguaggi per basi di dati relazionali. 15/01/20141Daniela."— Transcript della presentazione:

1 Linguaggio non procedurale o di tipo dichiarativo.dichiarativo È ormai da tempo uno degli standard tra i linguaggi per basi di dati relazionali. 15/01/20141Daniela 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 ) 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 ) 15/01/20142Daniela Musio 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.

3 Modalità di utilizzo Il linguaggio SQL può essere utilizzato in modalità: stand-alone o a sé stante embedded o linguaggio ospite 15/01/2014Daniela Musio3

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 dellattributo separati dal. 15/01/2014Daniela Musio4

5 Tipi di dati Character(n), Char(n)Stringhe di caratteri di lunghezza n, con n che può variare da 1 a DateData nella forma MM/GG/AA TimeOra nella forma HH:MM Integer(p), Int(p)Numero intero con precisione p (numero max di cifre che il numero può contenere), con p che può variare da 1 a 45 IntegerNumero intero con precisione 10 SmallintNumero intero con precisione 5 Decimal(p,d), Dec(p,d)Numero reale in fixed point con precisione p cifre intere e d cifre decimali. Float(p), Float, RealNumeri reali in floating point con precisione p, 15, 7 per la mantissa 15/01/2014Daniela Musio5 Le costanti si rappresentano con gli apici,o i doppi apici

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

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 Viewconsente di creare/cancellare delle viste = modalità con le quali gli utenti possono vedere le tabelle del database 15/01/2014Daniela Musio7

8 Create Table ( creazione di una tabella ) Create Table ( [not null], [not null], ………………………… [not null] [Primary Key ], [Foreign Key References ] ); 15/01/2014Daniela Musio8

9 Alter Table ( modifica di una tabella ) Alter Table Add ; Consente di inserire un nuovo attributo Alter Table Drop ; Consente di cancellare un attributo Alter Table Modify ; Consente di modificare il tipo di un attributo 15/01/2014Daniela Musio9

10 Drop Table ( cancellazione di una tabella ) Drop Table ; 15/01/2014Daniela Musio10

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 15/01/2014Daniela Musio11

12 Insert Insert into (,, …, ) Values (,, …, ); 15/01/2014Daniela Musio12

13 Update Set =, =, …………………….. = [where ] 15/01/2014Daniela Musio13

14 Delete Delete From [where ] 15/01/2014Daniela Musio14

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

16 Query Language Select consente di attivare le interrogazioni sul database al fine di reperire le informazioni che interessano. Il risultato dellinterrogazione è una nuova tabella. per ottenere tutti gli attributi basta indicare * Select From separate dalla, Where nelle condizioni possono comparire sia dati costanti sia parametri con input da parte dellutente possono comparire anche + condizioni combinate, separate dagli operatori AND, OR e NOT 15/01/2014Daniela Musio16

17 Predicati ALL e DISTINCT ALL indica la richiesta di ottenere come risultato dellinterrogazione 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 dalloperazione di selezione dei dati, vengono ridotte ad una. 15/01/2014Daniela Musio17

18 Clausola AS AS consente di modificare lintestazione delle colonne della tabella risultante dalloperazione di selezione. Per default lintestazione riprende il nome dellattributo visualizzato nella colonna. Con questa clausola è anche possibile intestare le nuove colonne derivanti dal calcolo di espressioni su attributi presenti nella tabella. 15/01/2014Daniela Musio18

19 Le condizioni di ricerca Operatori utilizzabili =,, <>, >=, <=, AND, OR, NOT Between controlla se un valore è compreso allinterno 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 15/01/2014Daniela Musio19

20 Operazioni relazionali Selezione Consente di ricavare da una tabella relazionale unaltra tabella contenente solo le righe che soddisfano una certa condizione. Si realizza con listruzione: Select * From Where ; 15/01/2014Daniela Musio20

21 Operazioni relazionali Proiezione Consente di ottenere una tabella relazionale contenente solo alcuni attributi della tabella di partenza. Si realizza con listruzione: Select … From ; 15/01/2014Daniela Musio21

22 Operazioni relazionali Congiunzione 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 unoperazione di congiunzione grazie ad un attributo comune. Si realizza con listruzione: Select elenco attributi From, …, Where ; 15/01/2014Daniela Musio22

23 Funzioni di aggregazione COUNT conta il numero di righe presenti in una tabella SUM calcola la somma dei valori numerici presenti in una colonna specificata come argomento della funzione AVG calcola 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 15/01/2014Daniela Musio23

24 Ordinamenti e raggruppamenti Order By (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. Lordinamento è 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 15/01/2014Daniela Musio24

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. 15/01/2014Daniela Musio25


Scaricare ppt "Linguaggio non procedurale o di tipo dichiarativo.dichiarativo È ormai da tempo uno degli standard tra i linguaggi per basi di dati relazionali. 15/01/20141Daniela."

Presentazioni simili


Annunci Google