Il linguaggio SQL è un linguaggio divenuto lo standard per creare e manipolare basi di dati relazionali
DDL prevede le istruzioni per definire la struttura della base di dati serve quindi a creare tabelle
DML prevede le istruzioni per manipolare i dati contenuti nelle tabelle in particolare permette di inserire, modificare, cancellare record e di effettuare
interrogazioni
DCL prevede istruzioni per controllare il modo in cui le operazioni vengono eseguite consentono di gestire il controllo degli accessi da parte di più utenti
mediante permessi e autorizzazioni
SQL non è un linguaggio Case-sensitive per cui le istruzioni possono essere scritte utilizzando caratteri maiuscoli o minuscoli. Per una maggiore leggibilità,
ISTRUZIONI DDL
Le istruzioni DDL servono definire le strutture della base di dati
- Creazione di un database
CREATE DATABASE NomeDatabase
- Creazione di una tabella
CREATE TABLE…
ISTRUZIONI DML
Questo gruppo di istruzioni consente di inserire, modificare, cancellare record da una tabella ed interrogare il database
- Inserimento di un record
INSERT INTO NomeTabella(NomeCampo1…)
VALUES (Valore1…);
- Modificare uno o più record
UPDATE NomeTabella SET
Campo1=Espressione1
…
[WHERE condizione];
- Cancellazione di uno o più record
DELETE FROM NomeTabella
[WHERE Condizione];
- Interrogazione del Database
SELECT Campo1…
FROM NomeTabella;
Quando si effettua una interrogazione SQL permette di rinominare una tabella o un campo in moco che la tabella risultato le colonne siano intestate con altri
nomi, per fare ciò si utilizza la clausola AS
SELECT [Link] AS Calciatore
FROM Calciatori;
FUNZIONI DI AGGREGAZIONI
SQL possiede alcune funzioni predefinite utili nei casi in cui occorre effettuare conteggi, somme ecc… sulla tabella risultato di una query.
Tali funzioni si applicano a un campo di una tabella le principali funzioni sono:
- COUNT conta il numero di elementi presenti nel campo specificato
- MIN determina il valore minore di un gruppo selezionato
- MAX determina il valore maggiore di un gruppo selezionando
- SUM calcola la somma di record totali passando anche a un solo attributo
- AVG calcola il valore medio (media aritmetica)
ORDINAMENTI
In SQL è possibile ordinare le righe di una tabella in base a certi criteri. È possibile farlo usando la clausola ORDER BY specificando ASC (ordine crescente) o
DESC (ordine decrescente) dopo il campo/i campi specificato/i
RAGGRUPPAMENTI
L’SQL consente di raggruppare logicamente le righe della tabella risultato di una query, in base al valore assunto da uno o più campi. Per effettuare un
raggruppamento si usa la clausola GROUP BY
QUERY PARAMETRICHE
Per generalizzare una query è possibile utilizzare uno o più parametri essi possono essere visti come “dati di input” della query usando le [ ] nel WHERE
LIKE insieme al carattere % permette di effettuare ricerche relative al contenuto di tali campi
Es. WHERE nome LIKE “%F”;
SELECT visualizza i dati si può scrivere SELECT Now() oppure SELECT 3*4
FROM da dove prendo le informazioni
WHERE applica un controllo dei dati estratti su ogni singolo record prima di effettuare un gruppo
GROUP BY funzione di aggregazione serve per creare gruppo di oggetti. Agisce nei campi attivi nella clausola SELECT
HAVING applica un filtro dopo aver raggruppato (per usare having dovrò aver utilizzato group by)
ORDER BY funzione l’ordinamento può essere usata nei campi calcolati (max…) oppure al campo semplice richiamato si SELECT
SELECT * visualizza il contenuto della tabella
Per trovare l’età SELECT Nome, Cognome, YEAR(Now()-YEAR(DataN) AS Eta
Campo semplice + campo calcolato bisogna avere un group by
SELECT Citta, COUNT(*) AS Nabit
FROM Clienti
GROPU BY Citta;
INNER JOIN prevede l’utilizzo della creazione del JOIN nell’istruzione FROM ha rilevanza l’ordine con cui nomina le entità
FROM Clienti INNER JOIN Prenotazione ON [Link]=[Link]
FROM Alberghi INNER JOIN (Clienti INNER JOIN Prenotazione ON [Link]=[Link]) ON
[Link]=[Link]
Equi-JOIN o join di equivalenza la modalità di accesso ai dati disposti su più entità avviene specificano la provenienza e richiamando l’attributo desiderato
nell’istruzione SELECT; nel FROM elenco le entità separate da virgola, da cui intendo prelevare le informazioni. Nel WERE necessariamente uguaglio le chiavi
correlate
FROM Clienti, Prenotazione
WHERE ([Link]=[Link]) AND …
Una base di dati (Database) può essere considerata come una raccolta di dati progettati per essere fruiti in maniera ottimizzata da differenti applicazioni e da
utenti diversi
Una base di dati per poter essere definita tale deve essere:
- Sicura
- Integra
- Consistente
- Condivisibile
- Persistenti
- Efficienti
Progettazione concettuale ha lo scopo di costruire e definire una rappresentazione corrente e completa della realtà di interesse concettuale in modo
astratto ed indipendente dal DBMS che si intenderà utilizzare
In input avremmo il testo dell’esercizio in output è il diagramma E/R
Progettazione logica ha lo scopo di trasformare lo schema concettuale in uno schema logico ovvero in una rappresentazione efficiente rispetto alle strutture
di un DBMS
In input avremmo il diagramma E/R in output uno schema logico
Progettazione fisica ha lo scopo di implementare lo schema logico definendo tutti gli aspetti fisici di memorizzazione e rappresentazione in memoria di
massa
In input lo schema logico in output l’implementazione in memoria di massa
Entità insieme di elementi che hanno tutti le stesse caratteristiche
Istanza di un’identità è un oggetto che l’entità rappresenta
Diagramma E/R ogni entità ha un nome che la identifica univocamente ed è rappresentata graficamente con un rettangolo etichettato con il nome
dell’entità e gli attributi
Associazione contribuiscono il mezzo tramite il quale sono modellate le corrispondenze tra le istanze due o più entità il grado dell’associazione indica il
numero di entità coinvolte
1:1 a un elemento A corrisponde un ed un solo elemento di B e viceversa
1:M ad un elemento di A corrispondono un o più elementi di B, ad un elemento di B corrisponde uno ed un solo elemento di A
M:M ad un elemento di A corrispondono uno o più elementi di B e viceversa
Attributi le entità possono essere descritte usando una serie di attributi: tutte le istanze della stessa entità hanno gli stessi attributi
Chiave primaria insieme minimale di attributi che identificano univocamente ciascuna istanza dell’entità
LA NORMALIZZAZIONE
definisce un insieme di regole il cui obbiettivo è quello di arrivare a uno schema logico relazionale corretto
Prima forma normale una tabella si trova in prima forma normale se tutte le sue colonne memorizzano valori elementari o unici
Seconda forma normale una tabella si trova nella seconda forma normale se rispetta la 1NF e ogni colonna non chiave dipende da tutti gli attributi della
chiave primaria composta
Terza forma normale una tabella si trova nella terza forma normale se rispetta la 2NF e tutte le colonne non chiave dipendono dalla chiave primaria