Beruflich Dokumente
Kultur Dokumente
Da un modello ad un altro
• Parliamo di come progettare uno schema di basi di
dati relazionale a partire dal progetto dello schema
concettuale.
• Metteremo in relazione i costrutti dei modelli ER (e EER)
con quelli del modello relazionale.
3
Schema concettuale ER
Schema relazionale
5
Schema concettuale ER
Passo 1: esempio
• Si costruiscono le relazioni IMPIEGATO, DIPARTIMENTO
e PROGETTO con relative chiavi
• Gli attributi di chiave esterna non sono ancora inseriti
9
10
Schema concettuale ER
11
Passo 2: esempio
• Si costruisce PERSONA_A_CARICO
• Si inserisce la chiave primaria SSN della relazione
IMPIEGATO (tipo di entità proprietario) come attributo
di chiave esterna, rinominato in SSN_I (anche se non è
strettamente necessario)
• La chiave primaria è {SSN_I,
NOME_PERSONA_A_CARICO} perché
NOME_PERSONA_A_CARICO è chiave parziale di
PERSONA_A_CARICO
12
14
Schema concettuale ER
15
16
18
Schema concettuale ER
20
Passo 4: esempio
• Associazione LAVORA_PER: si inserisce la chiave
primaria NUMERO_D della relazione DIPARTIMENTO
come chiave esterna nella relazione IMPIEGATO e la si
chiama N_D
22
Schema concettuale ER
24
Passo 5: esempio
• Associazione LAVORA_SU
• Costruire la relazione LAVORA_SU e inserire le chiavi
primarie di PROGETTO e IMPIEGATO come chiavi
esterne (rinominate in N_P e SSN_I)
• Si inserisce anche l’attributo ORE
• La chiave primaria di LAVORA_SU è {SSN_I, N_P}
25
Passo 5: note
• Dal momento che ogni istanza di associazione presenta
una dipendenza di esistenza da ognuna delle entità che
le collega
• Allora sulle chiavi esterne della relazione
corrispondente all’associazione R deve essere
specificata l’opzione di propagazione per l’azione
referenziale innescata.
26
Schema concettuale ER
28
Passo 6: esempio
• Costruire una relazione SEDI_DIP
• SEDE_D rappresenta l’attributo multivalore
• NUMERO_D (chiave esterna) è la chiave primaria della
relazione DIPARTIMENTO
• La chiave primaria di SEDI_DIP è {NUMERO_D, SEDI_D}
• IN SEDI_DIP esisterà una riga separata per ongi sede di
un dipartimento
29
Passo 6: note
• Come azione referenziale innescata dovrebbe essere
specificata l’opzione di propagazione
• Determinare la chiave primaria di R nel caso di
attributo multivalore composto richiede l’analisi del
significato degli attributi componenti
30
Schema relazionale
31
32
Passo 7: esempio
33
In sintesi (1)
• In uno schema relazionale i tipi di associazione non
sono rappresentati esplicitamente.
• Sono rappresentati con l’uso di due attributi A e B uno
chiave primaria e l’altro chiave esterna (sullo stesso
dominio) inseriti in due relazioni S e T.
• Due righe sono collegate quando hanno lo stesso
valore per A e B
34
In sintesi (2)
• In uno schema relazionale viene costruita una
relazione separata per ogni attributo multivalore
• Perché il modello relazionale non consente valori
multipli per un attributo di una singola tupla
35
Tabella riassuntiva
36
38
Esercizio 1
Tradurre in schema relazionale
39
Esercizio 2
Tradurre in
schema
relazionale
40
Esercizio 3
Tradurre in schema relazionale
41
Esercizio 4
Tradurre in schema relazionale
42
Esercizio 5
Tradurre in schema ER
43
Esercizio 5 - soluzione