basi di dati modello entità - relazione - innovit.org · basi di dati modello entità - relazione...

76
Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 1 Basi di dati D B M G Progettazione di basi di dati Modello Entità-Relazione Progettazione concettuale Progettazione concettuale Progettazione logica Normalizzazione D B M G 2

Upload: phammien

Post on 15-Feb-2019

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 2: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 3: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 4: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 5: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 6: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 7: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 8: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 9: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 10: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 11: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 12: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 13: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 14: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 15: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 16: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 17: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 18: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 19: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 20: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 21: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 22: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 23: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 24: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 25: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 26: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 27: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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à

Page 28: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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à

Page 29: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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à

Page 30: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 31: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 32: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 33: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 34: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 35: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

...

Page 36: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 37: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 38: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 39: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 40: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 41: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 42: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 43: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 44: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 45: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 46: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 47: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 48: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 49: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 50: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 51: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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)

Page 52: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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)

Page 53: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 54: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 55: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 56: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 57: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 58: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 59: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 60: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 61: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 62: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 63: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 64: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 65: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 66: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 67: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 68: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 69: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 70: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 71: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 72: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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)

Page 73: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 74: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 75: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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

Page 76: Basi di dati Modello Entità - Relazione - innovit.org · Basi di dati Modello Entità - Relazione Elena Baralis ©2007 Politecnico di Torino 3 Modello Entità-Relazione DBMG Progettazione

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