Sei sulla pagina 1di 27

Basi di Dati

II anno I semestre

Loredana Vigliano
Stanza O103 TEL. 0672594645
Vigliano@mat.uniroma2.it

L. Vigliano
Obiettivi del corso
• Conoscere l' algebra su cui si basa la teoria
dei Database Relazionali
• Imparare a progettare e a costruire un
Database Relazionale
• Utilizzare al meglio l' SQL

L. Vigliano
Programma del corso di
Basi di dati
• Introduzione e Definizioni
• Algebra relazionale e cenni di Calcolo
relazionale
• Flusso di progetto e visione dei dati
– Dai concetti allo schema fisico
• Modello concettuale dei dati
– Entità, relazioni e cardinalità
– Chiavi e attributi
L. Vigliano
Programma del corso di
Basi di dati (2)
• Disegno logico DB
– Schema Entity-Relationship ed esempi.
• Disegno fisico DB
– Integrità, congruenza, consistenza e non ridondanza
• Forme normali
– Le prime 5 forme normali
– Dipendenze funzionali
• Query language e implementazioni su mySQL
– Creazioni tabelle e DML
L. Vigliano
Programma del corso
Basi di dati (3)
– SQL
• Select
– Opzioni, confronti, appartenenza, operatori ed ordinamenti
– Join, equijoin e nonequijoin
• Select nidificate e unioni di select
• Operatori aritmetici
• Funzioni aritmetiche, di insieme, di stringa
– Viste
– Creazione indici e integrità semantica
L. Vigliano
Programma del corso di
Basi di dati (4)
– Sicurezza
– Uso concorrente (se c’è tempo)
• Concetto di transazione
• Uso di lock
• Deadlock e prevenzione
• Simulazione progetto
• Realizzazione progetto (esame)

L. Vigliano
Libri consigliati

• Atzeni, Ceri, Paraboschi, Torlone “Basi di


dati, modelli e linguaggi di interrogazione”,
McGraw-Hill, circa 25 euro.

• Welling-Thomson “MySQL Tutorial”,


circa 35 euro.

L. Vigliano
Modalità d' esame
• Prova scritta
• Consegna di un progetto di Database
– Solo se si supera la prova scritta
– Seguendo le linee guida di progetto
• Prova orale
– Solo se si supera la prova scritta e il progetto
viene accettato

L. Vigliano
Definizione
• Nei sistemi informatici (e non solo) tutte le
informazioni vengono rappresentate per
mezzo di dati

• I sistemi informativi esistono da molto


prima della diffusione dei calcolatori
elettronici

L. Vigliano
Definizione

• Base di dati o Database


– Insieme (organizzato) di tutte le informazioni
utili presenti in un luogo (azienda, università,
mente di qualcuno, ecc.)

• Data independence
– La struttura di un DB deve dare garanzia che modifiche
dei dati non richiedano modifiche ai programmi
applicativi e/o alle tecniche di accesso ai dati stessi

L. Vigliano
Definizione

• Un Modello dei dati è un insieme di


concetti utilizzati per organizzare i dati di
interesse e descriverne la struttura in modo
che essa risulti comprensibile ad un
elaboratore (e non solo…).

L. Vigliano
Definizione di Ullman (2)
– o anche ……..
• Un Modello di dati è un formalismo
matematico composto da :
– una notazione per descrivere i dati
– un insieme di operazioni per manipolare tali
dati

L. Vigliano
Modelli di dati nella storia
Tipi di database
Gerarchico
A

B C

D E

L. Vigliano
Modelli di dati nella storia
Tipi di database (2)
Reticolare

A B

C D

L. Vigliano
Modelli di dati nella storia
Tipi di database (3)
Relazionale E.F.Codd anni ‘70

A R1 B

R2

C
L. Vigliano
… vai a Modello relazionale

L. Vigliano
2 punti di vista

• Come costruisco un DB ?
Flusso di progetto

• Cosa vedo ? Visione dei dati

L. Vigliano
Flusso di progetto di un database
• Analisi dei requisiti (definizione environment)

• Modello concettuale DB (Oggetti)

• Disegno logico DB (schema E-R, Yourdon)

• Disegno fisico DB (normalizzazione tabelle)

L. Vigliano
Strati della conoscenza
• Vista utente

– Schema esterno : TABELLE

• Vista amministratore DB o azienda


– Schema concettuale : Schema E-R o RM/T

• Vista fisica
– Schema interno : catene, hash, indici

L. Vigliano
Organizzazione fisica dei dati

• L’ organizzazione fisica dei dati di un


database deve essere efficiente, ciò significa
che il sistema di gestione di un database
(DBMS) deve avere la capacità di
rispondere alle richieste dell’ utente il più
velocemente possibile.

L. Vigliano
Organizzazione fisica dei dati (2)
• I dati sono organizzati in file
– I file sono divisi in record
• Record logici, quelli visibili
• Record fisici, con informazioni del record e campi

INFORMAZIONI CAMPI

L. Vigliano
Organizzazione fisica dei dati (3)
• INFORMAZIONI
– Puntatore al prossimo record
– Tipo record
– Lunghezza record
– Bit di cancellazione
– Eventuali Offset dei campi

Un puntatore è una coppia (b,k)

L. Vigliano
Organizzazione fisica dei dati (4)
• CAMPI
– Eventuale offset del campo
– Campo vero e proprio

L. Vigliano
Organizzazione fisica dei dati (5)
Tipi di file
• File Heap
– Record inseriti nei blocchi senza ordine
– Accesso ai record tramite directory di puntatori
ai blocchi
– Proliferazione di indirizzi indiretti

L. Vigliano
Organizzazione fisica dei dati (6)
Tipi di file
• File Hash
– Record ripartiti in ‘bucket’ in base al valore
della chiave
– Ogni bucket ha 1 o più blocchi ed è organizzato
come un Heap
– Funzione Hash “buona”
– Puntatori a lista collegano i blocchi di un
bucket
L. Vigliano
Organizzazione fisica dei dati (7)
Tipi di file
• File con indice (sparso) ISAM
– ISAM (indexed sequential access method)
– Record ordinati in crescenza (lasciando il 20%
dei blocchi liberi) e non puntati
– File indice formato da coppie (v,b)
– Directory del file indice
– Metodi di scansione
• Ricerca binaria o dicotomica
• Ricerca per interpolazione
L. Vigliano
Organizzazione fisica dei dati (8)
Tipi di file
• File B-tree
– Generalizzazione del file con indice
– Concetto dell’ albero binario evita spreco di
spazio

L. Vigliano