progettazione di una base di dati progettazione logica (modello relazionale)
TRANSCRIPT
![Page 1: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/1.jpg)
Progettazione di una base di dati
Progettazione logica
(modello relazionale)
![Page 2: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/2.jpg)
studente
corsoesame(0,n) (0,n)
matricola
cognome
voto data
indirizzopersona
docente affidamento(1,n)
modalità
(1,n)
nascita comune
com provdata-nasc
CF
nome
qualifica
(1,1) (1,n)
C# titolo
![Page 3: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/3.jpg)
Eliminazione delle gerarchie
Il modello relazionale non permette di rappresentare
direttamente le gerarchie ISA
E E3R1
E4R2E2E1
K A
A2A1
![Page 4: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/4.jpg)
Eliminazione delle gerarchiemetodo 1: quando le operazioni non fanno distinzione tra le occorrenze delle diverse entità
E E3R1
E4R2
K A
A2
A1
![Page 5: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/5.jpg)
Eliminazione delle gerarchiemetodo 2: quando la generalizzazione è totale (ogni occorrenza dell'entita` padre e` occorrenza di una delle entita` figlie) o ci sono operazioni che si riferiscono a occorrenze di una sola delle entità
E3R12
E4R2E2E1
K A
A2A1K
A
R12
![Page 6: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/6.jpg)
Eliminazione delle gerarchie
metodo 3: quando la generalizzazione non è totale e/o ci sono operazioni che si riferiscono a occorrenze di una sola delle entità figlie
E E3R1
E4R2E2E1
K A
A2A1 R11 R12
![Page 7: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/7.jpg)
studente
corsoesame(0,n) (0,n)
matricola
cognome
voto data
indirizzopersona
docente affidamento(1,n)
modalità
(1,n)
nascita comune
com provdata-nasc
CF
nome
qualifica
(1,1) (1,n)
C# titolo
![Page 8: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/8.jpg)
studente
corsoesame
(0,n)
(0,n)
matricola
cognome
voto data
indirizzo
docente
affidamento
(1,n)
modalità
(1,n)
nascita-s comune
com prov
data-nasc CF
nome
qualifica
(1,1) (1,n)
C# titolo
cognome
indirizzo
nome
nascita-d
(1,n)
(1,1)
data-nasc
CF
![Page 9: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/9.jpg)
Entità
Ad ogni entità corrisponde una relazione.
Gli attributi semplici (a singolo valore) dell’entità diventano attributi della relazione. L’identificatore dell’entità diventa chiave primaria della relazione
![Page 10: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/10.jpg)
Entità… Per gli attributi composti (multivalore):
studente
giorno-nasc
mese-nasc
anno-nasc
studentegiorno-nasc
mese-nasc
anno-nasc
studente data-nasc
data-nasc
![Page 11: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/11.jpg)
Entità
… Per gli attributi composti (multivalore):
impiegatocodice figli
impiegato
codice
figlio
nome
ha
ENTITA’ DEBOLE
![Page 12: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/12.jpg)
Relazioni corrispondenti ad entità
• Studente(CF,Matr,Cogn,Nome,Indir,Data-nasc)
oppure
Studente(CF,Matr,Cogn,Nome,Indir,Data-nasc)• Docente(CF,Qualifica,Cogn,Nome,Indir,Data-nasc)• Corso(C#,Titolo)• Comune(Com,Prov)
![Page 13: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/13.jpg)
Associazioni binarie one-to-one
se entrambe le entità hanno partecipazione totale
E1K1 E2R K2
(1) E1(K1, attributi di E1, attributi di E2, attibuti di R)
(1,1) (1,1)
(2) E1(K1, attributi di E1)E2(K2, K1, attributi di E2, attributi di R)
![Page 14: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/14.jpg)
esempio
studentematr
documentoriconosc numero
(1) studente(matr, cognome, nome, tipo-doc,numero-doc, ente-ril)
(1,1) (1,1)
(2) studente(matr, cognome, nome) documento(tipo, numero, matr, ente-ril)
tipo
ente-rilcognome
nome
![Page 15: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/15.jpg)
Associazioni binarie one-to-one
se una sola delle entità ha partecipazione totale
E1K1 E2R K2
E1(K1, attributi di E1)E2(K2, K1, attributi di E2, attributi di R)
(0,1) (1,1)
![Page 16: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/16.jpg)
esempio
studentematr
tesiassegn
argomento
(0,1) (1,1)
studente(matr, cognome, nome) tesi(titolo, matr, argomento, data)
titolo
datacognome
nome
![Page 17: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/17.jpg)
Associazioni binarie one-to-one
se entrambe le entità hanno partecipazione parziale
E1K1 E2R K2
E1(K1, attributi di E1)E2(K2, attributi di E2)R(K1, K2, attributi di R)
(0,1) (0,1)
![Page 18: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/18.jpg)
esempio
studentematr
tesi disponassegn
argomento
(0,1) (0,1)
studente(matr, cognome, nome) tesidispon(titolo, argomento)
assegn(matr, titolo, data)
titolo
datacognome
nome
![Page 19: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/19.jpg)
Associazioni binarie one-to-many
se l'entità dalla parte "many" ha partecipazione totale
E1K1 E2R K2
E1(K1, K2, attributi di E1, attributi di R)E2(K2, attributi di E2)
(1,1) (min,n)
![Page 20: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/20.jpg)
esempio
studentematr
cittànasc
prov
(1,1) (min,1)
studente(matr, cognome, nome, città-nasc) città(nome, prov)
nome
cognomenome
![Page 21: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/21.jpg)
Associazioni binarie one-to-many
se l'entità dalla parte "many" ha partecipazione parziale
E1K1 E2R K2(0,1) (min,n)
E1(K1, attributi di E1)E2(K2, attributi di E2)R(K1, K2, attributi di R)
![Page 22: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/22.jpg)
esempio
studentematr
docenterelatore
cognome
(0,1) (1,n)
studente(matr, cognome, nome) relatore(matr, CF)
docente(CF, cognome)
CF
cognomenome
![Page 23: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/23.jpg)
Associazioni binarie many-to-many
E1K1 E2R K2
E1(K1, attributi di E1)E2(K2, attributi di E2)R(K1, K2, attributi di R)
(min,n)(min,n)
![Page 24: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/24.jpg)
esempio
studentematr
corsoesame
nome
(0,n) (0,n)
studente(matr, cognome, nome) corso(cod, nome)
esame(matr, cod, data, voto)
Cod
cognomenome datavoto
![Page 25: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/25.jpg)
Associazioni n-arie
E1K1 E2R K2
E1(K1, attributi di E1)E2(K2, attributi di E2)E3(K3, attributi di E3)R(K1,K2,K3, attributi di R)
(min,n)(min,n)
E3 K3
(min,n)
![Page 26: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/26.jpg)
esempio
branonome
direttoreesecuzione
cognome
orchestra(nome, num-comp)brano(nome, autore)direttore(cognome, nazionalità)esecuzione(nome-orch,nome-brano,cognome, luogo, data)
(min,n)(min,n)
orchestranome
(min,n)
autore
num-comp
nazionalitàdataluogo
![Page 27: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/27.jpg)
Relazioni corrispondenti ad associazioni
studente corsoesame(0,n) (0,n)
matricola
cognome
voto data
indirizzo
nome
C# titolodata-nasc CF
Studente(CF,Matr,Cogn,Nome,Indir,Data-nasc,Com)Corso(C#,Titolo)Esame(Matr,C#,Data,Voto)
![Page 28: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/28.jpg)
Relazioni corrispondenti ad associazioni
corsodocente affidamento(1,n)
modalità
(1,n)
data-nasc CF
qualifica C# titolo
cognome
indirizzo
nome
Docente(CF,Qualifica,Cogn,Nome,Indir,Data-nasc,Com)Corso(C#,Titolo)Affidamento(CF,C#,Modalità)
![Page 29: Progettazione di una base di dati Progettazione logica (modello relazionale)](https://reader035.vdocuments.mx/reader035/viewer/2022062300/5542eb74497959361e8dce0c/html5/thumbnails/29.jpg)
Schema relazionale
Studente(CF,Matr,Cogn,Nome,Indir,Data-nasc,Com)Docente(CF,Qualifica,Cogn,Nome,Indir,Data-nasc,Com)Corso(C#,Titolo)Comune(Com,Prov)
Esame(Matr,C#,Data,Voto)Affidamento(CF,C#,Modalità)