77
Atzeni, Ceri, Paraboschi, Atzeni, Ceri, Paraboschi, Torlone Torlone Basi di dati Basi di dati McGraw-Hill, 1996-2002 McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di Progettazione di basi di dati: dati: Metodologie e modelli Metodologie e modelli 20/11/2003

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

Embed Size (px)

Citation preview

Page 1: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

Atzeni, Ceri, Paraboschi, TorloneAtzeni, Ceri, Paraboschi, TorloneBasi di datiBasi di dati

McGraw-Hill, 1996-2002McGraw-Hill, 1996-2002

Capitolo 6:

Progettazione di basi di dati:Progettazione di basi di dati:

Metodologie e modelliMetodologie e modelli

20/11/2003

Page 2: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

2

Progettazione di basi di datiProgettazione di basi di dati

• È una delle attività del processo di sviluppo dei sistemi informativi

• va quindi inquadrata in un contesto più generale:

• il ciclo di vita dei sistemi informativi:• Insieme e sequenzializzazione delle attività

svolte da analisti, progettisti, utenti, nello sviluppo e nell’uso dei sistemi informativi

• attività iterativa, quindi ciclo

Page 3: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

3

Studio di fattibilità

Raccolta e analisi dei requisiti

Progettazione

Realizzazione

Validazione e collaudo

Funzionamento

Page 4: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

4

Fasi (tecniche) del ciclo di vitaFasi (tecniche) del ciclo di vita

• Studio di fattibilità: definizione costi e priorità

• Raccolta e analisi dei requisiti: studio delle

proprietà del sistema

• Progettazione: di dati e funzioni

• Realizzazione

• Validazione e collaudo: sperimenazione

• Funzionamento: il sistema diventa operativo

Page 5: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

5

i dati hanno un ruolo centrale

• i dati sono più stabili

La progettazione di un sistema informativo riguarda due aspetti:

progettazione dei dati

progettazione delle applicazioni

Ma:

Page 6: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

6

Studio di fattibilità

Raccolta e analisi dei requisiti

Progettazionedei dati

Realizzazione

Validazione e collaudo

Funzionamento

Page 7: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

7

… … QUINDIQUINDI

• Per garantire prodotti di buona qualità è opportuno seguire una • metodologia di progetto, con:

• articolazione delle attività in fasi

• criteri di scelta

• modelli di rappresentazione

• generalità e facilità d'uso

Page 8: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

8

Studio di fattibilità

Raccolta e analisi dei requisiti

Progettazionedei dati

Realizzazione

Validazione e collaudo

Funzionamento

Page 9: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

9

Progettazionefisica

Schema concettuale

Requisiti della base di dati

Progettazioneconcettuale

Progettazionelogica

Schema logico

Schema fisico

“CHE COSA”:analisi

“COME”:progettazione

Page 10: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

10

• Schema concettuale

• Schema logico

• Schema fisico

I prodotti della varie fasi sono

schemi di alcuni modelli di dati:

Page 11: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

11

Modello dei datiModello dei dati

• insieme di costrutti utilizzati per organizzare i dati di interesse e descriverne la dinamica

• componente fondamentale: meccanismi di strutturazione (o costruttori di tipo)

• come nei linguaggi di programmazione esistono meccanismi che permettono di definire nuovi tipi, così ogni modello dei dati prevede alcuni costruttori

• ad esempio, il modello relazionale prevede il costruttore relazione, che permette di definire insiemi di record omogenei

Page 12: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

12

Schemi e istanzeSchemi e istanze

• In ogni base di dati esistono:• lo schema, sostanzialmente invariante nel tempo,

che ne descrive la struttura (aspetto intensionale)• nel modello relazionale, le intestazioni delle

tabelle • l’istanza, i valori attuali, che possono cambiare

anche molto rapidamente (aspetto estensionale)• nel modello relazionale, il “corpo” di ciascuna

tabella

Page 13: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

13

Due tipi (principali) di modelliDue tipi (principali) di modelli

• modelli logici: utilizzati nei DBMS esistenti per l’organizzazione dei dati• utilizzati dai programmi• indipendenti dalle strutture fisiche

esempi: relazionale, reticolare, gerarchico, a oggetti • modelli concettuali: permettono di rappresentare i

dati in modo indipendente da ogni sistema• cercano di descrivere i concetti del mondo reale• sono utilizzati nelle fasi preliminari di

progettazioneil più noto è il modello Entity-Relationship

Page 14: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

14

Modelli concettuali, perché?Modelli concettuali, perché?

• Proviamo a modellare una applicazione definendo direttamente lo schema logico della base di dati:• da dove cominciamo?• rischiamo di perderci subito nei dettagli• dobbiamo pensare subito a come

correlare le varie tabelle (chiavi etc.)• i modelli logici sono rigidi

Page 15: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

15

Modelli concettuali, perché?Modelli concettuali, perché?

• servono per ragionare sulla realtà di interesse, indipendentemente dagli aspetti realizzativi

• permettono di rappresentare le classi di dati di interesse e le loro correlazioni

• prevedono efficaci rappresentazioni grafiche (utili anche per documentazione e comunicazione)

Page 16: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

16

BD

Schema logico

Schema interno

utente

Architettura (semplificata) di un DBMSArchitettura (semplificata) di un DBMS

Page 17: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

17

Progettazioneconcettuale

Progettazione logica

Progettazionefisica

Page 18: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

18

Modello Entity-Relationship Modello Entity-Relationship (Entità-Relazione)(Entità-Relazione)

• Il più diffuso modello concettuale

• Ne esistono molte versioni, • (più o meno) diverse l’una dall’altra

Page 19: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

19

I costrutti del modello E-RI costrutti del modello E-R

• Entità• Relationship• Attributo• Identificatore• Generalizzazione• ….

Page 20: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

20

EntitàEntità

• Classe di oggetti (fatti, persone, cose) della applicazione di interesse con proprietà comuni e con esistenza “autonoma”

• Esempi:• impiegato, città, conto corrente, ordine,

fattura

Page 21: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

21

RelationshipRelationship

• Legame logico fra due o più entità, rilevante nell’applicazione di interesse

• Esempi:• Residenza (fra persona e città)• Esame (fra studente e corso)

Page 22: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

22

Uno schema E-R, graficamenteUno schema E-R, graficamente

EsameStudente Corso

Page 23: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

23

EntitàEntità

• Classe di oggetti (fatti, persone, cose) della applicazione di interesse con proprietà comuni e con esistenza “autonoma”

• Esempi:• impiegato, città, conto corrente, ordine,

fattura

Page 24: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

24

Entità: schema e istanzaEntità: schema e istanza

• Entità: • classe di oggetti, persone, … "omogenei"

• Occorrenza (o istanza) di entità:• elemento della classe (l'oggetto, la

persona, …, non i dati)

• nello schema concettuale rappresentiamo le

entità, non le singole istanze (“astrazione”)

Page 25: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

25

Rappresentazione grafica di entitàRappresentazione grafica di entità

Impiegato Dipartimento

Città Vendita

Page 26: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

26

Entità, commentiEntità, commenti

• Ogni entità ha un nome che la identifica

univocamente nello schema:

• nomi espressivi

• opportune convenzioni

• singolare

Page 27: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

27

RelationshipRelationship

• Legame logico fra due o più entità, rilevante nell’applicazione di interesse

• Esempi:• Residenza (fra persona e città)• Esame (fra studente e corso)

• Chiamata anche: • relazione, correlazione, associazione

Page 28: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

28

Rappresentazione grafica Rappresentazione grafica di relationshipdi relationship

EsameStudente Corso

ResidenzaImpiegato Città

Page 29: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

29

Relationship, commentiRelationship, commenti

• Ogni relationship ha un nome che la identifica univocamente nello schema:• nomi espressivi• opportune convenzioni

• singolare• sostantivi invece che verbi (se

possibile)

Page 30: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

30

Esempi di occorrenzeEsempi di occorrenze

S1

S2

S4

S3

Studente

C1

C2

C3

Corso

E1

E2

E3

E4

Page 31: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

31

Relationship, occorrenzeRelationship, occorrenze

• Una occorrenza di una relationship binaria è coppia di occorrenze di entità, una per ciascuna entità coinvolta

• Una occorrenza di una relationship n-aria è una n-upla di occorrenze di entità, una per ciascuna entità coinvolta

• Nell'ambito di una relationship non ci possono essere occorrenze (coppie, ennuple) ripetute

Page 32: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

32

Relationship corrette?Relationship corrette?

EsameStudente Corso

VisitaPaziente Medico

Page 33: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

33

Due relationship sulle stesse entitàDue relationship sulle stesse entità

ResidenzaImpiegato Città

Sede dilavoro

Page 34: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

34

Relationship n-ariaRelationship n-aria

Fornitore Prodotto

Dipartimento

Fornitura

Page 35: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

35

Relationship ricorsiva:Relationship ricorsiva: coinvolge “due volte” la stessa entità coinvolge “due volte” la stessa entità

Persona

Conoscenza

Page 36: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

36

Relationship ricorsiva con “ruoli”Relationship ricorsiva con “ruoli”

Successione

SovranoSuccessore Predecessore

Page 37: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

37

Confronto

Tennista

Superficie

Relationship ternaria ricorsivaRelationship ternaria ricorsiva

Migliore Peggiore

Page 38: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

38

AttributoAttributo

• Proprietà elementare di un’entità o di una relationship, di interesse ai fini dell’applicazione

• Associa ad ogni occorrenza di entità o relationship un valore appartenente a un insieme detto dominio dell’attributo

Page 39: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

39

Attributi, rappresentazione graficaAttributi, rappresentazione grafica

EsameStudente Corso

Cognome Nome

Matricola

Data Titolo

Codice

Voto

Page 40: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

40

Attributi compostiAttributi composti

• Raggruppano attributi di una medesima entità o relationship che presentano affinità nel loro significato o uso

• Esempio: • Via, Numero civico e CAP formano un

Indirizzo

Page 41: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

41

Rappresentazione graficaRappresentazione grafica

Impiegato

Cognome

Età Via

Indirizzo Numero

CAP

Page 42: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

42

ComposizionePartecipazione

Progetto

NomeBudget

Impiegato

Codice

Cognome Telefono

Dipartimento

NomeAfferenza

Data

Direzione

CittàIndirizzo

SedeVia

CAP

Page 43: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

43

Altri costrutti del modello E-RAltri costrutti del modello E-R

• Cardinalità• di relationship • di attributo

• Identificatore• interno• esterno

• Generalizzazione

Page 44: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

44

Cardinalità di relationshipCardinalità di relationship

• Coppia di valori associati a ogni entità che partecipa a una relationship

• specificano il numero minimo e massimo di occorrenze delle relationship cui ciascuna occorrenza di una entità può partecipare

Page 45: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

45

Esempio di cardinalitEsempio di cardinalitàà

AssegnamentoImpiegato Incarico

(1,5) (0,50)

Page 46: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

46

• per semplicità usiamo solo tre simboli:• 0 e 1 per la cardinalità minima:

• 0 = “partecipazione opzionale” • 1 = “partecipazione obbligatoria”

• 1 e “N” per la massima:• “N” non pone alcun limite

Page 47: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

47

Occorrenze di ResidenzaOccorrenze di Residenza

S1

S2

S4

S3

Studente

C1

C2

C3

Città

R3

R4

R2

R1

C4

Page 48: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

48

CardinalitCardinalità di Residenzaà di Residenza

ResidenzaStudente Città

(1,1) (0,N)

Page 49: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

49

Tipi di relationshipTipi di relationship

• Con riferimento alle cardinalità massime, abbiamo relationship:• uno a uno• uno a molti • molti a molti

Page 50: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

50

Relationship “molti a molti”Relationship “molti a molti”

EsameStudente Corso

(0,N) (0,N)

ScalataMontagna Alpinista

(0,N) (1,N)

AbilitazioneMacchinista Locomotore

(1,N) (1,N)

Page 51: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

51

Due avvertenzeDue avvertenze

• Attenzione al "verso" nelle relationship uno a molti

• le relationship obbligatorie-obbligatorie sono molto rare

Page 52: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

52

Relationship “uno a molti”Relationship “uno a molti”

ImpiegoPersona Azienda

(0,1) (0,N)

UbicazioneCinema Località

(1,1) (0,N)

UbicazioneComune Provincia

(1,1) (1,N)

Page 53: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

53

Relationship “uno a uno”Relationship “uno a uno”

TitolaritàProfessore Cattedra

(0,1) (0,1)

TitolaritàProfessore

di ruoloCattedra

(1,1) (0,1)

TitolaritàProfessore

di ruoloCattedracoperta

(1,1) (1,1)

Page 54: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

54

Cardinalità di attributiCardinalità di attributi

• E’ possibile associare delle cardinalità anche agli attributi, con due scopi:

• indicare opzionalità ("informazione incompleta")

• indicare attributi multivalore

Page 55: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

55

Rappresentazione graficaRappresentazione grafica

Impiegato

Telefono

Nome

Numero patente

(0,N)

(0,1)

Page 56: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

56

Identificatore di una entitàIdentificatore di una entità

• “strumento” per l’identificazione univoca delle occorrenze di un’entità

• costituito da:• attributi dell’entità

• identificatore interno• (attributi +) entità esterne attraverso

relationship • identificatore esterno

Page 57: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

57

Identificatori interniIdentificatori interni

Persona

Data Nascita

Cognome

Nome

Automobile

Targa

Modello

Indirizzo

Page 58: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

58

Identificatore esternoIdentificatore esterno

IscrizioneStudente Università

Cognome Matricola

Anno di corso

Nome

Indirizzo

(1,1) (0,N)

Page 59: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

59

Alcune osservazioniAlcune osservazioni

• ogni entità deve possedere almeno un identificatore, ma può averne in generale più di uno

• una identificazione esterna è possibile solo attraverso una relationship a cui l’entità da identificare partecipa con cardinalità (1,1)

• perché non parliamo degli identificatori delle relationship?

Page 60: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

60

(1,1)(0,1)

(0,N)(0,1)

(0,1)

(1,1)

(1,N)

(0,N)

(1,N)

(1,N)

CittàIndirizzo

Telefono

Dipartimento

Composizione

Sede

Direzione

Afferenza

Impiegato

Progetto

Partecipazione

Nome

Nome

Cognome

Budget

Data

Via

CAP

Codice

Page 61: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

61

GeneralizzazioneGeneralizzazione

• mette in relazione una o più entità E1, E2, ..., En con una entità E, che le comprende come casi particolari

• E è generalizzazione di E1, E2, ..., En• E1, E2, ..., En sono specializzazioni (o

sottotipi) di E

Page 62: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

62

Rappresentazione graficaRappresentazione grafica

Dipendente

Impiegato Funzionario Dirigente

Page 63: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

63

Proprietà delle generalizzazioniProprietà delle generalizzazioni

Se E (genitore) è generalizzazione di E1, E2, ..., En (figlie):

• ogni proprietà di E è significativa per E1, E2, ..., En

• ogni occorrenza di E1, E2, ..., En è occorrenza anche di E

Page 64: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

64

Persona

Codice fiscale

Nome

Età

Città

Nascita

(0,N)

(1,1)

Lavoratore Studente

Stipendio

Page 65: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

65

EreditarietàEreditarietà

• tutte le proprietà (attributi, relationship, altre generalizzazioni) dell’entità genitore vengono ereditate dalle entità figlie e non rappresentate esplicitamente

Page 66: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

66

Tipi di generalizzazioniTipi di generalizzazioni

• totale se ogni occorrenza dell'entità genitore è occorrenza di almeno una delle entità figlie, altrimenti è parziale

• esclusiva se ogni occorrenza dell'entità genitore è occorrenza di al più una delle entità figlie, altrimenti è sovrapposta

• consideriamo (senza perdita di generalità) solo generalizzazioni esclusive e distinguiamo fra totali e parziali

Page 67: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

67

Disoccupato Lavoratore

Persona

Page 68: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

68

Persona

Uomo DonnaUomo Donna

Page 69: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

69

Altre proprietàAltre proprietà

• possono esistere gerarchie a più livelli e multiple generalizzazioni allo stesso livello

• un'entità può essere inclusa in più gerarchie, come genitore e/o come figlia

• se una generalizzazione ha solo un’entità figlia si parla di sottoinsieme

• alcune configurazioni non hanno senso• il genitore di una generalizzazione totale può

non avere identificatore, purché …

Page 70: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

70

EsercizioEsercizio

• Le persone hanno CF, cognome ed età; gli uomini anche la posizione militare; gli impiegati hanno lo stipendio e possono essere segretari, direttori o progettisti (un progettista può essere anche responsabile di progetto); gli studenti (che non possono essere impiegati) un numero di matricola; esistono persone che non sono né impiegati né studenti (ma i dettagli non ci interessano)

Page 71: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

71

Segretario Direttore Progettista

Responsabile

PersonaCF

Cognome

Età

Uomo Donna

Militare

Impiegato Studente

Stipendio Matr.

Page 72: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

72

Documentazione associata agli schemi Documentazione associata agli schemi concettualiconcettuali

• dizionario dei dati

• entità

• relationship

• vincoli non esprimibili

Page 73: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

73

(1,1)(0,1)

(0,N)(0,1)

(0,1)

(1,1)

(1,N)

(0,N)

(1,N)

(1,N)

CittàIndirizzo

Telefono

Dipartimento

Composizione

Sede

Direzione

Afferenza

Impiegato

Progetto

Partecipazione

Nome

Nome

Cognome

Budget

Data

Via

CAP

Codice

Page 74: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

74

Dizionario dei dati (entità)Dizionario dei dati (entità)

Entità Descrizione Attributi IdentificatoreImpiegato Dipendente

dell'aziendaCodice,Cognome,Stipendio

Codice

Progetto Progettiaziendali

Nome,Budget

Nome

Dipartimento Strutturaaziendale

Nome,Telefono

Nome,Sede

Sede Sededell'azienda

Città,Indirizzo

Città

Page 75: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

75

Relazioni Descrizione Componenti AttributiDirezione Direzione di un

dipartimentoImpiegato,Dipartimento

Afferenza Afferenza a undipartimento

Impiegato,Dipartimento

Data

Partecipazione Partecipazionea un progetto

Impiegato,Progetto

Composizione Composizionedell'azienda

Dipartimento,Sede

Dizionario dei dati (relationship)Dizionario dei dati (relationship)

Page 76: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

76

Vincoli non esprimibiliVincoli non esprimibili

Vincoli di integrità sui dati(1) Il direttore di un dipartimento deve a afferire a tale

dipartimento(2) Un impiegato non deve avere uno stipendio

maggiore del direttore del dipartimento al qualeafferisce

(3) Un dipartimento con sede a Roma deve esserediretto da un impiegato con più di dieci anni dianzianità

(4) Un impiegato che non afferisce a nessundipartimento non deve partecipare a nessun unprogetto

Page 77: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 20/11/2003

20/11/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

77

Esercizio Esercizio

Definire uno schema E-R per una biblioteca, con le seguenti specifiche:• oggetto dei prestiti sono esemplari (detti anche copie) di singoli volumi,

identificati attraverso un numero di inventario; ogni volume è relativo ad una specifica edizione (che può essere articolata in più volumi, anche in modo diverso dalle altre edizioni) di un'opera

• un volume può essere presente in più copie• una edizione è caratterizzata dall'opera, dall'editore, dalla collana e

dall'annoriassumendo ed esemplificando, è possibile prendere in prestito la seconda copia del terzo volume de “I Miserabili”, edizione Mondadori, collana Oscar, del 1975

• ogni collana ha un nome e un codice• ogni editore ha un nome e un codice• ogni opera ha un titolo, un autore e un anno di prima pubblicazione• per ogni prestito in corso (quelli conclusi non interessano), sono

rilevanti la data prevista di restituzione e l'utente (che può avere più volumi in prestito contemporaneamente), con codice identificativo, nome, cognome e recapito telefonico