






















Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Una panoramica su come creare e gestire tabelle utilizzando il linguaggio sql, compresi i comandi per inserire, cancellare, modificare e interrogare i dati. Verranno presentate le sintassi per la creazione di tabelle, l'inserimento di dati, la cancellazione di record e la modifica dei dati. Inoltre, verranno esplorate le query select per effettuare operazioni di ricerca sui dati contenuti nelle tabelle.
Tipologia: Dispense
1 / 30
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!























Con il termine database (base di dati) si indica l’insieme dei dati utilizzati in uno specifico sistema informativo, di tipo aziendale, scientifico, amministrativo o altro. Un database è composto da due diversi tipi di informazione, appartenenti a distinti livelli di astrazione:
Le origini di SQL risalgono all’inizio degli anni 70 in California, quando la società IBM sviluppa il System R, un applicativo per la gestione dei dati, il cui linguaggio veniva chiamato Sequel. Questo linguaggio rappresentava l’embrione di quello che sarebbe poi diventato l’attuale SQL. Infatti alla fine degli anni 70, sempre l’IBM, sviluppa un altro prodotto il DB2 (un sistema per la gestione di database relazionali o RDBMS, Relational Data Base Management System ) che utilizza una primordiale versione di SQL. Da allora si sono succeduti un gran numero di prodotti che implementano questo linguaggio e ogni produttore, aggiungendo delle variazioni e estensioni proprie, ha contribuito alla creazione della miriade di dialetti che oggi vengono chiamati SQL.
Il linguaggio SQL prevede l’utilizzo dei seguenti tipi di dati:
La specifica del tipo DATE è effettuata mediante la parola chiave DATE.
La creazione di tabelle avviene tramite il comando Create Table La sintassi di questo comando è: CREATE TABLE NomeTabella( NomeColonna Dominio [,NomeColonna Dominio]... [, PRIMARY KEY (ListaDiNomiDiColonna)] ) dove: NomeTabella è il nome della relazione che viene creata; NomeColonna Dominio [,NomeColonna Dominio]... è l’elenco separato da virgole degli attributi, con relativo dominio, che fanno parte della relazione. Ogni tabella ha almeno una colonna; PRIMARY KEY specifica quali attributi fanno parte della chiave primaria. ListaDiNomiDiColonna è una lista separata da virgole di nomi di attributi. La chiave primaria non è obbligatoria. N.B. In Microsoft Access per definire un tipo di dato numerico si utilizza NUMBER. Vediamo adesso degli esempi per creare delle tabelle: CREATE TABLE Studenti (Matricola NUMBER, Cognome CHAR (15), Nome CHAR (15), PRIMARY KEY (Matricola) ) e si otterrà la seguente tabella :
Con i comandi: CREATE TABLE Corsi ( Id NUMBER Nome CHAR (15), Docente CHAR (16), PRIMARY KEY (Id) ) si ottiene la tabella:
Il comando INSERT è utilizzato per l’inserimento dei dati in una tabella. La sua sintassi è: INSERT INTO <nome_tabella> Values <lista_di_valori> dove gli elementi della sintassi hanno i seguenti significati: <nome_tabella> identifica la tabella di destinazione <lista_di_valori> è una lista di valori separata da virgole. I valori elencati verranno inseriti nella tabella rispettando l’ordine in cui le colonne sono state definite al momento della creazione della tabella stessa. Essi devono corrispondere ai tipi di dato specificati nella definizione delle colonne. Se ListaDiValori non contiene tante costanti quanti sono gli attributi della relazione, gli attributi per cui manca la costante assumeranno valore NULL. Inseriamo adesso dei valori nella tabella creata in precedenza: INSERT INTO Studenti VALUES ('101010', 'Rossi', 'Mario'); ottenendo la tabella:
In SQL, la cancellazione di record è ottenuta mediante il costrutto DELETE FROM. La sintassi del comando è: DELETE FROM NomeTabella [WHERE Condizione] dove nella clausola DELETE FROM NomeTabella è un nome di relazione creata con CREATE TABLE e WHERE Condizione è un predicato SQL. La query SQL cancella dalla relazione NomeTabella i record che soddisfano la Condizione nella clausola WHERE; se la clausola WHERE non è presente vengono cancellate tutte le tuple della relazione. es: si vuole cancellare lo studente Verdi dalla tabella Studenti occorre scrivere: DELETE FROM Studenti WHERE Cognome = ‘Verdi’;
Il comando UPDATE è utilizzato per la modifica dei dati nelle tabelle. La sua sintassi è UPDATE <nome_tabella> SET <nome_colonna> =
I comandi d’interrogazione – query- consentono di effettuare operazioni di ricerca sui dati contenuti nelle tabelle del database, impostando le condizioni che tali dati devono soddisfare. Se si utilizza un interprete di comandi, il risultato dell’interrogazione verrà direttamente visualizzato sullo schermo. Tutte le interrogazioni sul database vengono effettuate utilizzando in maniera diretta o indiretta il comando di selezione specificato mediante l’operazione SELECT. Le selezioni operano su tabelle e restituiscono come risultato una tabella. La sintassi del comando di selezione è la seguente: <comando_select> :: = SELECT [ALL|DISTINCT] <lista_di _selezione> <espressione_di_tabella> [<clausola_di_ordinamento>] dove <espressione_di_tabella> :: = <clausola_FROM> [<clausola_WHERE>] [<clausola_GROUP_BY>] Come risulta dalla sintassi, nel comando è obbligatorio specificare, oltre alla <lista_di_selezione>, la sola clausola FROM. La clausola FROM indica la tabella o le tabelle su cui eseguire la selezione. Deve essere specificato il nome di almeno una tabella; successivamente, separati da virgole, possono essere indicati i nomi di altre tabelle.
con l’espressione: SELECT * FROM assegni; si ottiene: ............................................................................................................. Assegno Beneficiari Importo Note ............................................................................................................ 1 Computer Shop 500 Stampante 2 Assicurazioni ASSO 954 Assicurazioni automobili 3 SNAM 650 Riscaldamento casa 4 Supermarket GS 490 Alimentari 5 Scuola 490 Scuola di musica L’asterisco (*) di SELECT * indica al database di fornire tutte le colonne associate alla tabella specificata dalla clausola FROM. Come termina una istruzione SQL: In alcune implementazioni si usa il punto e virgola (;) in altre il punto e virgola o lo slash (/).
Esempi: con l’espressione: SELECT importo, assegno FROM assegni; dalla tabella precedente si ottiene: .............................................. IMPORTO ASSEGNO .............................................. 500 1 954 2 650 3 490 4 490 5
Esaminando il contenuto del campo Importo della tabella ASSEGNI, si potrà notare che il valore 490 appare due volte. Possiamo visualizzare tale colonna facendo comparire i valori ripetuti una sola volta: SELECT DISTINCT Importo FROM ASSEGNI; ..................... IMPORTO .................... 500 954 650 490 Altro esempio: Con l’espressione: SELECT DISTINCT NOME, COGNOME FROM DOCENTI; si ottiene:
Data la tabella con i prezzi espressi in centesimi: nella seguente espressione: SELECT ELEMENTO, PREZZOINGROSSO, PREZZOINGROSSO + 150 FROM PREZZO; l’operatore + aggiunge 150 a ogni prezzo e genera la seguente tabella:
L’operatore meno svolge due funzioni. La prima è quella di cambiare il segno a un numero, la seconda è quella di sottrarre i valori di una colonna da quelli di un’altra colonna. Vediamo il primo caso:
con l’espressione SELECT REGIONE, - TEMPMIN, - TEMPMAX FROM MINMAX; si ottiene: Vediamo il secondo caso: con l’espressione SELECT REGIONE, (TEMPMAX – TEMPMIN) Differenza FROM MINMAX;
con l’espressione SELECT Elemento, PrezzoIngrosso, (PrezzoIngrosso * 0.9) NuovoPrezzo FROM PREZZO; si ottiene
Esempio: dalla seguente tabella vogliamo estrapolare tutti i dati dell’amico Mario SELECT * FROM AMICI WHERE NOME = ‘Mario’;
Questi operatori si usano allo stesso modo di come si usa l’operatore di uguaglianza. Vediamo alcuni esempi: Voglio sapere chi ha più di 44 anni SELECT * FROM ANAGRAFICA WHERE Età > 44; Voglio sapere chi ha un’età diversa da 55 anni SELECT * FROM ANAGRAFICA WHERE Età <> 55;