1
DBMS (Data Base Management System)
3
Utenti e amministratori del DB
DBA, Database Administrator: gestisce gli
accessi, predispone tabelle, indici, viste,
ottimizza lo spazio disco, effettua i backup e i
restore.
Programmatori: scrivono applicazioni che
utilizzano i dati del DB
Utenti finali del DB : utilizzano le applicazioni
che permettono di interrogare il DB
Sistemisti : verificano il corretto funzionamento
dei sistemi hw e sw su cui gira il DBMS
4
Database Relazionali
7
Vincoli di integrit
Lintegrit referenziale (referential integrity)
un insieme di regole del modello relazionale che
garantiscono lintegrit dei dati quando si hanno
relazioni associate tra loro attraverso la chiave
esterna: queste regole servono per rendere
valide le associazioni tra le tabelle e per
eliminare gli errori di inserimento, cancellazione
o modifica di dati collegati tra loro.
8
Gli indici
Un indice una struttura dati realizzata per
migliorare i tempi di ricerca dei dati.
I campi di una tabella per cui necessario
effettuare ricerche o operazioni di join possono
essere indicizzati.
In assenza di indice, la ricerca del valore di un
campo avviene in maniera sequenziale sui
record della tabella.
Livello fisico: gli indici sono strutture dati fisiche
gestite dal db, dipendono dal DBMS utilizzato .
Indici vengono generati automaticamente dal db
per i campi definiti come chiave.
9
Esempio di tabelle correlate
Campo ID/Chiave Campo ID/Chiave Campo Numerico
Campo Testo
Campo Testo
Campo Data
Campo Booleano Chiave
Esterna
Relazione 1:n
10
La normalizzazione delle relazioni
Nella definizione della struttura di una relazione occorre
evitare la ripetizione e la ridondanza dei dati per non
creare problemi nella fase di manipolazione della tabella
con operazioni di modifica o cancellazione di righe.
11
Il linguaggio SQL
Esempi:
CREATE TABLE : crea una nuova tabella nel DB
ALTER TABLE : modifica la struttura di una tabella
DROP TABLE : cancella una tabella dal DB
CREATE INDEX : crea un indice su una certa tabella
DROP INDEX : elimina lindice specificato
14
DML : manipolazione di tabelle
Inserimento:
INSERT INTO Tabella
VALUES (value1, value2,....)
Cancellazione:
DELETE FROM Tabella
WHERE column_name = some_value
Aggiornamento:
UPDATE Tabella
SET column_name = new_value
WHERE column_name = some_value
15
Query language : Listruzione SELECT
16
Il join di tabelle
La relazione tra tabelle si realizza
sfruttando le chiavi esterne (foreign key)
nelle operazioni di join (collegamento tra
tabelle).
Il join combina pi tabelle in una tabella
unica con tutte le possibili combinazioni di
valori (in matematica viene chiamato
Prodotto Cartesiano) e su questa filtra le
righe per produrre i risultati desiderati
17
Il Join naturale
Es. Lista di studenti e degli strumenti che stanno
studiando
SELECT s.class, s.name, s.id, m.type ;
FROM student s, music m ;
WHERE s.id=m.id ORDER BY class, name
Result