Sei sulla pagina 1di 98

Atzeni, Ceri, Fraternali,

Paraboschi, Torlone
Basi di dati
Quarta edizione
McGraw-Hill, 2013
Capitolo 6:
Progettazione di basi di dati:
Metodologie e modelli per il progetto

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 1
Perché preoccuparci?

• 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.)
• il modello relazionale è “rigido”

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 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

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 3
Studio di fattibilità

Raccolta e analisi
dei requisiti

Progettazione

Realizzazione

Validazione e
collaudo

Funzionamento
P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 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
P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 5
La progettazione di un sistema informativo riguarda
due aspetti:

progettazione dei dati


progettazione delle applicazioni

Ma:
i dati hanno un ruolo centrale
• i dati sono più stabili

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 6
Studio di fattibilità

Raccolta e analisi
dei requisiti

Progettazione

Realizzazione

Validazione e
collaudo

Funzionamento

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 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

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 8
Studio di fattibilità

Raccolta e analisi
dei requisiti

Progettazione

Realizzazione

Validazione e
collaudo

Funzionamento

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 9
Requisiti della base di dati

Progettazione “CHE COSA”:


concettuale analisi
Schema concettuale

Progettazione
logica
Schema logico
“COME”: Progettazione
progettazione fisica
Schema fisico
P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 10
I prodotti della varie fasi sono
schemi di alcuni modelli di dati:

• Schema concettuale
• Schema logico
• Schema fisico

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 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
P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 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

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 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 progettazione
il più noto è il modello Entità-Relazione (nel seguito verrà
chiamato modello Entity-Relationship per non
confondersi con la relazione del modello relazionale)

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 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

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 15
Modelli concettuali, perché?

• servono per ragionare sulla realtà di interesse,


indipendentemente dagli aspetti realizzativi
• permettono di rappresentare le classi di oggetti di
interesse e le loro correlazioni
• prevedono efficaci rappresentazioni grafiche (utili
anche per documentazione e comunicazione)

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 16
Architettura (semplificata) di un
DBMS
utente

Schema logico

Schema interno

BD

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 17
Progettazione
concettuale

Progettazione
logica

Progettazione
fisica
P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 18
Modello Entity-Relationship
(Entità-Relazione)

• Il più diffuso modello concettuale

• Ne esistono molte versioni,


• (più o meno) diverse l’una dall’altra

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 19
I costrutti del modello E-R

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

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 20
Entità

• Classe di oggetti (fatti, persone, cose) della realtà


di interesse con proprietà comuni e con esistenza
“autonoma”
• Esempi:
• impiegato, città, conto corrente, ordine,
fattura

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 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)

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 22
Uno schema E-R, graficamente

Studente Esame Corso

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 23
Entità

• Classe di oggetti (fatti, persone, cose) della realtà


di interesse con proprietà comuni e con esistenza
“autonoma”
• Esempi:
• impiegato, città, conto corrente, ordine,
fattura

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 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”)

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 25
Rappresentazione grafica di entità

Impiegato Dipartimento

Città Vendita

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 26
Entità, commenti

• Ogni entità ha un nome che la identifica


univocamente nello schema:
• nomi espressivi
• opportune convenzioni
• singolare

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 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

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 28
Rappresentazione grafica
di relationship

Studente Esame Corso

Impiegato Residenza Città

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 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)

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 30
Esempi di occorrenze
E1

S1 E2
C1
E3
S2
S3 C2

S4 E4
C3
Esame

Studente Corso
P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 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

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 32
Relationship corrette?

Studente Esame Corso

Paziente Visita Medico

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 33
Attenzione
E5
E1

S1 E2
C1
E3
S2
S3 C2

S4 E4
C3
Esame

Studente Corso
P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 34
"Promuoviamo" la relationship

Studente Esame
Esame Corso

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 35
Con l’entità Esame

S1 E5
C1
E1
S2
S3 C2

S4 C3
Esame

Studente Corso
P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 36
Due relationship sulle stesse entità

Sede di
lavoro

Impiegato Residenza Città

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 37
Relationship n-aria

Fornitore Fornitura Prodotto

Dipartimento

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 38
Esempi di occorrenze
Fornitura f1

F1 f2
P1
F2 P2
F3 f3
F4 f4 P3

Fornitore Prodotto

D1 D3
D2
Dipartimento
P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 39
Relationship ricorsiva:
coinvolge “due volte” la stessa entità

Conoscenza

Persona

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 40
Relationship ricorsiva con “ruoli”

Successione

Ministro
Successore Predecessore

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 41
Esempi di occorrenze
successore:S2,predecessore: S3

successore:S1,predecessore: S2

S2

S3 Predecessore
Successore S1

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 42
Relationship ternaria ricorsiva

Superficie

Migliore Peggiore
Confronto

Tennista

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 43
Esempi di occorrenze

S1 T1 è migliore di T2 su S2
S2 T2 è migliore di T1 su S1
T3 è migliore di T2 su S1

T1

T2
T3

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 44
Attributo

• 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

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 45
Attributi, rappresentazione grafica

Cognome Nome Data Voto Titolo

Studente Esame Corso

Matricola Codice

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 46
Esempi di occorrenze
Matricola: 34567
Data: 25/07/2004
Cognome: Rossi Codice: Inf205
Voto: 26
Nome: Mario Titolo: Basi di dati
E1

S1 E2
C1
S2
Matricola: 46742 C2
Cognome: Neri
Nome: Piero
Esame
Studente Corso
P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 47
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

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 48
Rappresentazione grafica

Cognome

Impiegato Età Via

Indirizzo Numero

CAP

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 49
Cognome Telefono
Direzione

Impiegato Dipartimento

Codice Afferenza Nome


Partecipazione Composizione

Data

Sede
Progetto
Via
Indirizzo Città
Budget Nome CAP
P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 50
Altri costrutti del modello E-R

• Cardinalità
• di relationship
• di attributo
• Identificatore
• interno
• esterno
• Generalizzazione

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 51
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

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 52
Esempio di cardinalità

(2,5) (0,50)
Impiegato Assegnamento Incarico

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 53
• 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

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 54
Occorrenze di Residenza

R1
S1
C1
S2 C2
S3 R2

S4
R3 C3

C4
R4
Studente Città
P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 55
Cardinalità di Residenza

(1,1) (0,N)
Studente Residenza Città

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 56
Tipi di relationship

• Con riferimento alle cardinalità massime,


abbiamo relationship:
• uno a uno
• uno a molti
• molti a molti

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 57
Relationship “molti a molti”
(0,N) (0,N)
Studente Esame Corso

(0,N) (1,N)
Montagna Scalata Alpinista

(1,N) (1,N)
Macchinista Abilitazione Locomotore

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 58
Relationship “uno a molti”
(0,1) (0,N)
Persona Impiego Azienda

(1,1) (0,N)
Cinema Ubicazione Località

(1,1) (1,N)
Comune Ubicazione Provincia

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 59
Due avvertenze

• Attenzione al "verso" nelle relationship uno a


molti
• le relationship obbligatorie-obbligatorie sono
molto rare

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 60
Relationship “uno a uno”
(0,1) (0,1)
Professore Titolarità Cattedra

(1,1) (0,1)
Professore
Titolarità Cattedra
di ruolo

(1,1) (1,1)
Professore Cattedra
Titolarità
di ruolo coperta

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 61
Cardinalità di attributi

• E’ possibile associare delle cardinalità anche agli


attributi, con due scopi:

• indicare opzionalità ("informazione incompleta")


• indicare attributi multivalore

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 62
Rappresentazione grafica

(0,N) Telefono

Impiegato Nome

(0,1) Numero patente

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 63
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

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 64
Identificatori interni

Targa

Automobile Modello

Data Nascita

Persona Cognome

Nome
Indirizzo
P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 65
Identificatore esterno

Cognome Matricola Nome

(1,1) (0,N)
Studente Iscrizione Università

Anno di corso Indirizzo

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 66
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?

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 67
Cognome (0,1) (0,1) Telefono
Direzione (1,N)
(1,1) (0,N)Dipartimento
Impiegato

Afferenza Nome
Codice (0,N) (1,1)
(0,1) Composizione
Partecipazione
Data (1,N)
(1,N)

Sede
Progetto Via
Indirizzo Città
Budget Nome CAP
P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 68
Attenzione

• Differenze apparentemente piccole in cardinalità


e identificatori possono cambiare di molto il
significato …

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 69
Cognome (0,1) (0,1) Telefono
Direzione (1,N)

Impiegato (1,1) (0,N) Dipartimento

Afferenza Nome
Codice (0,N) (1,N)
(0,1) Composizione
Partecipazione
Data
(1,N) (1,1)
Città
Sede
Progetto
Via
Indirizzo
Budget Nome
CAP
P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 70
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

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 71
Rappresentazione grafica

Dipendente

Impiegato Funzionario Dirigente

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 72
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

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 73
Città
(0,N)
Nascita Codice
(1,1) fiscale

Persona Nome

Età
Stipendio

Lavoratore Studente

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 74
Ereditarietà

• tutte le proprietà (attributi, relationship, altre


generalizzazioni) dell’entità genitore vengono
ereditate dalle entità figlie e non rappresentate
esplicitamente

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 75
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
P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 76
Persona

Disoccupato Lavoratore

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 77
Persona

Uomo Donna

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 78
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é …

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 79
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)

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 80
CF Età
Persona
Cognome
Stipendio Matr.

Uomo Donna Impiegato Studente

Militare

Segretario Direttore Progettista

Responsabile

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 81
Documentazione associata
agli schemi concettuali

• dizionario dei dati


• entità
• relationship
• vincoli non esprimibili

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 82
Cognome (0,1) (1,1) Telefono
Direzione

Impiegato (0,1) (0,N) Dipartimento (1,N)

Afferenza Nome
Codice (0,N) (1,1)
(0,1) Composizione
Partecipazione
Data
(1,N) (1,N)

Sede
Progetto
Via
Indirizzo Città
Budget Nome
CAP
P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 83
Dizionario dei dati (entità)

Entità Descrizione Attributi Identificatore


Impiegato Dipendente Codice, Codice
dell'azienda Cognome,
Stipendio
Progetto Progetti Nome, Nome
aziendali Budget
Dipartimento Struttura Nome, Nome,
aziendale Telefono Sede
Sede Sede Città, Città
dell'azienda Indirizzo

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 84
Dizionario dei dati (relationship)

Relazioni Descrizione Componenti Attributi


Direzione Direzione di un Impiegato,
dipartimento Dipartimento
Afferenza Afferenza a un Impiegato, Data
dipartimento Dipartimento
Partecipazione Partecipazione Impiegato,
a un progetto Progetto
Composizione Composizione Dipartimento,
dell'azienda Sede

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 85
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 quale
afferisce
(3) Un dipartimento con sede a Roma deve essere
diretto da un impiegato con più di dieci anni di
anzianità
(4) Un impiegato che non afferisce a nessun
dipartimento non deve partecipare a nessun un
progetto

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 86
Modellazione dei dati in UML

• UML viene talvolta utilizzato in alternativa al


modello ER per la rappresentazione concettuale
dei dati
• Si fa uso dei diagrammi delle classi
• Cambia la rappresentazione diagrammatica ma
non l’approccio alla progettazione
• Vediamo come sia possibile rappresentare
schemi concettuali con UML

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 87
Classi

Impiegato
Progetto
Codice
Nome
Cognome
Budget
Stipendio
Data consegna
Età

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 88
Associazioni
Studente Corso
Matricola Esame Nome
Anno Iscrizione Anno corso

Sede di lavoro

Impiegato Città
Cognome Residenza Nome
Stipendio Numero abitanti
Età

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 89
Classe di associazione

Studente Corso
Matricola Nome
Anno Iscrizione Anno corso
Esame
Data
Voto

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 90
Associazione ternaria

Dipartimento
Nome
Telefono

Fornitore Prodotto
Denominazione Codice
Indirizzo Prezzo

Fornitura
Quantità

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 91
Reificazione di associazione

Dipartimento
Nome
Telefono

Fornitore Fornitura Prodotto


Denominazione Quantità Codice
Indirizzo Prezzo

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 92
Aggregazione e composizione

Team Tecnico

Azienda Filiale

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 93
Associazioni con molteplicità

Ordine Fattura
1 Vendita 0..1

Persona Città
 Residenza

Turista Viaggio
 Prenotazione 1..

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 94
Identificatori

Persona
Automobile
Data Nascita {id}
Targa {id} Cognome {id}
Modello Nome {id}
Colore Indirizzo

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 95
Identificatore esterno

Studente Università
Matricola {id} 1.. Iscrizione 1 Nome {id}
Anno Iscrizione Città
Cognome <<identificante>> Indirizzo

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 96
Generalizzazioni

Persona
Professionista
Codice Fiscale {id}
Cognome Partita IVA {id}
Età Indirizzo

{parziale, esclusiva}

Uomo Donna Avvocato Ingegnere Dottore


Situazione militare Specializzazione

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 97
Uno schema concettuale in UML
1 Direzione 0..1

Impiegato
Codice {id}
Dipartimento
Cognome 1.. 0..1 Nome {id}
Stipendio Telefono 1..
Età
Afferenza
Data afferenza 1..
1..
Partecipazione Composizione
Data inizio <<identificante>>

 1
Progetto
Sede
Nome {id} Progetti aziendali
Budget nei quali lavorano Città {id}
Data consegna 0..1 gli impiegati Indirizzo

P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone ©2013 McGraw-Hill Education (Italy) S.r.l.
Basi di dati. Modelli e linguaggi di interrogazione, 4e 98

Potrebbero piacerti anche