7
Il linguaggio SQL (Structured Query Language) In informatica, SQL (Structured Query Language) è un linguaggio standardizzato per database basati sul modello relazionale, progettato per le seguenti operazioni : creare e modificare schemi di database (DDL = Data Definition Language); inserire, modificare e gestire dati memorizzati (DML = Data Manipulation Language); interrogare i dati memorizzati (DQL = Data Query Language); creare e gestire strumenti di controllo e accesso ai dati (DCL = Data Control Language). L'SQL nasce nel 1974 ad opera di Donald Chamberlin, nei laboratori dell'IBM( International Business Machines Corporation ),a quel tempo però si chiamava SEQUEL. Nasce come strumento per lavorare con database che seguano il modello relazionale. L'ANSI(American National Standards Institute ,Istituto Americano di Normalizzazione),lo adottò come standard fin dal 1986, senza apportare modifiche sostanziali alla versione inizialmente sviluppata da IBM. Nel 1987 la ISO(Organization for Standardization)fece lo stesso. Questa prima versione standard è denominata SQL/86. Il linguaggio SQL si divide in: DDL (Data Definition Language) DML (Data Manipulation Language) DCL (Data Control Language) QL (Query Language) In informatica il Data Definition Language (DDL) è un linguaggio che permette di creare, modificare o eliminare gli oggetti in un database ovvero agire sullo schema di database . Sono i comandi DDL a definire la struttura del database e quindi l'organizzazione logica dei dati in esso contenuti, ma non fornisce gli strumenti per modificare i valori assunti dai dati o per interrogare i dati stessi per il quale si usano rispettivamente il Data Manipulation Language (DML) e il Data Query Language (QL). È utilizzato sia in fase di progettazione, sia in fase di ristrutturazione del database. Per agire sulla struttura del database l'utente deve avere i permessi necessari, assegnati tramite il Data Control Language (DCL). In informatica Data Manipulation Language (DML) è un linguaggio che consente di leggere, inserire, modificare o eliminare i dati in un database. Attualmente il linguaggio di manipolazione dati più utilizzato è l'SQL (Structured Query Language), che trova il suo maggiore campo di applicazione nel trattamento dei database relazionali.

Il linguaggio SQL (Structured Query Language)€¦ · Il linguaggio SQL (Structured Query Language) In informatica, SQL (Structured Query Language) è un linguaggio standardizzato

  • Upload
    others

  • View
    63

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Il linguaggio SQL (Structured Query Language)€¦ · Il linguaggio SQL (Structured Query Language) In informatica, SQL (Structured Query Language) è un linguaggio standardizzato

Il linguaggio SQL

(Structured Query Language)

In informatica, SQL (Structured Query Language) è un linguaggio standardizzato per database basati sul

modello relazionale, progettato per le seguenti operazioni:

• creare e modificare schemi di database (DDL = Data Definition Language);

• inserire, modificare e gestire dati memorizzati (DML = Data Manipulation Language);

• interrogare i dati memorizzati (DQL = Data Query Language);

• creare e gestire strumenti di controllo e accesso ai dati (DCL = Data Control Language).

L'SQL nasce nel 1974 ad opera di Donald Chamberlin, nei laboratori dell'IBM( International Business Machines

Corporation ),a quel tempo però si chiamava SEQUEL. Nasce come strumento per lavorare con database che

seguano il modello relazionale. L'ANSI(American National Standards Institute ,Istituto Americano di

Normalizzazione),lo adottò come standard fin dal 1986, senza apportare modifiche sostanziali alla versione

inizialmente sviluppata da IBM. Nel 1987 la ISO(Organization for Standardization)fece lo stesso. Questa prima

versione standard è denominata SQL/86.

Il linguaggio SQL si divide in:

DDL (Data Definition Language)

DML (Data Manipulation Language)

DCL (Data Control Language)

QL (Query Language)

In informatica il Data Definition Language (DDL) è un linguaggio che permette di creare, modificare o

eliminare gli oggetti in un database ovvero agire sullo schema di database. Sono i comandi DDL a definire

la struttura del database e quindi l'organizzazione logica dei dati in esso contenuti, ma non fornisce gli

strumenti per modificare i valori assunti dai dati o per interrogare i dati stessi per il quale si usano

rispettivamente il Data Manipulation Language (DML) e il Data Query Language (QL). È utilizzato sia in fase

di progettazione, sia in fase di ristrutturazione del database. Per agire sulla struttura del database l'utente

deve avere i permessi necessari, assegnati tramite il Data Control Language (DCL). In informatica Data

Manipulation Language (DML) è un linguaggio che consente di leggere, inserire, modificare o eliminare i

dati in un database. Attualmente il linguaggio di manipolazione dati più utilizzato è l'SQL (Structured Query

Language), che trova il suo maggiore campo di applicazione nel trattamento dei database relazionali.

Page 2: Il linguaggio SQL (Structured Query Language)€¦ · Il linguaggio SQL (Structured Query Language) In informatica, SQL (Structured Query Language) è un linguaggio standardizzato

COMANDI SQL

Nel caso di SQL, i verbi utilizzati sono SELECT per la ricerca, INSERT per l'inserimento, UPDATE per

l'aggiornamento e DELETE per la cancellazione.

UPDATE

Il comando update ha la funzione di modificare i dati delle tabelle.

Il nome di ogni campo che deve essere modificato va dichiarato dopo la parola chiave SET e deve essere

seguito dal simbolo " = " (uguale) e dal nuovo valore che deve assumere.

È possibile modificare più campi della stessa riga in un unico comando update, separandoli l'uno dall'altro

con il simbolo ", " (virgola).

Page 3: Il linguaggio SQL (Structured Query Language)€¦ · Il linguaggio SQL (Structured Query Language) In informatica, SQL (Structured Query Language) è un linguaggio standardizzato

DELETE

Il comando delete ha la funzione di cancellare i dati dalle tabelle. Come il comando update anche delete può

operare in modo generico cancellando tutte le righe della tabella oppure può identificare le righe da

cancellare mediante la parola chiave aggiuntiva WHERE e la condizione (o le condizioni) ad essa associata.

TRUNCATE TABLE

Come già detto, una Delete priva di clausola Where cancella tutte le righe dalla tabella specificata. Tuttavia,

esiste un altro modo per svuotare completamente una tabella: il comando Truncate Table. Alcuni DBMS

implementano questo comando (che non è presente nello standard SQL) in modo più veloce rispetto a una

Delete, ad esempio cancellando il file dei dati senza leggerlo e ricreandolo vuoto. Generalmente però questo

impedisce che vengano restituite alcune informazioni accessorie, come il numero di righe cancellate.

Page 4: Il linguaggio SQL (Structured Query Language)€¦ · Il linguaggio SQL (Structured Query Language) In informatica, SQL (Structured Query Language) è un linguaggio standardizzato

I componenti delle basi di dati

• Schema (struttura): i campi che costituiscono la tabella

• Istanza: il record della tabella

• Tupla: la riga della tabella , a volte il risultato di un’interrogazione

Una tabella in SQL è formata da:

• attributi

• domini, di tipo standard

• vincoli intrarelazionali (opzionali)

Sintassi creazione tabella

Page 5: Il linguaggio SQL (Structured Query Language)€¦ · Il linguaggio SQL (Structured Query Language) In informatica, SQL (Structured Query Language) è un linguaggio standardizzato

VINCOLI INTRARELAZIONALI

• Verificano l’input dei dati di una tabella

• Se i dati non corrispondono allo schema di immissione non vengono accettati

• Chiamati anche constraints (costrizioni), sono condizioni che devono essere verificate da ogni

istanza della base di dati.

Page 6: Il linguaggio SQL (Structured Query Language)€¦ · Il linguaggio SQL (Structured Query Language) In informatica, SQL (Structured Query Language) è un linguaggio standardizzato

PRINCIPALI VINCOLI INTRARELAZIONALI

• NOT NULL: l’attributo non può essere lasciato vuoto.

• UNIQUE (unico): il vincolo UNIQUE garantisce che tutti i valori presenti in una colonna siano diversi .

• PRIMARY KEY: indica una chiave primaria univoca per tutta la tabella, che deve sempre essere di tipo NOT NULL.

Vincoli interralazionali

• Creare un legame permanente tra tabelle diverse.

• Vincolo tra due dati presenti in due tabelle diverse, chiamati chiave primaria (PRIMARY KEY) e di chiave esterna (FOREIGN KEY)

• Integrità referenziale (insieme di vincoli interrelazionali) verifica le relazioni tra record di tabelle correlate, agisce quando i dati collegati tra loro da vincoli vengono eliminati o modificati.

Esempio vincoli interrelazionali

Page 7: Il linguaggio SQL (Structured Query Language)€¦ · Il linguaggio SQL (Structured Query Language) In informatica, SQL (Structured Query Language) è un linguaggio standardizzato

Modifica schema tabella

• La modifica dello schema di una tabella avviene con il costrutto ALTER TABLE.

Alter in italiano modificare.

DROP Columns to a table elimina la colonna nella tabella ADD Columns to a table aggiunge colonne a una tabella.