DOCENTE PROF. ALBERTO BELUSSI Anno ... - di.univr.it · Basi di dati - 2010/2011. Informazioni...

38
Basi di dati Basi di dati DOCENTE PROF. ALBERTO BELUSSI Anno accademico 2010/11

Transcript of DOCENTE PROF. ALBERTO BELUSSI Anno ... - di.univr.it · Basi di dati - 2010/2011. Informazioni...

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

Metodologia di progettazione dei datig p g38

Progettazione fisica

OBIETTIVOCompletare lo schema logico con i parametri relativi alla memorizzazione fisica dei dati e con gli opportuni metodi d’ (INDICI)d’accesso (INDICI).

Basi di dati - 2010/2011