Corso di Basi di Dati 1 Organizzazione del Corso: Obbiettivi (2

Organizzazione del Corso:
• Introduzione ai concetti di base dei Sistemi di
gestione delle Basi di Dati (DBMS).
Corso di
Basi di Dati 1
(a.a. 2001-2002)
Roberto Basili
Basi di Dati 1 (a.a. 2001-2002)
Docente: Roberto Basili
– Uso dei DBMS per la progettazione di Basi di Dati
nella applicazioni del software
– Organizzazione ed Modelli dei dati a livello
logico e fisico
• Prospettive nell'uso dei DBMS nelle moderne
applicazioni:
– integrazione dei dati (Datawarehouse e Data Mining),
– applicazioni alla condivisione dei dati ed alla modellazione
concettuale (XML)
Basi di Dati 1 (a.a. 2001-2002)
Obbiettivi (2):
• Una particolare attenzione verra' dedicata ad
aspetti pratici legati a
– utilizzo di piattaforme DBMS software esistenti
(es. Oracle)
– integrazione tra applicazioni sw e DBMS
• Esercitazioni di laboratorio dedicate.
Basi di Dati 1 (a.a. 2001-2002)
Docente: Roberto Basili
Propedeuticità
• Studenti del Corso di Laurea in Informatica,
• Studenti delle lauree affini (ad es. Elettronica,
Telecomunicazioni, Gestionale)
• Prerequisiti:
✓ elementi di programmazione in Pascal, C o C++,
– progettazione ed implementazione di strutture dati
(liste, alberi)
✓ elementi di sistemi operativi (corso Sistemi
Operativi 1, in parallelo).
Basi di Dati 1 (a.a. 2001-2002)
Orari
Docente: Roberto Basili
Testi Consigliati
• Testo di Riferimento
• Default:
– LUN 8:30-10:15 Aula 6 PP2
– MAR 16:00-17:45 Aula 6 PP2
– GIO 14:00-15:45 Aula 6 PP2
• In caso di “collisioni” con altri Corsi
– Da definire (???)
Basi di Dati 1 (a.a. 2001-2002)
Docente: Roberto Basili
Docente: Roberto Basili
– Database Management Systems, 2nd Edition, di
Raghu Ramakrishnan e Johannes Gehrke,
McGraw Hill, 2000 (ISBN 0-07-232206-3).
• Testi Utili
– Database Systems: Concepts, Languages and
Architectures, di Atzeni, Ceri, Paraboschi Torlone,
McGraw Hill, 1999.
– A First Course in Database Systems, di J.D.
Ullmann, J. Widom, Ed. Prentice Hall, 1997.
Basi di Dati 1 (a.a. 2001-2002)
Docente: Roberto Basili
1
Esame
Risorse
• Slides delle lezioni:
• 1 Test in itinere - fine Ottobre
• 1 Progetto Finale
• Prova Finale
– http://www.cs.wisc.edu/~dbbook/
• Pagina Web (da aggiornare):
– http://www.uniroma2.it/didattica/
BASI_di_DATI_1/main.html
• Dispense
– Introduzione a PL/SQL
– Uso delle librerie di PL/SQL
Basi di Dati 1 (a.a. 2001-2002)
Docente: Roberto Basili
Basi di Dati 1 (a.a. 2001-2002)
Introduzione alle Basi di Dati
• Outline
–
–
–
–
Introduzione
Livelli di Astrazione di un DBMS
Funzionalità
Architettura
Basi di Dati 1 (a.a. 2001-2002)
Docente: Roberto Basili
Prospettiva Storica
• Gp DMBS (C. Bachman) ‘60
• Standardizzazione del Network Data Model
(CODASYL)
• Information Management System (IBM) hierarchical data model
• Modello Relazionale (Codd) - 1970
• SQL Standard (fine ‘80)
• DBMS distribuiti (‘90)
Basi di Dati 1 (a.a. 2001-2002)
Database vs. Files
• Es. “Anagrafica di una compagnia
multinazionale” - taglia > 10 Gb
– diverse funzionalita’ => molteplicita’ di librerie di
accesso
– uso concorrente
– impossibilita’ di un indirizzamento diretto e
sequenziale
– sicurezza
– robustezza dell’accesso
Basi di Dati 1 (a.a. 2001-2002)
Docente: Roberto Basili
Docente: Roberto Basili
Docente: Roberto Basili
Scopi di un Database
•
•
•
•
Unificare e generalizzare l’accesso ai dati
Consentire un accesso semplificato e …
efficiente
Proteggere i dati
– Integrità e Riservatezza (Sicurezza)
– Tolleranza a malfunzionamenti/guasti
• Supportare la concorrenza
• Facilitare lo sviluppo dei programmi “utente”
Basi di Dati 1 (a.a. 2001-2002)
Docente: Roberto Basili
2
Applicazioni e Database
• Diverse applicazioni usano porzioni diverse dei
dati
• L’astrazione sui dati e’ diversa ma “coerente”
• L’accesso ai dati e’
Livelli di Astrazione di un DBMS
Schema Est 1
⇒
Schema Est n
Schema Fisico
e’ necessario svincolare la natura logica dei
dati dalla loro rappresentazione in memoria,
cioè dalle forme di memorizzazione
Docente: Roberto Basili
...
Schema Concettuale
– dipendente dalla astrazione (modello logico)
– vincolato dalla natura fisica della memorizzazione
Basi di Dati 1 (a.a. 2001-2002)
Schema Est 2
Basi di Dati 1 (a.a. 2001-2002)
Docente: Roberto Basili
Schema Fisico
Schema Concettuale ( o Logico)
• Definisce i dettagli legati alla memorizzazione
• Definisce i dati relativamente alla loro natura
concettuale, cioe’ legata al mondo della/e loro
applicazione/i
• Viene realizzato all’interno di modello logico
di definizione dei dati (per es. quello
relazionale)
• In generale, descrive tutte le entita’ e le
relazioni tra di loro che si rendono necessarie
per descrivere completamente i dati in modo
logico
– Es.
• liste per rappresentare insiemi
• liste per rappresentare alberi
• alberi per rappresentare insiemi con chiavi
• Determina la struttura dei files dedicati a
contenere i diversi dati
• Definisce forme utili al ritrovamento (es.
indici)
Basi di Dati 1 (a.a. 2001-2002)
Docente: Roberto Basili
Basi di Dati 1 (a.a. 2001-2002)
Docente: Roberto Basili
Schema Esterno
Progettazione Concettuale
• Descrive i dati che sono utili/necessari e legali
per gruppi di utenti
• Utilizza il modello logico di descrizione dei
dati
• E’ rappresentato da un sottoinsieme delle
informazioni dello schema concettuale, spesso
detto “vista”
• Modellare un mondo in cui le applicazioni
utente operano richiede un linguaggio di
specifica
• Tale linguaggio e’ detto MODELLO dei DATI
(DM)
– e’ una astrazione di tutte le possibili informazioni
che mondi possibili richiedono
• La applicazione di un MODELLO dei DATI al
mondo W produce lo SCHEMA LOGICO del
risultante DB (relativo a W)
Basi di Dati 1 (a.a. 2001-2002)
Docente: Roberto Basili
Basi di Dati 1 (a.a. 2001-2002)
Docente: Roberto Basili
3
Progettazione Concettuale (2)
Progettazione Concettuale(3)
Semantic Model
W
Data Model
W
Schema Concettuale
Data Model
Schema Logico
Schema Logico
DBW
DBW
Basi di Dati 1 (a.a. 2001-2002)
Docente: Roberto Basili
Basi di Dati 1 (a.a. 2001-2002)
Indipendenza dei Dati
• I livelli logici di progettazione supportano la
Indipendenza Logica dei Dati ...
Cambiamenti del mondo W si rifletteranno solo
come estensioni/ridefinizioni dello schema
logico minimizzando i cambiamenti nelle
applicazioni utente (tramite adattamento degli
schemi esterni)
Basi di Dati 1 (a.a. 2001-2002)
Docente: Roberto Basili
Indipendenza dei Dati (2)
• ... e l’Indipendenza Fisica dei Dati
Cambiamenti nella struttura fisica delle
rappresentazioni (ad es. nuovi dispositivi di
memorizzazione) potranno essere resi invisibili
(cioè trasparenti) alle applicazioni utente,
mantenendo invariato lo schema logico
Basi di Dati 1 (a.a. 2001-2002)
La manipolazione dei Dati
• Gli utenti di un database hanno in generale
necessita’ di:
–
–
–
–
INSERIMENTO
AGGIORNAMENTO
CANCELLAZIONE
INTERROGAZIONE
delle singole “parti” di informazione
Docente: Roberto Basili
Docente: Roberto Basili
Le transazioni
• La realizzazione delle operazioni di accesso ai
dati da luogo ad una molteplicita’ di azioni piu’
elementari sui dati
– es.
verifica dell’esistenza di un dato x <
aggiornamento del dato x <
preparazione dell’ouput <
avviso di terminazione
• La successione delle operazioni determinate da
una (sola) manipolazione e’ detta transazione
Basi di Dati 1 (a.a. 2001-2002)
Docente: Roberto Basili
Basi di Dati 1 (a.a. 2001-2002)
Docente: Roberto Basili
4
• Diverse operazioni (pur identiche) determinano
diverse transazioni
• La esecuzione di una transazione non e’
completa se non alla fine della sequenza di
(micro)operazioni richieste
• Le transazioni possono essere concorrenti,
cioe’ determinare operazioni legali ma in
contrasto tra loro (es. prelievo Bancomat)
• Il completamento deve essere assicurato per
mantenere l’integrita’ dei dati
Basi di Dati 1 (a.a. 2001-2002)
Docente: Roberto Basili
Applications
Front-Ends
WEB Forms
SQL Interface
SQL Commands
Plan Executor
Parser
Operator Evaluator
Optimizer
Transaction
Manager
Query
Evaluation
Engine
Files and Acces Method
Buffer Manager
Recovery
Manager
Lock
Manager
Disk Space Manager
DBMS
INDEX FILES
Architettura di un Database
Transazioni (2)
DATA FILES
Basi di Dati 1 (a.a. 2001-2002)
Docente: Roberto Basili
Utenti di un Database
•
•
•
•
Programmatori del DBMS
Utenti (diretti) esperti e non esperti
Programmi applicativi
Amministratore
– progetto degli schemi fisici e logici
– gestione della sicurezza e dei criteri di
autorizzazione
– Manutenzione e prevenzione dei mafunzionamenti
– Customizzazione
Basi di Dati 1 (a.a. 2001-2002)
Docente: Roberto Basili
5