docente prof. alberto belussi anno ... - di.univr.it · basi di dati - 2010/2011. informazioni...
TRANSCRIPT
Basi di datiBasi di dati
D O C E N T E
P R O F . A L B E R T O B E L U S S I
Anno accademico 2010/11
Informazioni generali sull’organizzazioneg g
I t l d t i
2
Insegnamento annuale su due semestri
Orario I SemestreLunedì 11.30 – 13.30 (aula B)
Martedì 11.30 – 13.30 (aula A)
RicevimentoLunedì 16.30 – 18.30
Basi di dati - 2010/2011
Informazioni generali sull’organizzazioneg g3
Testi e eserciziariP. Atzeni, S. Ceri, S. Paraboschi, R. TorloneBasi di dati: modelli e linguaggi di interrogazioneMcGraw-Hill
P A i S C i P F li S P b hi R P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. TorloneBasi di dati: architetture e linee di evoluzioneBasi di dati: architetture e linee di evoluzioneMcGraw-Hill
E. Baralis, A. Belussi, G. PsailaE. Baralis, A. Belussi, G. PsailaBasi di dati: temi d’esame svoltiProgetto Leonardo – Editrice Esculapio
Basi di dati - 2010/2011
Percorso didatticoPercorso didattico4
Insegnamento: BASI DI DATI
Unità didattiche CFU I Sem II Sem
Teoria 9 ~44 ore ~34 ore
Laboratorio 3 0 42 ore
Basi di dati - 2010/2011
ProgrammaProgramma5
Insegnamento: BASI DI DATI
Sul sito di facoltà: http://www scienze univr itSul sito di facoltà: http://www.scienze.univr.it
Pagina dell’insegnamento
Basi di dati - 2010/2011
Modalità d’esame6
Modulo Teoria (9 crediti)
ESAME SCRITTO:
Modulo Laboratorio (3 crediti)
ESAME SCRITTO:T l i li i i Progettazione
concettuale/logica di una base di dati
Tecnologie per applicazioni web data-centric: Servlet, JSP, JDBCProgettazione logica di un
Algebra relazionale
SQL
Progettazione logica di un applicazioni webImplementazione di applicazioni web secondo
Domande di teoria (indici, concorrenza, transazioni, ecc..)
applicazioni web secondo l’approccio MVC-2 (servlet centric)SQL)
Dati multimedialiXML
Q
Basi di dati - 2010/2011
Relazione con gli altri insegnamenti del corsoe a o e co g a t seg a e t de co so7
Programmazione I e II Architettura degli Elab
Algoritmi Sistemi Operativig p
File System eMemoria
Ingegneria SoftwareReti di calcolatoriJavaJava
secondaria
Metodologie di
Basi di Dati
Metodologie di progettazione Web, HTTP, ecc..
Basi di Dati
Basi di dati - 2010/2011
Relazione con Algoritmi (e Strutture Dati)g ( )8
Memoria Algoritmi e MEMORIA VOLATILE
Centraleg
strutture dati Accesso veloce e casuale
MEMORIA
Basi di dati Memoria secondaria
MEMORIA PERSISTENTE
Accesso lento e secondaria Accesso lento e sequenziale
Basi di dati - 2010/2011
Relazione con Algoritmi (e Strutture Dati)g ( )9
Tempo di vita dei dati
Memoria Centrale
Dati
Programmi
tempo
Memoria secondaria
Dati
Programmi
tempo
g
Basi di dati - 2010/2011
Evoluzione dell’informatica applicatapp10
anni ’60: applicazioni negli ambienti di ricerca scientifica (laboratori) con enfasi sui programmi scientifica (laboratori) con enfasi sui programmi (e quindi sugli algoritmi).
anni ’70: nascono le applicazioni informatiche in bi i lambito gestionale
Basi di dati - 2010/2011
Applicazioni gestionaliApplicazioni gestionali11
Caratteristichealgoritmi di elaborazione semplicialgoritmi di elaborazione semplici.
grande quantità di dati CONDIVISI da PIU’ applicazioni.
Tali caratteristiche derivano dall’ambiente in cui Tali caratteristiche derivano dall ambiente in cui vennero introdotte le applicazioni informatiche (anni ‘70): 70):
IL SISTEMA INFORMATIVO
Basi di dati - 2010/2011
Sistema InformativoSistema Informativo12
Definizione“è l’insieme delle attività umane e dei dispositivi di è l insieme delle attività umane e dei dispositivi di memorizzazione ed elaborazione che organizza e
gestisce l’informazione di interesse di g fun’organizzazione di dimensioni qualsiasi”
N.B.: un sistema informativo NON contiene necessariamente tecnologia informatica.
Basi di dati - 2010/2011
Sistema InformativoSistema Informativo13
DatoElemento di conoscenza di base costituito da simboli che o d o o d b o o d bodevono essere elaborati.
InformazioneInterpretazione dei dati che permette di ottenere conoscenzaInterpretazione dei dati che permette di ottenere conoscenzapiù o meno esatta di fatti e situazioni.
Basi di dati - 2010/2011
Sistema InformativoSistema Informativo
S h d i i
14
Archivio Utente TIPO AProcedura
P4
Schema descrittivo
Archivio A1
P4
Procedura P5P5
P d
Procedura P3
Archivio A2
Procedura P1
Utente TIPO BProcedura
P2Amministratore Utente TIPO BP2
Basi di dati - 2010/2011
Sistema Informativo e Basi di DatiSistema Informativo e Basi di Dati15
BASE DI DATI
DefinizioneDefinizione
“è una collezione di dati utilizzati per rappresentare con tecnologia informatica le informazioni di con tecnologia informatica le informazioni di
interesse per un sistema informativo”
Basi di dati - 2010/2011
Applicazioni gestionaliApplicazioni gestionali16
Soluzione convenzionale
Programma P1 Programma P3Programma P1
Programma P2
Programma P3
File 1 File 3 File 5File 2
File 4
Fil S tFile System
Basi di dati - 2010/2011
Applicazioni gestionalipp g17
Problemi della soluzione convenzionale
Scarsa efficienza nell’accesso ai dati su file (struttura ad accesso sequenziale)
Ridondanza nei dati (duplicazioni dello stesso dato su più file)
Inconsistenza (aggiornamenti parziali)Inconsistenza (aggiornamenti parziali)
Progettazione dei dati replicata per ogni programma
Basi di dati - 2010/2011
Applicazioni gestionaliApplicazioni gestionali
Soluzione innovativa (anni ’70 - ’80)18
Soluzione innovativa (anni 70 - 80)
Applicazione P1 Applicazione P2 Applicazione P3
Si l G iSistema per la Gestione di Basi di Dati
Data Base Management System (DBMS)(DBMS)
File System
Mem. Sec
y
Basi di dati - 2010/2011
DBMS (Data Base Management System)( g y )19
DBMS
DefinizioneDefinizione
È un sistema che gestisce su memoria secondaria collezioni di dati (chiamate “Basi di Dati”):collezioni di dati (chiamate Basi di Dati ):
GRANDI, CONDIVISE e PERSISTENTI
assicurando:assicurando:AFFIDABILITA’, PRIVATEZZA e ACCESSO EFFICIENTE
Basi di dati - 2010/2011
DBMS: interazioneDBMS: interazione
Utenti p og ammato i Utenti finali
20
Utenti casualiUtenti programmatori Utenti finali
Applicazione Pi
Utenti
DBA(Data Base
Administrator)Applicazione Pj
Administrator)
Modello dei dati
BD 2
DBMSBD 1
BD 2BD 3
Basi di dati - 2010/2011
DBMS: interazioneDBMS: interazione21
Linguaggi di interazione:
• Linguaggio per la definizione dei dati (Data Definition g gg p (Language - DDL)
• Linguaggio per l’interrogazione e aggiornamento dei dati (D t M i l ti L DML)(Data Manipulation Language – DML):
• Linguaggio di interrogazione: estrae informazioni da una base di dati (esempio: SQL algebra da una base di dati (esempio: SQL, algebra relazionale)
• Linguaggio di manipolazione: popola la base di dati, g gg p p p ,modifica il suo contenuto con aggiunte, cancellazioni e variazioni sui dati (esempio: SQL)
Basi di dati - 2010/2011
DBMS: modello dei datiDBMS: modello dei dati22
Definizione
È l’insieme dei costrutti forniti dal DBMS per descrivere la l i à d ll’ fstruttura e le proprietà dell’informazione contenuta in una
base di dati.
Costrutti: permettono Costrutti: permettono
• di definire le strutture dati che conterranno le informazioni della base di dati (analogia con i costruttori o a o de a base d dat (a a og a co cost uttodi tipo di un linguaggio di programmazione) e
• di specificare le proprietà che dovranno soddisfare le istanze di informazione che saranno contenute nelle strutture dati
Basi di dati - 2010/2011
DBMS: modello dei datiDBMS: modello dei dati23
Modelli dei dati del passato
• Modello reticolare• Modello reticolare
• Modello gerarchico
Modelli dei dati attuali
• Modello relazionale
• Modello ad oggetti
• Modello object-relational
Basi di dati - 2010/2011
Modello, schema e istanza,24
È fondamentale nel contesto delle basi di dati distinguere correttamente questi tre concetti:
• Modello dei dati: visto nel lucido precedente
• Schema di una base di dati: è la descrizione della struttura e delle proprietà di una specifica base di dati fatta utilizzando i costrutti del modello dei dati (lo schema di una base di dati è invariante nel tempo)p )
• Istanza di una base di dati: è costituita dai valori effettivi che in un certo istante popolano le strutture dati della base di dati (l’istanza di una base di dati varia nel tempo)
Basi di dati - 2010/2011
Modello schema e istanzaModello, schema e istanza25
Esempio
Modello dei dati Schema IstanzaModello dei dati Schema Istanza
Basi di dati
Tabella ( l i )
P(cognome: VARCHAR(40),
nome: VARCHAR(30))cognome nome
Rossi Mariodati
Li i di
(o relazione)
Class Persona {
Rossi Mario
Bianchi Lia
Linguaggi di progr.
Array
Class Persona {String cognome;String nome; }
Class X {
p
Class X {…
Persona[] p;p = new Persona[100];
Persona
Nome: Mario
} Cognome: Rossi
Basi di dati - 2010/2011
Architettura di un DBMS (schema based)( )26
Schema Esterno 1 Schema Esterno nSchema Esterno 1 Schema Esterno n
Livello Esterno
Schema LogicoSchema LogicoLivello Logico
Schema Interno
i llLivello InternoBasi di dati - 2010/2011
Architettura di un DBMSArchitettura di un DBMS
h i è l i d ll
27
Schema Logico: è la rappresentazione della struttura e delle proprietà della base di dati attra erso i costrutti del modello dei dati del attraverso i costrutti del modello dei dati del DBMSSchema Interno: è la rappresentazione della Schema Interno: è la rappresentazione della base di dati per mezzo delle strutture fisiche di memorizzazione (file dati file indice ecc )memorizzazione (file dati, file indice, ecc…)Schema Esterno: descrive una porzione dello schema logico di interesse per uno specifico schema logico di interesse per uno specifico utente o applicazione (attraverso viste sullo schema logico)g )
Basi di dati - 2010/2011
Indipendenza dei datiIndipendenza dei dati
I di d FISICA l h l i d ll b
28
Indipendenza FISICA: lo schema logico della base di dati è completamente indipendente dallo schema fisicofisico.
CConseguenzavariazioni delle strutture fisiche non impattano
ll h l i i di ll li i isullo schema logico e quindi sulle applicazioni
Basi di dati - 2010/2011
Indipendenza dei datiIndipendenza dei dati29
Indipendenza LOGICA: gli schemi esterni della base di dati sono indipendenti dallo schema logico.
Conseguenzavariazioni dello schema logico (purché non tolgano dati) non impattano sugli schemi
t i i di ll li i i ( esterni e quindi sulle applicazioni (va eventualmente ridefinita solo l’espressione di derivazione degli schemi esterni dallo schema derivazione degli schemi esterni dallo schema logico “viste”)
Basi di dati - 2010/2011
Progettazione di una base di datiProgettazione di una base di dati
Ci l di it d l di t i di i t i f ti
30
Ciclo di vita del processo di automazione di un sistema informativo
Studio di fattibilità Definisce i costi e le alternative possibili
Raccolta e analisi Individua proprietà e funzionalità del sistema (dati e applicazioni) Raccolta e analisi
dei requisitidel sistema (dati e applicazioni)
producendo una descrizione completa ma informale
Progettazione
Basi di dati - 2010/2011
Progettazione di una base di datioge a o e d u a base d da31
Ciclo di vita del processo di automazione di un sistema informativo
Progettazione del sistema
Progettazione dei dati
Progettazione delle applicazioni
Descrizione formale dei dati (SCHEMA)
Descrizione formale delle applicazioni
(SPECIFICA)
Basi di dati - 2010/2011
Progettazione di una base di datig32
Ciclo di vita del processo di automazione di un sistema informativo
Progettazione dei dati
Implementazione su un Implementazione su un DBMS
Validazione e collaudo
Basi di dati - 2010/2011
Metodologia di progettazione dei datiMetodologia di progettazione dei dati33
Una metodologia di progettazione è costituita da:Una decomposizionedecomposizione in passi dell’attività di progetto
Un insieme di strategiestrategie da seguire e di criteri di sceltacriteri di scelta
U i i di d lli di if i d lli di if i Un insieme di modelli di riferimento modelli di riferimento
Basi di dati - 2010/2011
Metodologia di progettazione dei datiMetodologia di progettazione dei dati34
Una buona metodologia deveGenerale
Facile da usare
I d di d i l di li à ( l In grado di produrre un risultato di qualità (progetto completo e corretto).
Basi di dati - 2010/2011
Metodologia di progettazione dei datig p g35
Requisiti della base di dati prodotti dalla fase di analisi
Progettazione Concettualeg
Schema concettuale
Progettazione Logica
S hema logi o
Progettazione Fisica
Schema logico
g
Schema fisicoBasi di dati - 2010/2011
Metodologia di progettazione dei datiMetodologia di progettazione dei dati36
Progettazione concettuale
OBIETTIVORappresentare il contenuto informativo della base di dati in modo formale ma indipendente dall’implementazione (DBMS) d ll i ie dalle operazioni.
Basi di dati - 2010/2011
Metodologia di progettazione dei datiMetodologia di progettazione dei dati37
Progettazione logica
OBIETTIVOTradurre lo schema concettuale nello schema logico aderente al modello dei dati del DBMS scelto per l’implementazione. N ll d i i i d ll i i iù f i Nella traduzione si tiene conto delle operazioni più frequenti che le applicazione eseguiranno sulla base di dati.
Basi di dati - 2010/2011