Skill Factory
Lista post > Ricominciamo ... dal linguaggio SQL Lezione 5
Ricominciamo ... dal linguaggio SQL Lezione 5
Gino Visciano |
Skill Factory - 05/03/2016 00:27:14 | in Tutorials
Benvenuti alla quinta lezione, nella lezione precedente avete creato lo schema fisico per implementare il Database per gestire libri dati in prestito, adesso inizierete ad utilizzare il linguaggio SQL per creare il Database.
I comandi del Linguaggio SQL possono essere raggruppati in quattro categorie:
- DDL (Data Definition Language)
- DML (Data Manipulation Language)
- DQL (Data Query Language)
- DCL (Data Control Language)
Comandi DDL (Data Definition Language)
I comandi di questa categoria permettono di creare, modificare o eliminare gli oggetti che costituiscono la struttura del Database, come ad esempio: Tabelle, Viste, Indici, Vincoli ed Utenti.
I Comandi DDL sono: CREATE, ALTER e DROP.
CREATE si usa sia per creare il Database, sia per creare Tabelle (Table), Viste (View), Indici (Index), Vincoli (Constraint) e Utenti (User).
ALTER permette di modificare gli oggetti del Database creati con CREATE.
DROP permette di eliminare gli oggetti del Database creati con CREATE.
Ricordate che quando si crea una tabella, oltre ad indicare i tipi di dati per le colonne, si possono applicare anche i Vincoli seguenti:
- PRIMARY KEY: Imposta la Colonna come chiave primaria, non accetta duplicati;
- FOREGN KEY: È una chiave esterna che si associa ad chiave primaria, serve ad impostare il vincolo d’Integrità referenziale;
- UNIQUE: Imposta la Colonna come indice unico, non accetta duplicati;
- NOT NULL: Il contenuto della Colonna è obbligatorio, non accetta valori NULL;
- CHECK: Permette di impostare una condizione alla Colonna che deve essere rispettata quando s’inserisce un valore.
Ad esempio, l'immagine seguente mostra come creare con il comando CREATE la Tabella Lettori, in base allo Schema Fisico indicato.
Attenzione!!! L'esempio funziona correttamente se il Database di destinazione è stato creato in ambiente MySQL, per DBMS diversi dovete verificare la sintassi.
Comand DML (Data Manipulation Language)
I comandi di questa categoria permettono di inserire, modificare e cancellare i record memorizzati nelle Tabelle.
I Comandi DML sono: INSERT, UPDATE e DELETE.
INSERT si usa per inserire uno o più record in una Tabella.
UPDATE permette di modificare uno o più record di una Tabella.
DELETE permette di cancellare uno o più record di una Tabella.
Ad esempio per inserire due record nella Tabella Lettori creata precedentemente, basta usare i comandi seguenti:
INSERT into lettori (nome, cognome, codice_fiscale, indirizzo, cap, citta, provincia)
values (‘Carlo’, ‘Rossi’, ‘CRLRSS23F45L354G’, ‘Via Roma’, ‘00100’, ‘Roma’, ‘Rm’);
INSERT into lettori (nome, cognome, codice_fiscale, indirizzo, cap, citta, provincia)
values (‘Massimo’, ‘Iovine’, ‘MSSVNN12V56U323G’, ‘Via Ponte Vecchio’, ‘00100’, ‘Roma’, ‘Rm’);
I valori sono scritti tra apici perché sono tutti char e varchar. I valori numerici (interi o decimali) e quelli booleani true e false, si scrivono senza apici.
Attenzione!!! Nei valori decimali la virgola s'indica con il punto, come mostra l'esempio: 10.5.
Il valore della colonna ID viene generato automaticamente, perché la colonna è autoincrementale. Non inserendo l’ID tra i valori, siete obbligati ad indicare nel comando INSERT il nome di tutte le colonne prima della clausola values.
Nel comando INSERT i nomi delle colonne potete non indicarli solo se i valori da inserire ci sono tutti e sono posizionati nela stessa sequenza delle colonne della tabella.
L'immagine seguente mostra lo stato della Tabella Lettori dopo i due inserimenti:
Comandi DQL (Data Query Language)
I comandi di questa categoria permettono di interrogare il Database attraverso la creazione di Viste chiamate anche Query.
Le Query si creano con il comando SELECT insieme alle diverse clausole disponibili che permettono di personalizzare qualunque tipo di Vista.
Il comando SELECT permette di creare viste personalizzate utilizzando le seguenti clausole:
- ORDER BY: Ordina la vista in base alle chiavi di ordinamento indicate;
- WHERE: Permette di indicare una o più condizioni che servono per selezionare le righe della vista;
- GROUP BY: Permette di ottenere viste con subtotali, in base alle chiavi di raggruppamento indicate;
- JOIN: Mette in relazione più Tabelle tra loro attraverso l’associazione tra chiavi primarie e chiavi esterne. Si usa per creare viste composte da dati presenti in più Tabelle.
Una Vista è un prospetto (Report) composto da colonne (Proiezione) e righe (Selezione) che appartengono ad una o più Tabelle.
Il modo più semplice per visualizzare tutto il contenuto di una tabella con il comando SELECT è il seguente:
SELECT * FROM NOME_TABELLA;
L'asterisco (*) indica al comando di visualizzare il contentuo di tutte le colenne della tabella NOME_TABELLA.
Adesso vediamo un esempio di Query applicata sulla Tabella Lettori.
Indicando nel comando SELECT i nomi delle colonne da visualizzare, si applica una Proiezione, con la clausola WHERE, attraverso la condizione ID>=4 AND ID<=8, si applica una Selezione che permette di visualizzare solo le righe della tabella con ID compreso tra 4 e 8.
Il risultato della Query è il seguente:
Comandi DCL (Data Control Language)
I comandi di questa categoria permettono di gestire i permessi assegnati agli utenti per gestire gli oggetti del Database.
I Comandi DCL sono: GRANT e REVOKE.
GRANT si usa per assegnare i permessi che servono ad un utente per gestire gli oggetti del Database.
REVOKE si usa per togliere i permessi che servono ad un utente per gestire gli oggetti del Database.
<< Lezione precedente Lezione successiva >>
T U T O R I A L S S U G G E R I T I