Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati...
Transcript of Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati...
![Page 1: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/1.jpg)
DBMG
Progettazione di basi di dati
![Page 2: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/2.jpg)
DBMG 2
Progettazione logica relazionale
Introduzione
Ristrutturazione dello schema ER
Traduzione nel modello relazionale
![Page 3: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/3.jpg)
DBMG
Progettazione logica relazionale
![Page 4: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/4.jpg)
DBMG 4
Progettazione logica
Richiede di scegliere il modello dei dati
modello relazionale
Obiettivo
definizione di uno schema logico relazionale corrispondente allo schema ER di partenza
Aspetti importanti
semplificazione dello schema per renderlo rappresentabile mediante il modello relazionale
ottimizzazione per aumentare l’efficienza delle interrogazioni
![Page 5: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/5.jpg)
DBMG 5
Passi della progettazione logica
Schema ER
![Page 6: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/6.jpg)
DBMG 6
Passi della progettazione logica
Ristrutturazione dello schema
Schema ER semplificato
Schema ER
![Page 7: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/7.jpg)
DBMG 7
Passi della progettazione logica
Ristrutturazione dello schema
Traduzione
Schema ER semplificato
Schema logicorelazionale
Schema ER
![Page 8: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/8.jpg)
DBMG
Progettazione logica relazionale
![Page 9: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/9.jpg)
DBMG 9
Ristrutturazione dello schema ER
Lo schema ER ristrutturato tiene conto di aspetti realizzativi
non è più uno schema concettuale
Obiettivi
eliminazione dei costrutti per cui non esiste una rappresentazione diretta nel modello relazionale
trasformazioni volte ad aumentare l’efficienza delle operazioni di accesso ai dati
![Page 10: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/10.jpg)
DBMG 10
Ristrutturazione dello schema ER
Modello ER Modello relazionale
Corrispondenza dei concetti principali
Modello ER Modello relazionale
Entità Relazione (tabella)
Relazione Riferimento (chiave esterna)
Generalizzazione x Non presente
Attributo semplice Attributo (campo)
Attributo multivalore x Non presente
![Page 11: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/11.jpg)
DBMG 11
Ristrutturazione dello schema ER
1. Analisi delle ridondanze
2. Eliminazione delle generalizzazioni
3. Partizionamento di concetti
4. Eliminazione degli attributi multivalore
5. Scelta degli identificatori primari
![Page 12: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/12.jpg)
DBMG
Progettazione logica relazionale
Ristrutturazione dello schema ER
1 - Analisi delle ridondanze
![Page 13: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/13.jpg)
DBMG 13
Analisi delle ridondanze
Rappresentano informazioni significative, ma derivabili da altri concetti
decisione se conservarle
Effetti delle ridondanze sullo schema logico
semplificazione e velocizzazione delle interrogazioni
maggiore complessità e rallentamento degli aggiornamenti
maggiore occupazione di spazio
![Page 14: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/14.jpg)
DBMG 14
Esempio di attributo ridondante
L’attributo MediaVoti è ridondante
utile per velocizzare le interrogazioni relative al calcolo della media dei voti degli studenti
se conservato, occorre integrare lo schema relazionale con l’indicazione di ridondanza dell’attributo
Nome
Matricola
(0,N) (0,N)
Esame superato
Studente CorsoNome
Cognome
Codice
VotoMediaVoti
![Page 15: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/15.jpg)
DBMG
Progettazione logica relazionale
Ristrutturazione dello schema ER
2 - Eliminazione delle generalizzazioni
![Page 16: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/16.jpg)
DBMG 16
Eliminazione delle generalizzazioni
Non sono rappresentabili direttamente nel modello relazionale
sono sostituite da entità e relazioni
Metodi di ristrutturazione
accorpamento delle entità figlie nell’entità padre
accorpamento dell’entità padre nelle entità figlie
sostituzione della gerarchia con relazioni
![Page 17: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/17.jpg)
DBMG 17
1 - Accorpamento nell’entità padre
CodFisc
Cognome
Nome
Domicilio
Associazione(0,1)
(1,1) (1,N)
(t,e)Lavora in
Specializzazione(1,N)
(1,1) (1,N)
Effettuato da
Reparto Personale
Medico VolontarioEsame
specialistico
Schema concettuale originale
![Page 18: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/18.jpg)
DBMG 18
1 - Accorpamento nell’entità padre
Entità figlie ➔ entità padre
(t,e)
Personale
Medico Volontario
(t,e)
Personale + ...
Medico Volontario
![Page 19: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/19.jpg)
DBMG 19
1 - Accorpamento nell’entità padre
CodFisc
Cognome
Nome
DomicilioPersonale
Specializzazione(0,N)
Associazione(0,1)
Attributi delle entità figlie ➔ entità padre
CodFisc
Cognome
Nome
Domicilio
Associazione(0,1)
(t,e)
Specializzazione(1,N)
Personale
Medico Volontario
![Page 20: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/20.jpg)
DBMG 20
1 - Accorpamento nell’entità padre
Effettuato da
(1,1) (1,N)Lavora in
(1,1)
Reparto Personale
Esame specialistico
Relazioni con le entità figlie ➔ entità padre
(1,1) (1,N)
(t,e)Lavora in
(1,1) (1,N)
Effettuato da
Reparto Personale
Medico VolontarioEsame
specialistico
![Page 21: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/21.jpg)
DBMG 21
1 - Accorpamento nell’entità padre
Attributo discriminante
nell'esempio, l'attributo Tipo permette di distinguere a quale entità figlia appartiene ogni occorrenza
se la generalizzazione è sovrapposta, sono possibili molte combinazioni come valori di Tipo
CodFisc
Cognome
Nome
Domicilio
Associazione(0,1)
(1,1) (1,N)Lavora in
Specializzazione(0,N)
(1,1) (0,N)
Effettuato da
Reparto Personale
Esame specialistico
Tipo
![Page 22: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/22.jpg)
DBMG 22
1 - Accorpamento nell’entità padre
Tecnica sempre applicabile
Tecnica sconsigliata in presenzadi elevato numero di relazioni e/o attributiprovenienti dalle entità figlie (➔ vincoli di integrità dei dati)
(t,e)
Specializzazione(1,N)
Personale
Medico Volontario
Specializzazione(0,N)
Personale
Tipo
Specializzazione non può assumere un valore se Tipo = Volontario
(Specializzazione è un attributo della sola entità figlia Medico)
![Page 23: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/23.jpg)
DBMG 23
2 - Accorpamento nelle entità figlie
CodFisc
Cognome
Nome
Domicilio
Associazione(0,1)
(1,1) (1,N)
(t,e)Lavora in
Specializzazione(1,N)
(1,1) (1,N)
Effettuato da
Reparto Personale
Medico VolontarioEsame
specialistico
Schema concettuale originale
![Page 24: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/24.jpg)
DBMG 24
2 - Accorpamento nelle entità figlie
Entità padre ➔ entità figlie
(t,e)
Personale
Medico Volontario
(t,e)
Personale
Medico + ... Volontario + ...
![Page 25: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/25.jpg)
DBMG 25
2 - Accorpamento nelle entità figlie
CodFisc
Cognome
Nome
Domicilio
Associazione(0,1)
(t,e)
Specializzazione(1,N)
Personale
Medico Volontario
Attributi delle entità padre ➔ entità figlie
Medico
CodFisc
Cognome
Nome
Domicilio
Associazione(0,1)
Volontario
CodFisc
Cognome
Nome
Domicilio
Specializzazione(1,N)
![Page 26: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/26.jpg)
DBMG 26
2 - Accorpamento nelle entità figlie
Relazioni con l'entità padre ➔ entità figlie
(1,1) (1,N)
(t,e)Lavora in
Reparto Personale
Medico Volontario
Medico Volontario
(1,1)
(0,N)
Lavora in 2
Reparto
(1,1)
(0,N)
Lavora in 1
![Page 27: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/27.jpg)
DBMG 27
2 - Accorpamento nelle entità figlie
Tecnica sconsigliata per copertura parziale(possibilità di trasformare la copertura parziale in copertura totale aggiungendo un’ulteriore entità figlia di tipo Altri )
Tecnica non adatta per copertura sovrapposta(difficile gestione degli identificatori duplicati relativi alle istanze comuni a più entità figlie)
![Page 28: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/28.jpg)
DBMG 28
3 - Aggiunta di relazioni
Associazione(0,1)
(t,e)
Specializzazione(1,N)
(1,1) (1,N)
Effettuato da
Medico VolontarioEsame
specialistico
CodFisc
Cognome
Nome
Domicilio
(1,1) (1,N)Lavora in
Reparto Personale
Schema concettuale originale
![Page 29: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/29.jpg)
DBMG 29
3 - Aggiunta di relazioni
(t,e)
Personale
Medico Volontario
Personale
Medico Volontario
È un È un
Generalizzazione n relazioni(una relazione per ogni entità figlia)
![Page 30: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/30.jpg)
DBMG 30
3 - Aggiunta di relazioni
(t,e)
Personale
Medico Volontario
Personale
Medico Volontario
È un È un
Identificatori della entità figlie
![Page 31: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/31.jpg)
DBMG 31
3 - Aggiunta di relazioni
(t,e)
Personale
Medico Volontario
Personale
Medico Volontario
È un È un
Cardinalità delle nuove relazioni
(1,1)
(1,1) (1,1)
(0,1) (0,1)
![Page 32: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/32.jpg)
DBMG 32
3 - Aggiunta di relazioni
Soluzione più generale e sempre applicabile
può essere dispendiosa per ricostruire l’informazione di partenza
![Page 33: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/33.jpg)
DBMG 33
Eliminazione delle generalizzazioni
L’accorpamento delle entità figlie nell’entità padre è appropriato quando
le entità figlie introducono differenziazioni non sostanziali (pochi valori nulli)
le operazioni d’accesso non distinguono tra occorrenze dell’entità padre e delle figlie (accesso più efficiente)
Valutazione delle alternative
![Page 34: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/34.jpg)
DBMG 34
Valutazione delle alternative
L’accorpamento dell’entità padre nelle entità figlie è appropriato quando
la generalizzazione è totale
le operazioni di accesso sono sostanzialmente diverse per ciascuna entità figlia(l'accesso è più efficiente)
Valutazione delle alternative
![Page 35: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/35.jpg)
DBMG 35
Valutazione delle alternative
Sono possibili anche soluzioni “miste”
le operazioni d’accesso distinguono tra occorrenze di alcune entità figlie (l'accesso è più efficiente)
Per le generalizzazioni a più livelli, si procede nello stesso modo, partendo dal livello inferiore
Valutazione delle alternative
![Page 36: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/36.jpg)
DBMG
Progettazione logica relazionale
Ristrutturazione dello schema ER
3 - Partizionamento di concetti
![Page 37: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/37.jpg)
DBMG 37
Partizionamento di concetti
Partizionamento di entità o relazioni
rappresentazione migliore di concetti separati
separazione di attributi di uno stesso concetto che sono utilizzati da operazioni diverse
maggiore efficienza delle operazioni
![Page 38: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/38.jpg)
DBMG 38
Partizionamento di entità
Codice
ImpiegatoCognome
Nome
Domicilio
Stipendio
Livello
Ritenute
(1,1) (1,1)
Dati impiegato
Dati anagrafici
Dati lavorativi
Codice
Cognome
Nome
Domicilio
Stipendio
Livello
Ritenute
![Page 39: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/39.jpg)
DBMG 39
Partizionamento di relazioni
(0,N) (1,N)
OccupaCliente
Localedell’albergo
CodiceFiscale
Cognome
Nome
Descrizione
Numero
Tempo DataInizio
(1,N)
DataFine(0,1)
(0,N) (0,N)
Ha occupato
ClienteLocale
dell’albergo
CodiceFiscale
Cognome
Nome
Descrizione
NumeroDataFine
Occupa attualmente
DataInizio DataFine(0,1)
Tempo DataInizio
(1,N)
(0,N) (0,N)
![Page 40: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/40.jpg)
DBMG
Progettazione logica relazionale
Ristrutturazione dello schema ER
4 - Eliminazione degli attributi multivalore
![Page 41: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/41.jpg)
DBMG 41
Eliminazione degli attributi multivalore
Non sono rappresentabili nel modello relazionale
L’attributo multivalore è rappresentato mediante una nuova entità collegata da una relazione all’entità originale
attenzione alla cardinalità della nuova relazione
![Page 42: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/42.jpg)
DBMG 42
Eliminazione degli attributi multivalore
Titolo di studio(1,N) Persona
Titolo(1,N) (1,N)
Ha conseguito
Titolo di studioPersona
Attributo multivalore ➔ 1 entità + 1 relazione N:N
![Page 43: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/43.jpg)
DBMG 43
Eliminazione degli attributi multivalore
Smartphone(1,N) Persona
Numero(1,1) (1,N)
Ha smartphone
SmartphonePersona
Attributo multivalore ➔ 1 entità + 1 relazione 1:N
![Page 44: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/44.jpg)
DBMG
Progettazione logica relazionale
Ristrutturazione dello schema ER
5 - Scelta degli identificatori primari
![Page 45: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/45.jpg)
DBMG 45
Scelta degli identificatori primari
Necessaria per definire la chiave primaria delle tabelle
Un buon identificatore
non assume mai valore nullo
è costituito da pochi attributi (meglio 1)
possibilmente è interno
è utilizzato da molte operazioni d’accesso
Può essere opportuno introdurre codici identificativi
![Page 46: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/46.jpg)
DBMG
Progettazione logica relazionale
Traduzione nel modello relazionale
![Page 47: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/47.jpg)
DBMG 47
Traduzione nel modello relazionale
Si esegue sullo schema ER ristrutturato
senza gerarchie e senza attributi multivalore
Corrispondenze
ad ogni entità corrisponde una tabella con gli stessi attributi
per le relazioni occorre considerarela cardinalità massima
![Page 48: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/48.jpg)
DBMG 48
Traduzione nel modello relazionale
Modello ER ristrutturato Modello relazionale
Corrispondenza dei concetti principali
Modello ER Modello ER
ristrutturatoModello
relazionale
Entità Entità Relazione (tabella)
Relazione Relazione Riferimento
(chiave esterna)
Generalizzazione x Non presente x Non presente
Attributo semplice Attributo semplice Attributo (campo)
Attributo multivalore x Non presente x Non presente
![Page 49: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/49.jpg)
DBMG
Progettazione logica relazionale
Traduzione nel modello relazionale
1 - Entità (con identificatore interno)
![Page 50: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/50.jpg)
DBMG 50
Traduzione nel modello relazionale - Entità
Codice fiscale
Professione(0,1) Persona
Cognome
Nome
Persona(CodiceFiscale, Nome, Cognome, Professione*)
Traduzione di entità
Ogni entità corrisponde a una tabellacon gli stessi attributi dell'entità derivata
la chiave primaria è sottolineata
gli attributi opzionali sono indicati con asterisco
![Page 51: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/51.jpg)
DBMG
Traduzione nel modello relazionale - Entità
Trattamento degli attributi composti (metodo 1):utilizzo di TIPI personalizzati
(nella maggior parte dei DBMS è possibile definire TIPIpersonalizzati di variabili costituiti da un insieme di più variabili di tipo elementare e/o di tipo personalizzato)
Esempio:
51
Via
Persona Numero civico
CAP
Persona(..., Indirizzo)
TIPO Indirizzo(Via, Numero civico, CAP)
![Page 52: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/52.jpg)
DBMG
Traduzione nel modello relazionale - Entità
Trattamento degli attributi composti (metodo 2):rappresentazione separata degli attributi componenti
(questa rappresentazione può essere conveniente se è necessario accedere separatamente a ciascun attributo)
Esempio:
52
Via
Persona Numero civico
CAP
Persona(..., Via, Numero civico, CAP)
![Page 53: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/53.jpg)
DBMG
Progettazione logica relazionale
Traduzione nel modello relazionale
2 - Relazioni
![Page 54: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/54.jpg)
DBMG
Relazione tra n entità nel modello E-R:insieme di n-uple ordinate contenentiun'istanza I per ciascuna delle n entità partecipanti
Relazione nel modello relazionale:insieme di n-uple ordinate contenentiun elemento E per ciascuno degli n attributi(dove E appartiene al dominio del corrispondente attributo)
nel modello relazionale la relazione viene usualmente denominata tabella (che è in realtà la più diffusa rappresentazione grafica di una relazione)
Traduzione nel modello relazionale - Relazioni
![Page 55: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/55.jpg)
DBMG
Nel modello relazionale non esiste un concettodel tutto equivalente al concetto di relazione ER
Esiste però un concetto corrispondente,che può essere utilizzato nel modello relazionale per rappresentare le relazioni ER:
il concetto di riferimento,realizzabile con lo strumento della chiave esterna
Traduzione nel modello relazionale - Relazioni
![Page 56: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/56.jpg)
DBMG 56
Traduzione di relazioni binarie 1:1Sono possibili più traduzioni
dipende dal valore della cardinalità minima
Traduzione nel modello relazionale - Relazioni
![Page 57: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/57.jpg)
DBMG 57
Traduzione di relazioni binarie 1:1Cardinalità minima 1 da entrambi i lati
Rettore(Matricola, ... , NomeUniversità, DataElezione)
chiave esterna
Università(NomeUniversità, ...)
Traduzione nel modello relazionale - Relazioni
E’ Rettore
NomeUniversità(1,1) (1,1)
Matricola
Data elezione
Rettore Università
oppure: stesso procedimento applicato simmetricamente rispetto alle due entità Rettore, Università
![Page 58: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/58.jpg)
DBMG 58
NomeUniversità(1,1) (0,1)
Rettore
Matricola
Data elezione
Professore Università
Traduzione di relazioni binarie 1:1Cardinalità minima 0 da uno dei due lati
Università(NomeUniversità, ..., Matricola, DataElezione)
chiave esterna
Professore(Matricola, ...)
Traduzione nel modello relazionale - Relazioni
![Page 59: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/59.jpg)
DBMG 59
Rettore(Matricola, NomeUniversità, DataElezione)
anche chiave esterna
Professore(Matricola, ...)Università(NomeUniversità, ...)
NomeUniversità(0,1) (0,1)
Rettore
Matricola
Data elezione
Professore Università
Traduzione di relazioni binarie 1:1Cardinalità minima 0 da entrambi i lati
Traduzione nel modello relazionale - Relazioni
oppure: stesso procedimento applicato simmetricamente rispetto alle due entità Professore, Università
![Page 60: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/60.jpg)
DBMG 60
NomeUniversità(0,1) (0,1)
Rettore
Matricola
Data elezione
Professore Università
Traduzione di relazioni binarie 1:1Cardinalità minima 0 da entrambi i lati
Traduzione nel modello relazionale - Relazioni
Università(Nome, Città, Matricola* , DataElezione* )
chiave esterna
Professore(Matricola, Nome, Cognome)
oppure: stesso procedimento applicato simmetricamente rispetto alle due entità Professore, Università
![Page 61: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/61.jpg)
DBMG 61
Traduzione di relazioni binarie 1:N
Sono possibili due modalità di traduzione:
mediante attributi
mediante una nuova tabella
Traduzione nel modello relazionale - Relazioni
![Page 62: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/62.jpg)
DBMG 62
Persona(..., NomeComune, DataTrasferimento)
chiave esterna
Comune(NomeComune, ...)
NomeComune(1,N) (1,1)
Residenza
Data trasferimento
Persona Comune
Traduzione di relazioni binarie 1:Nmediante attributi
Traduzione nel modello relazionale - Relazioni
![Page 63: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/63.jpg)
DBMG 63
Studente(..., NomeFacoltà*, DataLaurea*)
chiave esterna
Facoltà(NomeFacoltà, Città)
NomeFacoltà(0,N) (0,1)
Laurea
Data laurea
Studente Facoltà
Traduzione di relazioni binarie 1:Nmediante attributi
Traduzione nel modello relazionale - Relazioni
![Page 64: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/64.jpg)
DBMG 64
Studente(...)
Laurea(Matricola, NomeFacoltà, DataLaurea)
chiave esterna
Facoltà(NomeFacoltà, ...)
NomeFacoltà(0,N) (0,1)
Laurea
Data laurea
Studente Facoltà
Traduzione di relazioni binarie 1:Nmediante una nuova tabella
Traduzione nel modello relazionale - Relazioni
![Page 65: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/65.jpg)
DBMG 65
Traduzione nel modello relazionale - Relazioni
Traduzione di relazioni binarie N:N
Ogni relazione N:N corrisponde a una tabella
la chiave primaria è la lista degli identificatoridelle due entità collegate
è possibile ridenominare gli attributi della tabella che corrisponde alla relazione(necessario in caso di relazioni ricorsive)
![Page 66: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/66.jpg)
DBMG 66
Studente(Matricola, ...)Corso(CodCorso, ...)Esame(Matricola, CodCorso, Voto)
Voto
CodCorso
(0,N) (0,N)
Esame
Matricola
Studente Corso
Traduzione di relazioni binarie N:N
Traduzione nel modello relazionale - Relazioni
![Page 67: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/67.jpg)
DBMG 67
Prodotto(CodP, ...)Composizione(CodComposto, CodComponente, Quantità)
(0,N) (0,N)
Composizione
CodP
Quantità
ProdottoCompostoComponente
Traduzione di relazioni binarie ricorsive N:N
Traduzione nel modello relazionale - Relazioni
![Page 68: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/68.jpg)
DBMG 68
Studente(Matricola, ...)Corso(Codice, ...)Tempo(Data)Esame(Matricola, Codice, Data, Voto)
Codice(0,N) (0,N)
Esame
Studente Corso
Matricola
DataTempo
(1,N) Voto
Traduzione nel modello relazionale - Relazioni
Traduzione di relazioni ternarie
![Page 69: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/69.jpg)
DBMG
Progettazione logica relazionale
Traduzione nel modello relazionale
3 - Entità con identificatore esterno
![Page 70: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/70.jpg)
DBMG 70
La relazione Iscrizione è realizzata all'interno dell'identificatore di Studente con la chiave esterna NomeUniversità
NomeUniversità
(0,N) (1,1)
Iscrizione
Studente Università
Matricola
Studente(Matricola, NomeUniversità, ...)
chiave esterna
Università(NomeUniversità, ...)
Traduzione nel modello relazionaleEntità con identificatore esterno
![Page 71: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/71.jpg)
DBMG 71
Identificatori esterni a più livelli
NomeUniversità
(0,N) (1,1)
Iscrizione
Studente Università
Matricola
Studente(Matricola, NomeUniversità, NomeNazione, ...)
+ chiave esterna
Università(NomeUniversità, NomeNazione, ...)
chiave esterna
Nazione(NomeNazione, ...)
Traduzione nel modello relazionaleEntità con identificatore esterno
(0,N) (1,1)
Nazionalità
NomeNazione
Nazione
![Page 72: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/72.jpg)
DBMG
Progettazione logica relazionale
Traduzione nel modello relazionale
4 - Vincoli d’integrità referenziale
![Page 73: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/73.jpg)
DBMG 73
Vincoli d’integrità referenziale
Esame(Matricola) REFERENCES Studente(Matricola)
Esame(CodCorso) REFERENCES Corso(CodCorso)
Traduzione nel modello relazionaleIntegrità referenziale
Le relazioni rappresentanovincoli di integrità referenziale
Studente(Matricola, Nome, Cognome)
Corso(CodCorso, Nome)
Esame(Matricola, CodCorso, Voto)
CodCorso(0,N) (0,N)
Esame
Matricola
Voto
StudenteCognome
NomeCorso
Nome
![Page 74: Progettazione di basi di dati M...4 Progettazione logica Richiede di scegliere il modello dei dati modello relazionale Obiettivo definizione di uno schema logico relazionale corrispondente](https://reader030.fdocument.pub/reader030/viewer/2022040216/5f2ea05a3a2c5b570c2de90d/html5/thumbnails/74.jpg)
DBMG 74
Schema relazionale
Studente(Matricola, Nome, Cognome)
Corso(CodCorso, Nome)
Esame(Matricola, CodCorso, Voto)
Vincoli d’integrità referenziale
Esame(Matricola) REFERENCES Studente(Matricola)
Esame(CodCorso) REFERENCES Corso(CodCorso)
Integrità referenziale: relazione Esame
Studente(Matricola, Nome, Cognome)
Esame(Matricola, CodCorso, Voto)
Corso(CodCorso, Nome)