View
220
Download
0
Category
Preview:
Citation preview
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 1
Basi di dati
DBMG
Progettazione di basi di dati
Modello Entità-RelazioneProgettazione concettualeProgettazione concettualeProgettazione logicaNormalizzazione
DBMG 2
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 2
Progettazione di basi di dati
DBMG
Modello Entità-Relazione
Ciclo di vita di un sistema informativoProgettazione di basi di datiProgettazione di basi di datiEntità e relazioniAttributiIdentificatoriGeneralizzazioneD t i di h i E R
DBMG 4
Documentazione di schemi E-RUML ed E-R
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 3
Modello Entità-Relazione
DBMG
Progettazione di basi di dati
La progettazione di una base di dati è una delle attività del processo di sviluppo di un sistemaattività del processo di sviluppo di un sistema informativo
va inquadrata nel contesto più ampio di ciclo di vita di un sistema informativo
DBMG 6
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 4
Ciclo di vita di un sistema informativo
Studio di fattibilità
DBMG 7
Ciclo di vita di un sistema informativo
Studio di fattibilità determinazione dei costi delle diverse alternative edeterminazione dei costi delle diverse alternative e delle priorità di realizzazione delle componenti del sistema
DBMG 8
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 5
Ciclo di vita di un sistema informativo
Studio di fattibilità
Raccolta e analisidei requisiti
DBMG 9
Ciclo di vita di un sistema informativo
Raccolta e analisi dei requisiti definizione delle proprietà e delle funzionalità deldefinizione delle proprietà e delle funzionalità del sistema informativorichiede interazione con l’utenteproduce una descrizione completa, ma informale del sistema da realizzare
DBMG 10
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 6
Ciclo di vita di un sistema informativo
Studio di fattibilità
Progettazione
Raccolta e analisidei requisiti
DBMG 11
Progettazione suddivisa in progettazione dei dati e delle
Ciclo di vita di un sistema informativo
suddivisa in progettazione dei dati e delle applicazioniproduce descrizioni formali
DBMG 12
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 7
Ciclo di vita di un sistema informativo
Studio di fattibilità
Progettazione
I l i
Raccolta e analisidei requisiti
DBMG 13
Implementazione
Ciclo di vita di un sistema informativo
Implementazionerealizzazione del sistema informativo secondo lerealizzazione del sistema informativo secondo le caratteristiche definite nella fase di progettazione
DBMG 14
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 8
Ciclo di vita di un sistema informativo
Studio di fattibilità
Progettazione
I l i
Raccolta e analisidei requisiti
DBMG 15
Implementazione
Validazione e testing
Ciclo di vita di un sistema informativo
Validazione e testingverifica del corretto funzionamento e della qualitàverifica del corretto funzionamento e della qualità del sistema informativo può portare a modifiche dei requisiti o revisione del progetto
DBMG 16
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 9
Ciclo di vita di un sistema informativo
Studio di fattibilità
Progettazione
I l i
Raccolta e analisidei requisiti
DBMG 17
Implementazione
Validazione e testing
Funzionamento
Ciclo di vita di un sistema informativo
Funzionamentooperatività del sistemaoperatività del sistemarichiede operazioni di gestione e manutenzione
DBMG 18
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 10
Ciclo di vita di un sistema informativo
Studio di fattibilità
Progettazione
P t ti i I l i
Raccolta e analisidei requisiti
DBMG 19
Prototipazione Implementazione
Validazione e testing
Funzionamento
Ciclo di vita di un sistema informativo
Prototipazionerealizzazione rapida di una versione semplificatarealizzazione rapida di una versione semplificata del sistema per valutarne le caratteristiche può portare a modifiche dei requisiti o revisione del progetto
DBMG 20
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 11
Ciclo di vita di un sistema informativo
Studio di fattibilità
Progettazione
P t ti i I l i
Raccolta e analisidei requisiti
DBMG 21
Prototipazione Implementazione
Validazione e testing
Funzionamento
Studio di fattibilità
Ciclo di vita di un sistema informativo
Progettazione
P t ti i I l i
Raccolta e analisidei requisiti
DBMG 22
Prototipazione Implementazione
Validazione e testing
Funzionamento
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 12
Modello Entità-Relazione
DBMG
Progettazione di una base di dati
La base di dati costituisce un componente importante del sistema complessivoimportante del sistema complessivoMetodologia di progettazione basata sui dati
la progettazione della base di dati precede la progettazione delle applicazioni che la utilizzanoattenzione maggiore alla fase di progettazione rispetto alle altre fasi
DBMG 24
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 13
Metodologia di progettazione
Una metodologia di progettazione consiste indecomposizione dell’attività di progetto in passidecomposizione dell attività di progetto in passi successivi indipendenti tra loro strategie da seguire nei vari passi e criteri per la scelta delle strategiemodelli di riferimento per descrivere i dati d’ingresso e di uscita delle varie fasi
DBMG 25
Metodologia di progettazione: Esempio
Preparazione atleticadecomposizione dell’attivitàdecomposizione dell attività 1. forma fisica2a. potenziamento 2b. velocità
DBMG 26
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 14
Metodologia di progettazione: Esempio
Preparazione atleticadecomposizione dell’attivitàdecomposizione dell attività strategie da seguire nei vari passi 1. A) dieta alimentare
B) esercizi per ridurre la percentuale di grasso2a.A) esercizi con pesi
B) esercizi di resistenza
DBMG 27
Metodologia di progettazione: Esempio
Preparazione atleticadecomposizione dell’attivitàdecomposizione dell attività strategie da seguire nei vari passi modelli di riferimento per descrivere i dati d’ingresso e di uscita delle varie fasi1. dati d’ingresso: peso attuale, % di grasso corporeo
dati di uscita: modello della struttura corporea della persona in forma
DBMG 28
persona in forma2a.dati di ingresso: modello di persona in forma
dati di uscita: modello della struttura corporea dell’atleta medio
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 15
Proprietà della metodologia
Generalitàpossibilità di utilizzo indipendentemente dalpossibilità di utilizzo indipendentemente dal problema e dagli strumenti a disposizione
Qualità del risultatoin termini di correttezza, completezza ed efficienza rispetto alle risorse utilizzate
Facilità d’uso
DBMG 29
sia delle strategie che dei modelli di riferimento
Progettazione basata sui dati
Per le basi di dati, metodologia basata sulla separazione delle decisioniseparazione delle decisioni
cosa rappresentare nella base di datiprogettazione concettuale
come rappresentarloprogettazione logica e fisica
DBMG 30
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 16
Fasi della progettazione di basi di dati
Requisiti applicazione
DBMG 31
Requisiti applicazione
Specifiche informali della realtà di interesseproprietà dell’applicazioneproprietà dell applicazionefunzionalità dell’applicazione
DBMG 32
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 17
Fasi della progettazione di basi di dati
Requisiti applicazione Progettazione
concettualeconcettuale
Schema concettuale
DBMG 33
Progettazione concettuale
Rappresentazione delle specifiche informali sotto forma di schema concettualeforma di schema concettuale
descrizione formale e completa, che fa riferimento ad un modello concettualeindipendenza dagli aspetti implementativi (modello dei dati)obiettivo è la rappresentazione del contenuto informativo della base di dati
DBMG 34
informativo della base di dati
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 18
Fasi della progettazione di basi di dati
Requisiti applicazione Progettazione
concettualeconcettuale
Progettazionelogica
Schema concettuale
DBMG 35
Schema logico
Progettazione logica
Traduzione dello schema concettuale nello schema logicoschema logico
fa riferimento al modello logico dei dati presceltosi usano criteri di ottimizzazione delle operazioni da fare sui datiqualità dello schema verificata mediante tecniche formali (normalizzazione)
DBMG 36
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 19
Requisiti applicazione Progettazione
concettuale
Fasi della progettazione di basi di dati
concettuale
Progettazionelogica
P tt i
Schema concettuale
DBMG 37
ProgettazionefisicaSchema logico
Schema fisico
Progettazione fisica
Specifica dei parametri fisici di memorizzazione dei dati (organizzazione dei file e degli indici)dei dati (organizzazione dei file e degli indici)
produce un modello fisico, che dipende dal DBMS prescelto
DBMG 38
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 20
Requisiti applicazione Progettazione
concettuale
Fasi della progettazione di basi di dati
concettuale
Progettazionelogica
P tt i
Schema concettuale
DBMG 39
ProgettazionefisicaSchema logico
Schema fisico
Modello Entità-Relazione
DBMG
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 21
Il modello E-R (Entity-Relationship)
È il modello concettuale più diffusoFornisce costrutti per descrivere le specificheFornisce costrutti per descrivere le specifiche sulla struttura dei dati
in modo semplice e comprensibilecon un formalismo graficoin modo indipendente dal modello dei dati, che può essere scelto in seguito
DBMG 41
Ne esistono numerose varianti
Costrutti principali del modello E-R
EntitàRelazioniRelazioniAttributiIdentificatoriGeneralizzazioni e sottoinsiemi
DBMG 42
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 22
Entità
Nome entità
Rappresenta classi di oggetti del mondo reale (persone, cose, eventi, ...), che hanno
proprietà comuniesistenza autonoma
DBMG 43
esistenza autonoma
Esempi: dipendente, studente, articoloUn’occorrenza di un’entità è un oggetto della classe che l’entità rappresenta
Relazione
N l i
Rappresenta un legame logico tra due o più entitàEsempi: esame tra studente e corso, residenza tra persona e comuneD f d l l i d l d ll
Nome relazione
DBMG 44
Da non confondere con la relazione del modello relazionale
a volte indicata con il termine associazione
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 23
Esempi di relazioni
Studente Corso
DBMG 45
Esempi di relazioni
Esame Superato
Studente Corso
DBMG 46
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 24
Esempi di relazioni
Esame Superato
Studente Corso
Persona Comune
DBMG 47
Persona
Esempi di relazioni
Esame Superato
Studente Corso
Residenza
Persona Comune
DBMG 48
Persona
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 25
Esempi di relazioni
Esame Superato
Studente Corso
Residenza
Persona Comune
DBMG 49
Persona
Nascita
Occorrenze di una relazione
DBMG 50
s2 s3
s1 c1c2 c3
c4
Studente Corsos4
c5
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 26
Occorrenze di una relazione
Un’occorrenza di una relazione è una n-upla (coppia nel caso di relazione binaria) costituita da(coppia nel caso di relazione binaria) costituita da occorrenze di entità, una per ciascuna delle entità coinvolte
e1
DBMG 51
s2 s3
s1 c1c2 c3
c4
Studente Corsos4
c5
Occorrenze di una relazione
Un’occorrenza di una relazione è una n-upla (coppia nel caso di relazione binaria) costituita da(coppia nel caso di relazione binaria) costituita da occorrenze di entità, una per ciascuna delle entità coinvolteNon vi possono essere n-uple identiche
e1
DBMG 52
s2 s3
s1 c1c2 c3
c4
e2e3
e4e5
Studente Corsos4
c5
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 27
Cardinalità delle relazioni binarie
Sono specificate per ogni entità che partecipa ad una relazioneuna relazioneDescrivono numero minimo e massimo di occorrenze di una relazione a cui può partecipare una occorrenza di un’entità
minimo assume i valori 0 (partecipazione opzionale) 1 (partecipazione obbligatoria)
DBMG 53
1 (partecipazione obbligatoria)massimo varia tra
1 (al più una occorrenza) N (numero arbitrario di occorrenze)
Cardinalità delle relazioni binarie
Corrispondenza 1 a 1
p1 u1
DBMG 54
p4
u1p2
u2
p3Professore Università
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 28
Cardinalità delle relazioni binarie
Corrispondenza 1 a 1
p1 u1
Professore Università
DBMG 55
p4
u1p2
u2
p3Professore Università
Cardinalità delle relazioni binarie
Corrispondenza 1 a 1
p1 u1
Rettore
Professore Università
DBMG 56
p4
u1p2
u2
p3Professore Università
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 29
Cardinalità delle relazioni binarie
Corrispondenza 1 a 1
(1,1)
p1 r1 u1
Rettore
Professore Università
DBMG 57
p4
u1p2
u2
p3
r2
Professore Università
Cardinalità delle relazioni binarie
Corrispondenza 1 a 1
Rettore
Professore Università(1,1)
p1 r1 u1
(0,1)
DBMG 58
p4
u1p2
u2
p3
r2
Professore Università
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 30
Cardinalità delle relazioni binarie
Corrispondenza 1 a N
p c
DBMG 59
p4
p1 c1
p2
c2
p3Persona Comune
Cardinalità delle relazioni binarie
Corrispondenza 1 a N
p c
Persona Comune
DBMG 60
p4
p1 c1
p2
c2
p3Persona Comune
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 31
Cardinalità delle relazioni binarie
Corrispondenza 1 a N
p c
Residenza
Persona Comune
DBMG 61
p4
p1 c1
p2
c2
p3Persona Comune
Cardinalità delle relazioni binarie
Corrispondenza 1 a N
p
r1
c
(1,1)Residenza
Persona Comune
DBMG 62
p4
p1 c1
p2
c2
p3Persona Comune
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 32
Cardinalità delle relazioni binarie
Corrispondenza 1 a N
Residenza
Persona Comune
p
r1
cr2
(1,1) (1,N)
DBMG 63
p4
p1 c1
p2
c2
p3
r2
r3
r4
Persona Comune
Cardinalità delle relazioni binarie
Corrispondenza molti a molti
s1c1
DBMG 64
s4
s1 1
s2
c3
s3c2
Studente Corso
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 33
Cardinalità delle relazioni binarie
Corrispondenza molti a molti
s1c1
Studente Corso
DBMG 65
s4
s1 1
s2
c3
s3c2
Studente Corso
Cardinalità delle relazioni binarie
Corrispondenza molti a molti
s1c1
Esame Superato
Studente Corso
DBMG 66
s4
s1 1
s2
c3
s3c2
Studente Corso
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 34
Cardinalità delle relazioni binarie
Corrispondenza molti a molti
s1c1
(0,N)
Esame Superato
Studente Corso
DBMG 67
s4
s1 1
s2
c3
s3 e2
e3
c2Studente Corso
Cardinalità delle relazioni binarie
Corrispondenza molti a molti
Esame Superato
Studente Corso(0,N) (0,N)
s1
e1
c1
DBMG 68
s4
s1 1
s2
c3
s3 e2
e3
e4
c2Studente Corso
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 35
Limite di una relazione binaria
e1
s2 s3
s1 c1c2 c3
c4
e2e3
e4e5
StudenteCorso
DBMG 69
Non è possibile che uno studente sostenga due volte lo stesso esame
Relazione ternaria
Uno studente può ripetere lo stesso esame in t i di i
DBMG 70
tempi diversiEsempio di istanza di esame
s1 c1 t1s1 c1 t2
...
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 36
Relazione ternaria
Esame
Studente Corso
Uno studente può ripetere lo stesso esame in t i di i
Studente Corso
Tempo
DBMG 71
tempi diversiEsempio di istanza di esame
s1 c1 t1s1 c1 t2
...
Cardinalità delle relazioni ternarie
Esame
Studente Corso
Tempo
(0,N)
DBMG 72
Tempo
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 37
Occorrenze di una relazione ternaria
StudenteCorso
s1c1
c2s2
s3c3
DBMG 73
t1t2
Tempot3
Occorrenze di una relazione ternaria
e1
StudenteCorso
s1c1
c2s2
s3c3
DBMG 74
t1t2
Tempot3
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 38
Occorrenze di una relazione ternaria
e1
StudenteCorso
s1c1
c2
e2e3
s2
s3c3
DBMG 75
t1t2
Tempot3
Occorrenze di una relazione ternaria
e1
StudenteCorso
s1c1
c2
e2e3
e4
s2
s3c3
DBMG 76
t1t2
Tempot3
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 39
Cardinalità delle relazioni ternarie
Esame
Studente Corso
Tempo
(0,N)
(1,N)
(0,N)
DBMG 77
Tempo
Osservazioni
Le cardinalità minime raramente sono 1 per tutte le entità coinvolte in una relazionele entità coinvolte in una relazioneLe cardinalità massime di una relazione n-aria sono (praticamente) sempre N
se la partecipazione di un’entità E ha cardinalità massima 1, è possibile eliminare la relazione n-aria e legare l’entità E con le altre mediante relazioni binarie
DBMG 78
binarie
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 40
Relazione ricorsiva
AmministratoreDelegato
DirettoreMarketing
DirettoreRicerca e Sviluppo
DirettoreAcquisti/Vendite
Direttore Direttore
DBMG 79
Responsabile Settore
Dolciario
ResponsabileSettore
Pastificio
ResponsabileGrafico
ResponsabilePromozioni
Nord ItaliaSud Italia
Relazione ricorsiva
Dipendente AmministratoreDelegato
Di tt
DirettoreMarketingDirettore
Ricerca e Sviluppo
DirettoreAcquisti/Vendite
ResponsabileGrafico
ResponsabilePromozioni
Direttore Nord Italia
Direttore Sud Italia
DBMG 80
Responsabile Settore Dolciario
Responsabile Settore
Pastificio
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 41
Relazione ricorsiva
DipendenteSuperiore diSottoposto a Amministratore
Delegato
Di tt
SuperioreDirettoreMarketingDirettore
Ricerca e Sviluppo
DirettoreAcquisti/Vendite
ResponsabileGrafico
ResponsabilePromozioni
Direttore Nord Italia
Direttore Sud Italia
DBMG 81
Relazione di un’entità con se stessaSe la relazione non è simmetrica, occorre definire i due ruoli dell’entità
Responsabile Settore Dolciario
Responsabile Settore
Pastificio
Relazione ricorsiva
DipendenteSuperiore diSottoposto a
(0 1) ( )
AmministratoreDelegato
Di tt
Superiore
(0,1) (0,N)
DirettoreMarketingDirettore
Ricerca e Sviluppo
DirettoreAcquisti/Vendite
ResponsabileGrafico
ResponsabilePromozioni
Direttore Nord Italia
Direttore Sud Italia
DBMG 82
Relazione di un’entità con se stessaSe la relazione non è simmetrica, occorre definire i due ruoli dell’entità
Responsabile Settore Dolciario
Responsabile Settore
Pastificio
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 42
Relazione ricorsiva
AmministratoreDelegato
DirettoreMarketing
DirettoreRicerca e Sviluppo
DirettoreAcquisti/Vendite
Direttore Direttore
DBMG 83
Responsabile Settore
Dolciario
ResponsabileSettore
Pastificio
ResponsabileGrafico
ResponsabilePromozioni
Nord ItaliaSud Italia
Relazione ricorsiva
AmministratoreDelegato
Di tt
Dipendente
DirettoreMarketingDirettore
Ricerca e Sviluppo
DirettoreAcquisti/Vendite
ResponsabileGrafico
ResponsabilePromozioni
Direttore Nord Italia
Direttore Sud Italia
DBMG 84
Responsabile Settore Dolciario
Responsabile Settore
Pastificio
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 43
Relazione ricorsiva
DipendenteSuperiore diSottoposto a Amministratore
Delegato
Di tt
SuperioreDirettoreMarketingDirettore
Ricerca e Sviluppo
DirettoreAcquisti/Vendite
ResponsabileGrafico
ResponsabilePromozioni
Direttore Nord Italia
Direttore Sud Italia
DBMG 85
Un sottoposto potrebbe avere più superiori
Responsabile Settore Dolciario
Responsabile Settore
Pastificio
Relazione ricorsiva
(0 N) ( )
DipendenteSuperiore diSottoposto a Amministratore
Delegato
Di tt(0,N) (0,N)
SuperioreDirettoreMarketingDirettore
Ricerca e Sviluppo
DirettoreAcquisti/Vendite
ResponsabileGrafico
ResponsabilePromozioni
Direttore Nord Italia
Direttore Sud Italia
DBMG 86
Un sottoposto potrebbe avere più superiori
Responsabile Settore Dolciario
Responsabile Settore
Pastificio
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 44
Modello Entità-Relazione
DBMG
Attributo
Nome attributo
Descrive una proprietà elementare di un’entità o di una relazioneEsempi
cognome, nome, matricola sono attributi che descrivono l’entità studente
DBMG 88
voto è un attributo che descrive la relazione esame
Ogni attributo è caratterizzato dal dominiol’insieme dei valori ammissibili per l’attributo
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 45
Esempi di attributi
ResidenzaPersona Comune
(1,N)(1,1)Persona Comune
Nascita
(0,N)(1,1)
DBMG 89
Esempi di attributi
Nome
Codice Fiscale
(1,N)(1,1)Residenza
Persona ComuneCognome
(0,N)(1,1)
Persona Comune
Nascita
DBMG 90
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 46
Esempi di attributi
Nome(1,N)(1,1)Nome
Codice Fiscale
ResidenzaPersona Comune
Provincia
(0,N)(1,1)
Cognome Persona Comune
Nascita
DBMG 91
Esempi di attributi
(1,N)(1,1)Nome
Codice Fiscale
NomeResidenza
Persona Comune
Data Nascita
Data Trasferimento(0,N)(1,1)
Cognome ProvinciaPersona Comune
Nascita
DBMG 92
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 47
Esempi di attributi
(1,N)(1,1)Nome
Codice Fiscale
NomeResidenza
Persona Comune
Esame
(0,N)(1,1)
Cognome ProvinciaPersona Comune
Nascita Data Nascita
Data Trasferimento
DBMG 93
EsameStudente Corso
Tempo
(0,N)
(1,N)
(0,N)
Esempi di attributi
(1,N)(1,1)Nome
Codice Fiscale
NomeResidenza
Persona Comune
N
Matricola
C di
(0,N)(1,1)
Cognome ProvinciaPersona Comune
Nascita Data Nascita
Data Trasferimento
Esame
DBMG 94
CognomeNome Codice
Nome(0,N)
(1,N)
(0,N)Esame
Studente Corso
TempoNome Docente
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 48
Esempi di attributi
(1,N)(1,1)Nome
Codice Fiscale
NomeResidenza
Persona Comune
N
Matricola
C diEsame
(0,N)(1,1)
Cognome ProvinciaPersona Comune
Nascita Data Nascita
Data Trasferimento
DBMG 95
Data
(0,N)
(1,N)
(0,N)Cognome
Nome CodiceNome
EsameStudente Corso
TempoNome Docente
Esempi di attributi
(1,N)(1,1)Nome
Codice Fiscale
NomeResidenza
Persona Comune
N
Matricola
C diEsame
(0,N)(1,1)
Cognome ProvinciaPersona Comune
Nascita Data Nascita
Data Trasferimento
DBMG 96
Voto
Data
(0,N)
(1,N)
(0,N)Cognome
Nome CodiceNome
EsameStudente Corso
TempoNome Docente
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 49
Attributo composto
Nome attr. 1Nome attr. 2
Raggruppamento di attributi affini per significato o per uso
Nome attr.composto Nome attr. i
...
DBMG 97
Attributo composto
Nome attr. 1Nome attr. 2
Raggruppamento di attributi affini per significato o per usoEsempio
Nome attr.composto Nome attr. i
...
DBMG 98
Indirizzo
Via
Numero Civico
CAP
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 50
Cardinalità di un attributo
Può essere specificata per gli attributi di entità o relazionirelazioniDescrive numero minimo e massimo di valori dell’attributo associati ad una occorrenza di un’entità o di una relazione
se è omessa corrisponde ad (1,1)minima 0 corrisponde ad attributo che ammette il
DBMG 99
valore nullomassima N corrisponde ad attributo che può assumere più di un valore per la stessa occorrenza (attributo multivalore)
Cardinalità di un attributo
PersonaNome
Codice Fiscale
Cognome
DBMG 100
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 51
Cardinalità di un attributo
PersonaNome
Codice Fiscale
Cognome
DBMG 101
Professione
Cardinalità di un attributo
PersonaNome
Cognome
Codice Fiscale
DBMG 102
Professione(0,1)
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 52
Cardinalità di un attributo
PersonaNome
Cognome
Codice Fiscale
Titolo Studio
DBMG 103
Professione(0,1)
Cardinalità di un attributo
PersonaNome
Codice Fiscale
Titolo Studio(0,N)Cognome
DBMG 104
Professione(0,1)
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 53
Modello Entità-Relazione
DBMG
Identificatore
È specificato per ogni entitàDescrive i concetti (attributi e/o entità) delloDescrive i concetti (attributi e/o entità) dello schema che permettono di individuare in modo univoco le occorrenze delle entità
ogni entità deve avere almeno un identificatore può esistere più di un identificatore appropriato per un’entità
DBMG 106
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 54
Identificatore interno
Semplice: costituito da un solo attributoCodice Fiscale
Persona
Codice Fiscale
NomeCognome
DBMG 107
Identificatore interno
Semplice: costituito da un solo attributoCodice Fiscale
Composto: costituito da più attributiData Nascita
PersonaNome
Cognome
Codice Fiscale
DBMG 108
PersonaNome
Cognome
Professione
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 55
Identificatore esterno
Matricola
NomeCognome
Studente
DBMG 109
Identificatore esterno
Nome CittàMatricola
UniversitàNomeCognome
Studente
DBMG 110
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 56
Identificatore esterno
Iscrizione
Nome CittàMatricola
Iscrizione
UniversitàNomeCognome
Studente
DBMG 111
Identificatore esterno
Iscrizione
Nome CittàMatricola
L’entità che non dispone internamente di attributi sufficienti per definire un identificatore è denominata entità debole
Iscrizione
UniversitàNomeCognome
Studente
DBMG 112
denominata entità debole
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 57
Identificatore esterno
Iscrizione
Nome CittàMatricola
L’entità che non dispone internamente di attributi sufficienti per definire un identificatore è denominata entità debole
(1,1) (0,N)
Iscrizione
UniversitàNomeCognome
Studente
DBMG 113
denominata entità debole
Identificatore esterno
Iscrizione
Nome CittàMatricola
L’entità che non dispone internamente di attributi sufficienti per definire un identificatore è denominata entità debole
Iscrizione
(1,1) (0,N)UniversitàNome
CognomeStudente
DBMG 114
denominata entità deboleL’entità debole deve partecipare con cardinalità (1,1) in ognuna delle relazioni che forniscono parte dell’identificatore
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 58
Identificatore esterno
N Descrizione
CodiceProdotto
NumeroData Ordine Prodotto
Descrizione
(0,N)(1,N)
Prezzo
à
Include
DBMG 115
Quantità
Identificatore esterno
CodiceProdotto
DescrizioneNOrdine Prodotto
(1,1)Quantità
Linea Ordine(1,1)
(0,N)
PerIn
(1,N)
PrezzoDescrizioneNumero
Data
DBMG 116
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 59
Identificatore esterno
CodiceProdotto
DescrizioneN
È ibil t ll t di iù
(1,1) (1,1)
(0,N)(1,N)
Ordine Prodotto
Quantità
Linea OrdinePerIn
PrezzoDescrizioneNumero
Data
DBMG 117
È possibile rappresentare nello stesso ordine più linee ordine per lo stesso prodotto?
Identificatore esterno
CodiceProdotto
N Descrizione
(1,1) (1,1)
(0,N)(1,N)
Ordine Prodotto
Quantità
Linea OrdinePerIn
NumeroData Prezzo
Descrizione
Numero Linea
DBMG 118
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 60
Osservazioni
Un identificatore esterno può coinvolgere un’entità a sua volta identificata esternamenteun entità a sua volta identificata esternamente
non si devono generare cicli di identificazione
Codice SalaSala
(0,N)Numero Scaffale
InNumero Ripiano
DBMG 119
(1,1)ScaffaleIn (1,1)
Ripiano(0,N)
Osservazioni
Le relazioni non hanno identificatori
Esame
(0,N) (0,N)Nome
CognomeStudente Corso
Matricola Codice Corso Nome
Data
DBMG 120
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 61
Modello Entità-Relazione
DBMG
Generalizzazione
E
Descrive un collegamento logico tra un’entità E, e una o più entità E1, E2,…, En, in cui E comprende come casi particolari E1 E2 E
E1 E2 En
DBMG 122
come casi particolari E1, E2,…, En
E, detta entità padre, è una generalizzazione di E1, E2,…, En
E1, E2,…, En , dette entità figlie, sono una specializzazione di E
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 62
Generalizzazione: esempio
PersonaNome
Cognome
Codice Fiscale
g
DBMG 123
Persona
Generalizzazione: esempio
PersonaNome
Cognome
Codice Fiscale
Uomo DonnaSituazioneMilitare
g
DBMG 124
Persona
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 63
Generalizzazione: esempio
PersonaNome
Cognome
Codice Fiscale
g
Uomo DonnaSituazioneMilitare
DBMG 125
PersonaUomo
Donna
Generalizzazione: esempio
SportivoNome
Cognome
NumeroTessera
g
DBMG 126
Sportivo
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 64
Generalizzazione: esempio
SportivoNome
Cognome
NumeroTessera
g
Sciatore VelistaSpecialità Ruolo
DBMG 127
Sportivo
Generalizzazione: esempio
SportivoNome
Cognome
NumeroTessera
g
Sciatore VelistaSpecialità Ruolo
S i
DBMG 128
SportivoSciatore
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 65
Generalizzazione: esempio
SportivoNome
Cognome
NumeroTessera
g
Sciatore VelistaSpecialità Ruolo
S i
DBMG 129
Sportivo
Velista
Sciatore
Generalizzazione: esempio
SportivoNome
Cognome
NumeroTessera
g
Sciatore VelistaSpecialità Ruolo
S i
DBMG 130
Sportivo sia sciatore, sia velista
né sciatore, né velista
Velista
Sciatore
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 66
Generalizzazione: proprietà
Ogni occorrenza di un’entità figlia è anche un’occorrenza dell’entità padreun occorrenza dell entità padreOgni proprietà dell’entità padre (attributi, identificatori, relazioni, altre generalizzazioni) è anche una proprietà di ogni entità figlia
proprietà nota come ereditarietàUn’entità può essere coinvolta in più
DBMG 131
p pgeneralizzazioni diverse
Generalizzazione: esempio non corretto
PersonaNome Codice
FiscalePersonaSituazioneMilitare (0,1)
Uomo DonnaCognome Cognome
DBMG 132
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 67
Generalizzazione: esempio non corretto
PersonaNome Codice
FiscalePersonaSituazioneMilitare (0,1)
Uomo DonnaCognome Cognome
DBMG 133
Generalizzazione: esempio non corretto
PersonaNome Codice
FiscaleCognome
PersonaSituazioneMilitare (0,1)
Uomo Donna
DBMG 134
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 68
Generalizzazione: esempio corretto
PersonaNome Codice
FiscaleCognome
Persona
Uomo DonnaSituazioneMilitare
DBMG 135
Generalizzazione: proprietà
Caratteristiche ortogonaligeneralizzazione totale se ogni occorrenzageneralizzazione totale se ogni occorrenza dell’entità padre è un’occorrenza di almeno una delle entità figlie, parziale altrimentiesclusiva se ogni occorrenza dell’entità padre è al più un’occorrenza di una delle entità figlie, sovrapposta altrimenti
DBMG 136
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 69
Generalizzazione: esempio
PersonaNome
Cognome
Codice Fiscale
g
Uomo DonnaSituazioneMilitare
(t,e)
DBMG 137
PersonaUomo
Donna
Generalizzazione: esempio
SportivoNome
Cognome
NumeroTessera
g
Sciatore VelistaSpecialità Ruolo
(p,s)
S i
DBMG 138
Sportivo
né sciatore, né velista
Velista
sia sciatore, sia velista
Sciatore
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 70
Sottoinsieme
Caso particolare di generalizzazione con una sola entità figliaentità figlia
la generalizzazione è sempre parziale ed esclusiva
Dipendente
DBMG 139
A TermineData Fine Contratto
Modello Entità-Relazione
DBMG
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 71
Documentazione di schemi E-R
Matricola Codice Corso Nome
EsameC
Crediti Acquisiti
(0,N) (0,N)Studente Corso
Data Tempo
(1,N)
NomeCognome
C di D tDi ti t
(1,1)
CreditiVoto
Media Voti
DBMG 141
Docente
Codice Docente
NomeCognome
Dipartimento
(1,N)Titolare
Documentazione di schemi E-R
Dizionario dei datipermette di arricchire lo schema E-R conpermette di arricchire lo schema E-R con descrizioni in linguaggio naturale di entità, relazioni e attributi
DBMG 142
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 72
Dizionario dei dati: esempio
Entità Descrizione Attributi IdentificatoreStudente Studente Matricola MatricolaStudente Studente
dell’universitàMatricola, Cognome, Nome, Crediti acquisiti, Media voti
Matricola
Docente Docente dell’università
Codice docente, Dipartimento, Cognome, Nome
Codice docente
DBMG 143
Corso Corsi offerti dall’università
Codice corso, Nome, Crediti
Codice corso
Tempo Date in cui sono stati sostenuti esami
Data Data
Dizionario dei dati: esempio
Relazione Descrizione Entità coinvolte AttributiEsame Associa uno Studente (0 N) VotoEsame Associa uno
studente agli esami che ha sostenuto e memorizza il voto conseguito
Studente (0,N),Corso (0,N),Tempo (1,N)
Voto
Titolare Associa ogni l
Corso (1,1),
DBMG 144
corso al suo docente titolare
Docente (0,N)
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 73
Documentazione di schemi E-R
Dizionario dei datipermette di arricchire lo schema E-R conpermette di arricchire lo schema E-R con descrizioni in linguaggio naturale di entità, relazioni e attributi
Vincoli d’integrità sui datinon sempre possono essere indicati esplicitamente in uno schema E-Rpossono essere descritti in linguaggio naturale
DBMG 145
possono essere descritti in linguaggio naturale
Vincoli d’integrità sui dati: esempio
Vincoli d’integritàRV1 Il voto di un esame può assumere esclusivamente valoriRV1 Il voto di un esame può assumere esclusivamente valori
compresi tra 0 e 30
RV2 Ogni studente non può superare due volte con esito positivo lo stesso esame
RV3 Uno studente non può sostenere più di tre volte l’esame relativo allo stesso corso nell’arco dello stesso anno accademico
DBMG 146
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 74
Documentazione di schemi E-R
Dizionario dei datitt di i hi l h E R d i i ipermette di arricchire lo schema E-R con descrizioni
in linguaggio naturale di entità, relazioni e attributi
Vincoli d’integrità sui datinon sempre possono essere indicati esplicitamente in uno schema E-Rpossono essere descritti in linguaggio naturale
DBMG 147
possono essere descritti in linguaggio naturale
Regole di derivazione dei datipermettono di esplicitare che un concetto dello schema può essere ottenuto (mediante inferenza o calcolo aritmetico) da altri concetti dello schema
Regole di derivazione dei dati: esempio
Regole di derivazioneRD1 Il di diti i iti d t d t i ttiRD1 Il numero di crediti acquisiti da uno studente si ottiene
sommando il numero di crediti dei corsi per cui lo studente ha superato l’esame
RD2 La media voti di uno studente di ottiene calcolando la media dei voti degli esami superati dallo studente
DBMG 148
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 75
Modello Entità-Relazione
DBMG
UML ed E-R
UML (Unified Modeling Language)modellazione di un’applicazione softwaremodellazione di un applicazione software
aspetti strutturali e comportamentali (dati, operazioni, processi e architetture)
formalismo riccodiagramma delle classi, degli attori, di sequenza, di comunicazione, degli stati, ...
E R
DBMG 150
E-Rmodellazione di una base di dati
aspetti strutturali di un’applicazione
costrutti funzionali alla modellazione di basi di dati
Basi di dati Modello Entità - Relazione
Elena Baralis©2007 Politecnico di Torino 76
UML ed E-R
Principali differenze di UML rispetto ad ERassenza di notazione standard per definire gliassenza di notazione standard per definire gli identificatoripossibilità di aggiungere note per commentare i diagrammipossibilità di indicare il verso di navigazione di una associazione (non rilevante nella progettazione di una base di dati)
DBMG 151
una base di dati)
UML ed E-R
Formalismi diversiIl diagramma delle classi di un’applicazione èIl diagramma delle classi di un’applicazione è diverso dallo schema E-R della base di datiIl diagramma delle classi, anche se progettato per uso diverso, può essere adattato per la descrizione del progetto concettuale di una base di dati
DBMG 152
Recommended