Progettazione di basi di dati Atzeni, Ceri, Paraboschi ... · Basi di dati, Capitolo 6 9...

33
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 17/10/2002 17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 2 Progettazione 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 17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 3 Studio di fattibilità Raccolta e analisi dei requisiti Progettazione Realizzazione Validazione e collaudo Funzionamento 17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 4 Fasi (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 17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 5 4i dati hanno un ruolo centrale i dati sono più stabili La progettazione di un sistema informativo riguarda due aspetti: 4progettazione dei dati progettazione delle applicazioni Ma: 17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6 6 Studio di fattibilità Raccolta e analisi dei requisiti Progettazione dei dati Realizzazione Validazione e collaudo Funzionamento

Transcript of Progettazione di basi di dati Atzeni, Ceri, Paraboschi ... · Basi di dati, Capitolo 6 9...

1

Atzeni, Ceri, Paraboschi, TorloneBasi di dati

McGraw -Hill, 1996-2002

Capitolo 6:

Progettazione di basi di dati:Metodologie e modelli

17/10/2002

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

2

Progettazione 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

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

3

Studio di fattibilità

Raccolta e analisidei requisiti

Progettazione

Realizzazione

Validazione e collaudo

Funzionamento

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

4

Fasi (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

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

5

4i dati hanno un ruolo centrale

• i dati sono più stabili

La progettazione di un sistema informativo riguarda due aspetti:

4progettazione dei datiprogettazione delle applicazioni

Ma:

17/10/2002 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

2

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

7

• 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

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

8

Studio di fattibilità

Raccolta e analisidei requisiti

Progettazionedei dati

Realizzazione

Validazione e collaudo

Funzionamento

17/10/2002 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

17/10/2002 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:

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

11

Modello 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

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

12

Schemi 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

3

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

13

Due 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

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

14

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

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

15

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)

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

16

BD

Schema logico

Schema interno

utente

Architettura (semplificata) di un DBMS

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

17

Progettazioneconcettuale

Progettazione logica

Progettazionefisica

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

18

Modello Entity-Relationship (Entità-Relazione)

• Il più diffuso modello concettuale

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

4

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

19

I costrutti del modello E-R

• Entità

• Relationship• Attributo• Identificatore• Generalizzazione• ….

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

20

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

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

21

Relationship

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

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

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

22

Uno schema E-R, graficamente

EsameStudente Corso

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

23

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

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

24

Entità: 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”)

5

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

25

Rappresentazione grafica di entità

Impiegato Dipartimento

Città Vendita

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

26

Entità, commenti

• Ogni entità ha un nome che la identifica univocamente nello schema:

• nomi espressivi

• opportune convenzioni

• singolare

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

27

Relationship

• 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

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

28

Rappresentazione grafica di relationship

EsameStudente Corso

ResidenzaImpiegato Città

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

29

Relationship, commenti

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

• singolare• sostantivi invece che verbi (se

possibile)

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

30

Esempi di occorrenze

S1

S2

S4

S3

Studente

C1

C2

C3

Corso

E1

E2

E3

E4

6

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

31

Relationship, 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

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

32

Relationship corrette?

EsameStudente Corso

VisitaPaziente Medico

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

33

Due relationship sulle stesse entità

ResidenzaImpiegato Città

Sede dilavoro

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

34

Relationship n-aria

Fornitore Prodotto

Dipartimento

Fornitura

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

35

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

Persona

Conoscenza

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

36

Relationship ricorsiva con “ruoli”

Successione

SovranoSuccessore Predecessore

7

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

37

Confronto

Tennista

Superficie

Relationship ternaria ricorsiva

Migliore Peggiore

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

38

Attributo

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

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

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

39

Attributi, rappresentazione grafica

EsameStudente Corso

Cognome Nome

Matricola

Data Titolo

Codice

Voto

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

40

Attributi 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

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

41

Rappresentazione grafica

Impiegato

Cognome

Età Via

Indirizzo Numero

CAP

17/10/2002 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

8

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

43

Altri costrutti del modello E-R

• Cardinalità

• di relationship • di attributo

• Identificatore• interno• esterno

• Generalizzazione

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

44

Cardinalità 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

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

45

Esempio di cardinalità

AssegnamentoImpiegato Incarico

(1,5) (0,50)

17/10/2002 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

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

47

Occorrenze di Residenza

S1

S2

S4

S3

Studente

C1

C2

C3

Città

R3

R4

R2

R1

C4

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

48

Cardinalità di Residenza

ResidenzaStudente Città

(1,1) (0,N)

9

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

49

Tipi di relationship

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

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

50

Relationship “molti a molti”

EsameStudente Corso

(0,N) (0,N)

ScalataMontagna Alpinista(0,N) (1,N)

AbilitazioneMacchinista Locomotore

(1,N) (1,N)

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

51

Due avvertenze

• Attenzione al "verso" nelle relationship uno a molti

• le relationship obbligatorie -obbligatorie sono molto rare

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

52

Relationship “uno a molti”

ImpiegoPersona Azienda

(0,1) (0,N)

UbicazioneCinema Località(1,1) (0,N)

UbicazioneComune Provincia

(1,1) (1,N)

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

53

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)

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

54

Cardinalità di attributi

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

• indicare opzionalità ("informazione incompleta")

• indicare attributi multivalore

10

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

55

Rappresentazione grafica

Impiegato

Telefono

Nome

Numero patente

(0,N)

(0,1)

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

56

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

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

57

Identificatori interni

Persona

Data Nascita

Cognome

Nome

Automobile

Targa

Modello

Indirizzo

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

58

Identificatore esterno

IscrizioneStudente Università

Cognome Matricola

Anno di corso

Nome

Indirizzo

(1,1) (0,N)

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

59

Alcune 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?

17/10/2002 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

11

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

61

Generalizzazione

• 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

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

62

Rappresentazione grafica

Dipendente

Impiegato Funzionario Dirigente

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

63

Proprietà 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

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

64

Persona

Codice fiscale

Nome

Età

Città

Nascita(0,N)

(1,1)

Lavoratore Studente

Stipendio

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

65

Ereditarietà

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

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

66

Tipi 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

12

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

67

Disoccupato Lavoratore

Persona

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

68

Persona

Uomo DonnaUomo Donna

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

69

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é …

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

70

Esercizio

• 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)

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

71

Segretario Direttore Progettista

Responsabile

PersonaCF

Cognome

Età

Uomo Donna

Militare

Impiegato Studente

Stipendio Matr.

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

72

Documentazione associata agli schemi concettuali

• dizionario dei dati • entità• relationship

• vincoli non esprimibili

13

17/10/2002 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

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

74

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à

17/10/2002 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)

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

76

Vincoli 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

Atzeni, Ceri, Paraboschi, TorloneBasi di dati

McGraw -Hill, 1996-2002

Capitolo 7:

Progettazione concettuale

17/10/2002

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

78

Progettazionefisica

Schema concettuale

Requisiti della base di dati

Progettazionelogica

Schema logico

Schema fisico

Progettazioneconcettuale

14

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

79

Analisi dei requisiti e progettazione concettuale ("Analisi dei dati")

• Comprende attività (interconnesse) di

• acquisizione dei requisiti• analisi dei requisiti• costruzione dello schema concettuale• costruzione del glossario

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

80

Requisiti

• Possibili fonti:• utenti, attraverso:

• interviste• documentazione apposita

• documentazione esistente :• normative (leggi, regolamenti di settore)• regolamenti interni, procedure aziendali• realizzazioni preesistenti

• modulistica

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

81

Acquisizione e analisi dei requisiti

• Il reperimento dei requisiti è un'attività difficile e non standardizzabile

• l'attività di analisi inizia con i primi requisiti raccolti e spesso indirizza verso altre acquisizioni

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

82

Acquisizione per interviste

• utenti diversi possono fornire informazioni diverse

• utenti a livello più alto hanno spesso una visione più ampia ma meno dettagliata

• le interviste portano spesso ad una acquisizione dei requisiti “per raffinamenti successivi”

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

83

Interazione con gli utenti

• Spunti:

• effettuare spesso verifiche di comprensione e coerenza

• verificare anche per mezzo di esempi (generali e relativi a casi limite)

• richiedere definizioni e classificazioni • far evidenziare gli aspetti essenziali

rispetto a quelli marginali

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

84

Requisiti: documentazione descrittiva

• Regole generali:

• scegliere il corretto livello di astrazione• standardizzare la struttura delle frasi• suddividere le frasi articolate• separare le frasi sui dati da quelle sulle

funzioni

15

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

85

Requisiti: organizzazione di termini e concetti

• Regole generali

• costruire un glossario dei termini• individuare omonimi e sinonimi e unificare

i termini• rendere esplicito il riferimento fra termini• riorganizzare le frasi per concetti

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

86

Base di dati bibliograficaSi vogliono organizzare i dati di interesseper automatizzare la gestione deiriferimenti bibliografici

Requisiti, un esempio

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

87

Base di dati bibliograficaSi vogliono organizzare i dati di interesse perautomatizzare la gestione dei riferimentibibliografici, con tutte le informazioni dariportarsi in una bibliografia.Per ogni pubblicazione deve esistere uncodice identificante costituito da settecaratteri, indicanti le iniziali degli autori, l'annodi pubblicazione e un carattere aggiuntivo perla discriminazione delle collisioni.

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

88

Base di dati bibliograficaSi vogliono organizzare i dati di interesse perautomatizzare la gestione dei riferimentibibliografici, con tutte le informazioni da riportarsiin una bibliografia. Le pubblicazioni sono di duetipi, monografie (per le quali interessano editore,data e luogo di pubblicazione) e articoli su rivista(con nome della rivista, volume, numero, pagine eanno di pubblicazione); per entrambi i tipi sidebbono ovviamente riportare i nomi degli autori.Per ogni pubblicazione deve esistere un codiceidentificante .....

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

89

Società di formazione (1)Si vuole realizzare una base di dati per unasocietà che eroga corsi, di cui vogliamorappresentare i dati dei partecipanti ai corsi e deidocenti. Per gli studenti (circa 5000), identificatida un codice, si vuole memorizzare il codicefiscale, il cognome, l'età, il sesso, il luogo dinascita, il nome dei loro attuali datori di lavoro, iposti dove hanno lavorato in precedenza insiemeal periodo, l'indirizzo e il numero di telefono, icorsi che hanno frequentato (i corsi sono in tuttocirca 200) e il giudizio finale.

Un esempio più articolato

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

90

Società di formazione (2)Rappresentiamo anche i seminari che stannoattualmente frequentando e, per ogni giorno, iluoghi e le ore dove sono tenute le lezioni. I corsihanno un codice, un titolo e possono avere varieedizioni con date di inizio e fine e numero dipartecipanti. Se gli studenti sono liberiprofessionisti, vogliamo conoscere l'area diinteresse e, se lo possiedono, il titolo. Per quelliche lavorano alle dipendenze di altri, vogliamoconoscere invece il loro livello e la posizionericoperta.

16

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

91

Società di formazione (3)Per gli insegnanti (circa 300), rappresentiamo ilcognome, l'età, il posto dove sono nati, il nomedel corso che insegnano, quelli che hannoinsegnato nel passato e quelli che possonoinsegnare. Rappresentiamo anche tutti i lororecapiti telefonici. I docenti possono esseredipendenti interni della società o collaboratoriesterni.

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

92

Termine Descrizione Sinonimi CollegamentiPartecipante Persona che

partecipa ai corsiStudente Corso,

SocietàDocente Docente dei corsi.

Può essere esternoInsegnante Corso

Corso Corso organizzatodalla società. Puòavere più edizioni.

Seminario Docente

Società Ente presso cui ipartecipanti lavoranoo hanno lavorato

Posti Partecipante

Glossario dei termini

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

93

Strutturazione dei requisitiin gruppi di frasi omogenee

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

94

Frasi di carattere generaleSi vuole realizzare una base di dati peruna società che eroga corsi, di cuivogliamo rappresentare i dati deipartecipanti ai corsi e dei docenti.

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

95

Frasi relative ai partecipantiPer i partecipanti (circa 5000), identificati daun codice, rappresentiamo il codice fiscale,il cognome, l'età, il sesso, la città di nascita,i nomi dei loro attuali datori di lavoro e diquelli precedenti (insieme alle date di inizioe fine rapporto), le edizioni dei corsi chestanno attualmente frequentando e quelliche hanno frequentato nel passato, con larelativa votazione finale in decimi.

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

96

Frasi relative ai datori di lavoroRelativamente ai datori di lavoro presenti epassati dei partecipanti, rappresentiamo ilnome, l'indirizzo e il numero di telefono.

Frasi relative ai corsiPer i corsi (circa 200), rappresentiamo il titoloe il codice, le varie edizioni con date di inizio efine e, per ogni edizione, rappresentiamo ilnumero di partecipanti e il giorno dellasettimana, le aule e le ore dove sono tenute lelezioni.

17

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

97

Frasi relative a tipi specifici di partecipantiPer i partecipanti che sono liberiprofessionisti, rappresentiamo l'area diinteresse e, se lo possiedono, il titoloprofessionale. Per i partecipanti che sonodipendenti, rappresentiamo invece il lorolivello e la posizione ricoperta.

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

98

Frasi relative ai docentiPer i docenti (circa 300), rappresentiamo ilcognome, l'età, la città di nascita, tutti inumeri di telefono, il titolo del corso cheinsegnano, di quelli che hanno insegnatonel passato e di quelli che possonoinsegnare. I docenti possono esseredipendenti interni della società diformazione o collaboratori esterni.

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

99

Quale costrutto E-R va utilizzato per rappresentare un concetto presente nelle

specifiche?

• Bisogna basarsi sulle definizioni dei costrutti del modello E-R

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

100

• se ha proprietà significative e descrive oggetti con esistenza autonoma

• entità• se è semplice e non ha proprietà

• attributo• se correla due o più concetti

• relazione• se è caso particolare di un altro

• generalizzazione

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

101

Strategie di progetto

• top-down

• bottom -up• inside-out

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

102

Strategia top-down

SpecificheSchema inizialeSchema intermedioSchema intermedioSchema finale

18

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

103

Primitive di raffinamento top-down

EsameEsameStudente CorsoPersona

Persona

Uomo Donna

Impiegato

Cognome Età

Stipendio

Impiegato

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

104

Strategia bottom-up

SpecificheSpecifiche 2Specifiche 1

Specifiche 1,1

Specifiche 1,2

Specifiche 2,1

Specifiche 2,2

Schema 1,1

Schema 1,2

Schema 2,1

Schema 2,2

Schema finale

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

105

Primitive di raffinamento Bottom-up

Studente Corso

Persona

Uomo Donna

ImpiegatoSpecifica suimpiegato

EsameStudente Corso

Persona

Uomo Donna

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

106

Strategia inside-out: un esempio

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

107

Telefono

Dipartimento

Direzione

Afferenza

Data

(1,1)(0,1)

(1,N)(0,1)

(0,1)

(1,N)

Progetto

Partecipazione

NomeBudget

(0,N)

(1,N)

(1,1)

CittàIndirizzo

Composizione

Sede

Nome

Via

CAP

(1,N)

Impiegato

Cognome

Codice

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

108

In pratica

• si procede di solito con una strategia ibrida (mista):• si individuano i concetti principali e si

realizza uno schema scheletro• sulla base di questo si può decomporre• poi si raffina, si espande, si integra

19

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

109

Definizione dello schema scheletro

• Si individuano i concetti più importanti, ad esempio perché più citati o perché indicati esplicitamente come cruciali e li si organizza in un semplice schema concettuale

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

110

Qualità di uno schema concettuale

• correttezza

• completezza• leggibilità• minimalità

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

111

Un esempio di progettazione concettuale

• Società di formazione

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

112

Frasi di carattere generaleSi vuole realizzare una base di dati peruna società che eroga corsi, di cuivogliamo rappresentare i dati deipartecipanti ai corsi e dei docenti.

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

113

Partecipante

Corso

Docente

Partecipazione Docenza

Schema scheletro

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

114

Frasi relative ai partecipantiPer i partecipanti (circa 5000), identificati daun codice, rappresentiamo il codice fiscale,il cognome, l'età, il sesso, la città di nascita,i nomi dei loro attuali datori di lavoro e diquelli precedenti (insieme alle date di inizioe fine rapporto), le edizioni dei corsi chestanno attualmente frequentando e quelliche hanno frequentato nel passato, con larelativa votazione finale in decimi.

20

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

115

Frasi relative ai datori di lavoroRelativamente ai datori di lavoro presenti epassati dei partecipanti, rappresentiamo ilnome, l'indirizzo e il numero di telefono.

Frasi relative a tipi specifici di partecipantiPer i partecipanti che sono liberiprofessionisti, rappresentiamo l'area diinteresse e, se lo possiedono, il titoloprofessionale. Per i partecipanti che sonodipendenti, rappresentiamo invece il lorolivello e la posizione ricoperta.

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

116

PosizioneLivello Titolo prof. Area

Partecipante

CF

Codice

…..

Impiegopassato

(0,N)

(0,N)

Dipendente Professionista

Datore Nome

…..Impiegocorrente

(0,N)

(1,1)

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

117

Frasi relative ai corsiPer i corsi (circa 200), rappresentiamo il titoloe il codice, le varie edizioni con date di inizio efine e, per ogni edizione, rappresentiamo ilnumero di partecipanti e il giorno dellasettimana, le aule e le ore dove sono tenute lelezioni.

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

118

(1,N)

(1,1)

ComposizioneTipologia

(1,1)

(0,N)

Corso

N.Part.Data fine

Data inizio

Edizionecorso

Orario Aula Giorno

Lezione

Titolo Codice

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

119

Frasi relative ai docentiPer i docenti (circa 300), rappresentiamo ilcognome, l'età, la città di nascita, tutti inumeri di telefono, il titolo del corso cheinsegnano, di quelli che hanno insegnatonel passato e di quelli che possonoinsegnare. I docenti possono esseredipendenti interni della società diformazione o collaboratori esterni.

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

120

Docente

Collaboratore Interno

CF

Cognome

Età

Telefono

Città nascita

(1,N)

21

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

121

Partecipante

Corso

Docente

Partecipazione Docenza

Integrazione

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

122

PartecipazionePartecipante Corso

partecipazionepassata

(0,N) (0,N)

partecipazionecorrente

(0,1) (0,N)

Partecipante Edizionecorso

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

123

DocenzaCorso Docente

Abilitazione(1,N)

(1,N)

Tipologia

Corso

CodiceTitolo

Datainizio

(0,N)

(1,1)

DocenzaEdizionecorso Docente

Docenzapassata

(0,N)(0,1)

Docenzacorrente

(0,1) (0,1)

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

124

Una metodologia• Analisi dei requisiti

• Analizzare i requisiti ed eliminare le ambiguità• Costruire un glossario dei termini • Raggruppare i requisiti in insiemi omogenei

• Passo base• Definire uno schema scheletro con i concetti più rilevanti

• Passo iterativo(da ripetere finché non si è soddisfatti)

• Raffinare i concetti presenti sulla base delle loro specifiche• Aggiungere concetti per descrivere specifiche non descritte

• Analisi di qualità(ripetuta e distribuita)

• Verificare le qualità dello schema e modificarlo

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

125

Una metodologia con integrazione• Analisi dei requisiti• Passo base• Decomposizione

• decomporre i requisiti con riferimento ai concetti nello schema scheletro

• Passo iterativo, per ogni sottoschema • Integrazione

• integrare i vari sottoschemi in uno schema complessivo, facendo riferimento allo schema scheletro

• Analisi di qualità

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

126

Un'altra metodologia con integrazione• Analisi dei requisiti• Decomposizione dei requisiti

• individuazione di settoro di interesse e suddivisione dei requisiti (o addirittura acquisizione separata)

• Per ciascun settore• Passo base• Passo iterativo

• Integrazione• Analisi di qualità

22

Atzeni, Ceri, Paraboschi, TorloneBasi di dati

McGraw -Hill, 1996-2002

Capitolo 8:

Progettazione logica

17/10/2002

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

128

Progettazionefisica

Schema concettuale

Requisiti della base di dati

Progettazionelogica

Schema logico

Schema fisico

Progettazioneconcettuale

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

129

Obiettivo dellaprogettazione logica

• "tradurre" lo schema concettuale in uno schema logico che rappresenti gli stessi dati in maniera corretta ed

efficiente

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

130

Dati di ingresso e uscita

• Ingresso:

• schema concettuale• informazioni sul carico applicativo• modello logico

• Uscita:

• schema logico• documentazione associata

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

131

• alcuni aspetti non sono direttamente rappresentabili

• è necessario considerare le prestazioni

Non si tratta di una pura e semplice traduzione

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

132

Traduzione nelmodello logico

Ristrutturazione dello schema E-R

Schema E-RCaricoapplicativo

Schema E-Rristrutturato

Modellologico

Schema logico

23

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

133

Ristrutturazione schema E-R

• Motivazioni:

• semplificare la traduzione• "ottimizzare" le prestazioni

• Osservazione:• uno schema E-R ristrutturato non è (più)

uno schema concettuale nel senso stretto del termine

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

134

• Ma:

• le prestazioni non sono valutabili con precisione su uno schema concettuale!

Per ottimizzare il risultato abbiamo bisogno di analizzare le prestazioni a questo livello

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

135

Consideriamo “indicatori” dei parametri che regolano le

prestazioni

• spazio: numero di occorrenze previste• tempo: numero di occorrenze (di entità

e relationship) visitate durante un’operazione

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

136

CittàIndirizzo

Telefono

Dipartimento

Composizione

Sede

Direzione

Afferenza

Impiegato

Progetto

Partecipazione

Nome

Nome

Cognome

Budget

Data

Via

CAP

(1,1)(0,1)

(1,N)(0,1)

(0,1)(1,1)

(1,N)

(0,N)

(1,N)

(1,N)

Codice

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

137

Tavola dei volumi

Concetto Tipo VolumeSede E 10

Dipartimento E 80Impiegato E 2000Progetto E 500

Composizione R 80Afferenza R 1900Direzione R 80

Partecipazione R 6000

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

138

Esempio di valutazione di costo

• Operazione:

• trova tutti i dati di un impiegato, del dipartimento nel quale lavora e dei progetti ai quali partecipa

• Si costruisce una tavola degli accessi basata su uno schema di navigazione

24

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

139

Telefono

Dipartimento

Afferenza

Impiegato

Progetto

Partecipazione

Nome

Nome

Cognome

Budget

Data

(1,N)(0,1)

(0,1)(1,1)(0,N)

(1,N)

(1,N)

Codice

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

140

Tavola degli accessi

Concetto Costrutto Accessi TipoImpiegato Entità 1 LAfferenza Relazione 1 L

Dipartimento Entità 1 LPartecipazione Relazione 3 L

Progetto Entità 3 L

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

141

Attività della ristrutturazione

• Analisi delle ridondanze• Eliminazione delle generalizzazioni• Partizionamento/accorpamento di

entità e relationship• Scelta degli identificatori primari

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

142

Analisi delle ridondanze

• Una ridondanza in uno schema E-R è una informazione significativa ma derivabile da altre

• in questa fase si decide se eliminare le ridondanze eventualmente presenti o mantenerle

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

143

Ridondanze

• Vantaggi

• semplificazione delle interrogazioni• Svantaggi

• appesantimento degli aggiornamenti • maggiore occupazione di spazio

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

144

Forme di ridondanza in uno schema E-R

• attributi derivabili:• da altri attributi della stessa entità (o

relazione)

• da attributi di altre entità (o relazioni)• relazioni derivabili dalla composizione di altre

relazioni in presenza di cicli

25

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

145

Attributo derivabile

Impiegato

Importo netto

IVA

Importo lordo

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

146

Attributo derivabile da altra entità

Importo totale

ComposizioneAcquisto Prodotto

Prezzo

(1,N) (1,N)

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

147

Corso

Studente

Frequenza

(0,N)

(1,N)

Professore

Insegnamento(1,1)

(1,1)

Docenza

(0,N)

(1,N)

Ridondanza dovuta a ciclo

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

148

Analisi di una ridondanza

ResidenzaPersona Città

Numero abitanti

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

149

• Operazione 1: memorizza una nuova persona con la relativa città di residenza (500 volte al giorno)

• Operazione 2: stampa tutti i dati di una città (incluso il numero di abitanti) (2 volte al giorno)

Concetto Tipo VolumeCittà E 200

Persona E 1000000Residenza R 1000000

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

150

Presenza di ridondanza

Concetto Costrutto Accessi TipoPersona Entità 1 S

Residenza Relazione 1 SCittà Entità 1 LCittà Entità 1 S

Concetto Costrutto Accessi TipoCittà Entità 1 L

Operazione 1

Operazione 2

26

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

151

Assenza di ridondanza

Concetto Costrutto Accessi TipoPersona Entità 1 S

Residenza Relazione 1 S

Concetto Costrutto Accessi TipoCittà Entità 1 L

Residenza Relazione 5000 L

Operazione 1

Operazione 2

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

152

Presenza di ridondanza

• Costi:

• Operazione 1: 1500 accessi in scrittura e 500 accessi in lettura al giorno

• Operazione 2: trascurabile.• Contiamo doppi gli accessi in scrittura

• Totale di 3500 accessi al giorno

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

153

Assenza di ridondanza

• Costi:

• Operazione 1: 1000 accessi in scrittura • Operazione 2: 10000 accessi in lettura al

giorno • Contiamo doppi gli accessi in scrittura

• Totale di 12000 accessi al giorno

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

154

Attività della ristrutturazione

• Analisi delle ridondanze• Eliminazione delle generalizzazioni• Partizionamento/accorpamento di

entità e relazioni• Scelta degli identificatori primari

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

155

Eliminazione delle gerarchie

• il modello relazionale non può rappresentare direttamente le generalizzazioni

• entità e relazioni sono invece direttamente rappresentabili

• si eliminano perciò le gerarchie, sostituendole con entità e relazioni

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

156

Tre possibilità

1. accorpamento delle figlie della generalizzazione nel genitore

2. accorpamento del genitore della generalizzazione nelle figlie

3. sostituzione della generalizzazione con relazioni

27

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

157

E0 R1

A01 A02

E3

R2

E4

E2E1

A11 A21

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

158

A11

A21

TIPO

(0,1)

(0,1)

(0,..)

E0

A01 A02

R1 E3

R2

E4

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

159

E0 R1

A01 A02

E3

R2

E4

E2E1

A11 A21

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

160

E3

R2

E4

E2E1

A11 A21

R12

R11

A01 A02 A01 A02

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

161

E0 R1

A01 A02

E3

R2

E4

E2E1

A11 A21

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

162

RG2RG1(1,1)

(0,1)

(1,1)

(0,1)

E0

A01 A02

E2E1 R2

E4A11 A21

R1 E3

28

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

163

• la scelta fra le alternative si può fare con metodo simile a quello visto per l'analisi delle ridondanze (però non basato solo sul numero degli accessi)

• è possibile seguire alcune semplici regole generali

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

164

1. conviene se gli accessi al padre e alle figlie sono contestuali

2. conviene se gli accessi alle figlie sono distinti

3. conviene se gli accessi alle entità figlie sono separati dagli accessi al padre

• sono anche possibili soluzioni “ibride”, soprattutto in gerarchie a più livelli

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

165

E0 R1

A01 A02

E3

R2

E4

E2E1

A11 A21

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

166

E0

A01 A02

E2 R2

E4A21

R1 E3

RG2(1,1)

(0,1)

A11

TIPO

(0,1)

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

167

Attività della ristrutturazione

• Analisi delle ridondanze• Eliminazione delle generalizzazioni• Partizionamento/accorpamento di

entità e relazioni• Scelta degli identificatori primari

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

168

• Ristrutturazioni effettuate per rendere più efficienti le operazioni in base a un semplice principio

• Gli accessi si riducono:• separando attributi di un concetto che

vengono acceduti separatamente• raggruppando attributi di concetti diversi

acceduti insieme

29

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

169

Ristrutturazioni, casi principali

• partizionamento verticale di entità

• partizionamento orizzontale di relationship

• eliminazione di attributi multivalore

• accorpamento di entità/ relationship

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

170

Impiegato

Livello

Stipendio

Ritenute

Cognome

Indirizzo

Datanascita

Codice

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

171

LivelloStipendio

Ritenute

Cognome

Indirizzo Datanascita

Codice

RDati

anagraficiDati

lavorativi

(1,1) (1,1)

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

172

Agenzia

Indirizzo

Città

Telefono

Nome

(1,N)

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

173

Numero

Indirizzo

Nome

UtenzaAgenzia Telefono

(1,N) (1,1)

Città

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

174

IndirizzoInternoCognome

Indirizzo Datanascita

Codicefiscale

IntestazionePersona Appartamento

(0,1) (1,1)

30

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

175

Persona

Interno

Indirizzo

Cognome

Indirizzo

Datanascita

Codicefiscale

(0,1)

(0,1)

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

176

Cognome

ComposizioneGiocatore Squadra

(1,N) (1,N)

Ruolo NomeCittà

Data acquisto

Data cessione

(0,1)

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

177

Cognome

Comp.passata

Giocatore Squadra

(1,N) (1,N)

Ruolo Nome

Città

Data acquisto

Data cessione

Comp.attuale

Data acquisto

(1,1) (1,N)

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

178

Attività della ristrutturazione

• Analisi delle ridondanze• Eliminazione delle generalizzazioni• Partizionamento/accorpamento di entità

e relazioni• Scelta degli identificatori primari

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

179

Scelta degli identificatori principali

• operazione indispensabile per la traduzione nel modello relazionale

• Criteri• assenza di opzionalità• semplicità• utilizzo nelle operazioni più frequenti o

importanti

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

180

Se nessuno degli identificatori soddisfa i requisiti visti?

Si introducono nuovi attributi (codici) contenenti valori speciali generati appositamente per

questo scopo

31

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

181

Traduzione verso il modello relazionale

• idea di base:• le entità diventano relazioni sugli stessi

attributi• le associazioni (ovvero le relazioni E-R)

diventano relazioni sugli identificatori delle entità coinvolte (più gli attributi propri)

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

182

Impiegato(Matricola, Cognome, Stipendio)

Progetto(Codice, Nome, Budget)

Partecipazione(Matricola, Codice, DataInizio)

Partecipazione

(0,N) (1,N)

Cognome

Stipendio

Matricola

Impiegato

NomeCodice

Budget

Progetto

Data inizio

Entità e relationship molti a molti

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

183

Entità e relationship molti a molti

Impiegato(Matricola, Cognome, Stipendio)Progetto(Codice, Nome, Budget)

Partecipazione(Matricola, Codice, DataInizio)

• con vincoli di integrità referenziale fra • Matricola in Partecipazione e (la chiave di)

Impiegato • Codice in Partecipazione e (la chiave di) Progetto

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

184

Nomi più espressivi per gli attributi della chiave della relazione che

rappresenta la relationship

Impiegato(Matricola, Cognome, Stipendio)

Progetto(Codice, Nome, Budget)

Partecipazione(Matricola, Codice, DataInizio)

Partecipazione(Impiegato, Progetto, DataInizio)

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

185

Composizione

ProdottoComposto Componente

Costo Nome Codice

(0,N) (0,N)

Prodotto(Codice , Nome, Costo)

Composizione(Composto, Componente , Quantità)

Relationship ricorsiveQuantità

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

186

Nome

Fornitore Prodotto

Dipartimento

Fornitura

Partita IVA Genere CodiceQuantità

Nome

Telefono

(0,N) (1,N)

(1,N)

Relationship n-arie

Fornitore(PartitaIVA, Nome)Prodotto(Codice, Genere)

Dipartimento(Nome, Telefono)Fornitura(Fornitore, Prodotto, Dipartimento, Quantità)

32

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

187

Cognome

Giocatore SquadraContratto

Datanascita Città Nome

Ingaggio

(1,1) (0,N)

Ruolo Colori sociali

Relationship uno a molti

Giocatore(Cognome, DataNascita, Ruolo)Contratto(CognGiocatore, DataNascG, Squadra, Ingaggio)

Squadra(Nome, Città, ColoriSociali)• corretto?

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

188

Soluzione più compatta

Giocatore(Cognome, DataNascita, Ruolo)Contratto(CognGiocatore, DataNascG, Squadra, Ingaggio)

Squadra(Nome, Città, ColoriSociali)

Giocatore(Cognome, DataNasc, Ruolo, Squadra, Ingaggio)Squadra(Nome, Città, ColoriSociali)

• con vincolo di integrità referenziale fra Squadra in Giocatore e la chiave di Squadra

• se la cardinalità minima della relationship è 0, allora Squadra in Giocatore deve ammettere valore nullo

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

189

IscrizioneStudente Università

Cognome Matricola

AnnoDiCorso

Nome

Indirizzo

(1,1) (1,N)

Città

Entità con identificazione esterna

Studente(Matricola, Università , Cognome, AnnoDiCorso)Università(Nome, Città, Indirizzo)

• con vincolo …17/10/2002 Atzeni-Ceri-Paraboschi-Torlone,

Basi di dati, Capitolo 6190

Direttore DipartimentoDirezione

Cognome Codice Sede NomeData inizio

(1,1) (1,1)

Stipendio Telefono

Relationship uno a uno

• varie possibilità:• fondere da una parte o dall'altra• fondere tutto?

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

191

Direttore DipartimentoDirezione

Cognome Codice Sede NomeData inizio

(0,1) (1,1)

Stipendio Telefono

Una possibilità privilegiata

Impiegato (Codice, Cognome, Stipendio)

Dipartimento (Nome, Sede, Telefono, Direttore, InizioD)

• con vincolo di integrità referenziale, senza valori nulli

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

192

Direttore DipartimentoDirezione

Cognome Codice Sede NomeData inizio

(0,1) (0,1)

Stipendio Telefono

Un altro caso

33

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

193

(1,1)(0,1)

(1,N)(0,1)

(0,1)(1,1)

(1,N)

(0,N)

(1,N)

CittàIndirizzo

Telefono

Dipartimento

Composizione

Sede

Direzione

Afferenza

Impiegato

Progetto

Partecipazione

Nome

Nome

Cognome

Budget

Data

Via

CAP

Codice

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

194

Schema finale

Dipartimento(Nome, Città, Telefono, Direttore)

Impiegato(Codice, Cognome, Dipartimento*,Sede*, Data*)

Partecipazione(Impiegato, Progetto)

Progetto(Nome, Budget)

Sede(Città, Via, CAP)

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

195

Strumenti di supporto

• Esistono sul mercato prodotti CASE che forniscono un supporto a tutte le fasi della progettazione di basi di dati

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

196

17/10/2002 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 6

197