DB M G
Progettazione di basi di dati
DB M G 2 Esempio di progettazione logica relazionale
Introduzione
Ristrutturazione dello schema ER
Traduzione delle entità senza identificatore esterno
Traduzione delle entità con identificatore esterno
Traduzione delle relazioni
DB M G 3 Modello concettuale di partenza
NTes Nome Cognome
Indirizzo
LuogoN DataN
Data Ora
Costo
Urgente (1,1)
(0,N)
Eseguita
CodFisc Cognome Nome Domicilio Associazione
(0,1)
CodLab NomeLab Stanza Piano
(1,N)
(1,1)
(0,N)
(1,1)
(1,1)
(1,N) (p,e)
(1,1)
CodR (1,N)
CodO Nome Indirizzo
Lavora in Dispone di
Ha
Descrizione
(0,N) (0,N)
CodE
Specializzazione (0,N)
Di servizio in
Durata Ora inizio
Età
(p,e) (1,1)
(0,N)
Effettuato da
Nome Telefono
Effettua
Per Prenotazione
Paziente
Laboratorio
(1,1)
(0,N)
Ospedale
Data
(1,N)
Tempo Esame
Reparto Personale
Medico Volontario
Esame specialistico
(1,1)
Ruolo del medico
Data Inizio Data Fine
(0,1) Ruolo
Assume
(1,N) Descrizione della dieta
(0,1)
DB M G 4 Analisi degli attributi derivati
Nome Cognome
Indirizzo
LuogoN DataN
Data Ora
Costo
Urgente (1,1)
(0,N)
Eseguita
CodFisc Cognome Nome Domicilio Associazione
(0,1)
CodLab NomeLab Stanza Piano
(1,N)
(1,1)
(0,N)
(1,1)
(1,1)
(1,N) (p,e)
(1,1)
CodR (1,N)
CodO Nome Indirizzo
Lavora in Dispone di
Ha
Descrizione
(0,N) (0,N)
CodE
Specializzazione (0,N)
Di servizio in
Durata Ora inizio
Età
(p,e) (1,1)
(0,N)
Effettuato da
Nome Telefono
Effettua
Per Prenotazione
Paziente
Laboratorio
(1,1)
(0,N)
Ospedale
Data
(1,N)
Tempo Esame
Reparto Personale
Medico Volontario
Esame specialistico
(1,1)
Ruolo del medico
Data Inizio Data Fine
(0,1) Ruolo
Assume
(1,N) Descrizione della dieta
(0,1) NTes
DB M G 5 Attributo derivato Età
Nome Cognome
Indirizzo
LuogoN DataN Età
Paziente
NTes
L’attributo Età può essere eliminato perché può essere facilmente calcolato partendo dalla data di nascita (DataN)
È tipicamente presente in poche interrogazioni
DB M G 6 Eliminazione dell’attributo Età
Nome Cognome
Indirizzo
LuogoN DataN Età
Paziente
NTes
Nome Cognome
Indirizzo
LuogoN DataN
Paziente
NTes
DB M G 7 Schema semplificato (n. 1)
Nome Cognome
Indirizzo
LuogoN DataN
Data Ora
Costo
Urgente (1,1)
(0,N)
Eseguita
CodFisc Cognome Nome Domicilio Associazione
(0,1)
CodLab NomeLab Stanza Piano
(1,N)
(1,1)
(0,N)
(1,1)
(1,1)
(1,N) (p,e)
(1,1)
CodR (1,N)
CodO Nome Indirizzo
Lavora in Dispone di
Ha
Descrizione
(0,N) (0,N)
CodE
Specializzazione (0,N)
Di servizio in
Durata Ora inizio
(p,e) (1,1)
(0,N)
Effettuato da
Nome Telefono
Effettua
Per Prenotazione
Paziente
Laboratorio
(1,1)
(0,N)
Ospedale
Data
(1,N)
Tempo Esame
Reparto Personale
Medico Volontario
Esame specialistico
(1,1)
Ruolo del medico
Data Inizio Data Fine
(0,1) Ruolo
Assume
(1,N) Descrizione della dieta
(0,1) NTes
DB M G 8 Eliminazione delle gerarchie
Nome Cognome
Indirizzo
LuogoN DataN
Data Ora
Costo
Urgente (1,1)
(0,N)
Eseguita
CodFisc Cognome Nome Domicilio Associazione
(0,1)
CodLab NomeLab Stanza Piano
(1,N)
(1,1)
(0,N)
(1,1)
(1,1)
(1,N) (p,e)
(1,1)
CodR (1,N)
CodO Nome Indirizzo
Lavora in Dispone di
Ha
Descrizione
(0,N) (0,N)
CodE
Specializzazione (0,N)
Di servizio in
Durata Ora inizio
(p,e) (1,1)
(0,N)
Effettuato da
Nome Telefono
Effettua
Per Prenotazione
Paziente
Laboratorio
(1,1)
(0,N)
Ospedale
Data
(1,N)
Tempo Esame
Reparto Personale
Medico Volontario
Esame specialistico
(1,1)
Ruolo del medico
Data Inizio Data Fine
(0,1) Ruolo
Assume
(1,N) Descrizione della dieta
(0,1) NTes
DB M G 9 Gerarchia degli esami
(0,N)
(1,1)
Descrizione CodE
(p,e) (1,1)
(0,N)
Effettuato da
Per Prenotazione
Esame
Medico Esame
specialistico
Descrizione della dieta (0,1)
DB M G 10 Accorpamento nel padre
(0,N)
(1,1)
Descrizione CodE
(0,1)
(0,N)
Effettuato da
Per Prenotazione
Esame
Medico
Tipo
Descrizione della dieta (0,1)
DB M G 11 Schema semplificato (n. 2)
Nome Cognome
Indirizzo
LuogoN DataN
Data Ora
Costo
Urgente (1,1)
(0,N)
Eseguita
CodFisc Cognome Nome Domicilio Associazione
(0,1)
CodLab NomeLab Stanza Piano
(1,N)
(1,1)
(0,N)
(1,1)
(1,1)
(1,N) (p,e)
(1,1)
CodR (1,N)
CodO Nome Indirizzo
Lavora in Dispone di
Ha
Descrizione
(0,N) (0,N)
CodE
Specializzazione (0,N)
Di servizio in
Durata Ora inizio
(0,1)
(0,N)
Effettuato da
Nome Telefono
Effettua
Per Prenotazione
Paziente
Laboratorio
(1,1)
(0,N)
Ospedale
Data
(1,N)
Tempo Esame
Reparto Personale
Medico Volontario
(1,1)
Ruolo del medico
Data Inizio Data Fine
(0,1) Ruolo
Assume
(1,N) Descrizione della dieta
(0,1)
Tipo NTes
DB M G 12 Eliminazione delle gerarchie
Nome Cognome
Indirizzo
LuogoN DataN
Data Ora
Costo
Urgente (1,1)
(0,N)
Eseguita
CodFisc Cognome Nome Domicilio Associazione
(0,1)
CodLab NomeLab Stanza Piano
(1,N)
(1,1)
(0,N)
(1,1)
(1,1)
(1,N) (p,e)
(1,1)
CodR (1,N)
CodO Nome Indirizzo
Lavora in Dispone di
Ha
Descrizione
(0,N) (0,N)
CodE
Specializzazione (0,N)
Di servizio in
Durata Ora inizio
(0,1)
(0,N)
Effettuato da
Nome Telefono
Effettua
Per Prenotazione
Paziente
Laboratorio
(1,1)
(0,N)
Ospedale
Data
(1,N)
Tempo Esame
Reparto Personale
Medico Volontario
(1,1)
Ruolo del medico
Data Inizio Data Fine
(0,1) Ruolo
Assume
(1,N) Descrizione della dieta
(0,1)
Tipo NTes
DB M G 13 Gerarchia del personale
CodFisc Cognome Nome Domicilio Associazione
(0,1)
(1,1)
(1,N) (p,e)
Lavora in
(0,N) (0,N)
Specializzazione (0,N)
Di servizio in
Durata Ora inizio
(0,1)
(0,N)
Effettuato da
Laboratorio
(1,N)
Tempo Esame
Reparto Personale
Medico Volontario
(1,1)
Ruolo del medico
Assume
(1,N)
DB M G 14 Accorpamento nel padre
CodFisc Cognome Nome Domicilio
(1,1)
(1,N)
Lavora in
(0,N) (0,N)
Di servizio in
Durata Ora inizio
(0,1)
(0,N)
Effettuato da
Laboratorio
(1,N)
Tempo Esame
Reparto Personale
(1,1)
Ruolo del medico
Assume
(0,N)
Tipo Specializzazione
(0,N) Associazione
(0,1)
DB M G 15 Schema semplificato (n. 3)
Nome Cognome
Indirizzo
LuogoN DataN
Data Ora
Costo
Urgente (1,1)
(0,N)
Eseguita
CodFisc Cognome Nome Domicilio
CodLab NomeLab Stanza Piano
(1,N)
(1,1)
(0,N)
(1,1)
(1,1)
(1,N) (1,1)
CodR (1,N)
CodO Nome Indirizzo
Lavora in Dispone di
Ha
Descrizione
(0,N) (0,N)
CodE
Specializzazione (0,N)
Di servizio in
Durata Ora inizio
(0,1)
(0,N)
Effettuato da
Nome Telefono
Effettua
Per Prenotazione
Paziente
Laboratorio
(1,1)
(0,N)
Ospedale
Data
(1,N)
Tempo Esame
Reparto Personale
(1,1)
Ruolo del medico
Data Inizio Data Fine
(0,1) Ruolo
Assume
(0,N) Descrizione della dieta
(0,1)
Tipo Tipo
Associazione (0,1) NTes
DB M G 16 Eliminazione degli attributi multivalore
Nome Cognome
Indirizzo
LuogoN DataN
Data Ora
Costo
Urgente (1,1)
(0,N)
Eseguita
CodFisc Cognome Nome Domicilio
CodLab NomeLab Stanza Piano
(1,N)
(1,1)
(0,N)
(1,1)
(1,1)
(1,N) (1,1)
CodR (1,N)
CodO Nome Indirizzo
Lavora in Dispone di
Ha
Descrizione
(0,N) (0,N)
CodE
Specializzazione (0,N)
Di servizio in
Durata Ora inizio
(0,1)
(0,N)
Effettuato da
Nome Telefono
Effettua
Per Prenotazione
Paziente
Laboratorio
(1,1)
(0,N)
Ospedale
Data
(1,N)
Tempo Esame
Reparto Personale
(1,1)
Ruolo del medico
Data Inizio Data Fine
(0,1) Ruolo
Assume
(0,N) Descrizione della dieta
(0,1)
Tipo Tipo
Associazione (0,1) NTes
DB M G 17 Introduzione dell’entità Specializzazione
Specializzazione (0,N)
Personale
(0,N)
Personale Specializzazione
Specializzazione
Ha
DB M G 18 Cardinalità della relazione Ha
Specializzazione (0,N)
Personale
(0,N)
Personale Specializzazione
(1,N)
Specializzazione
Ha
DB M G 19 Schema ER ristrutturato finale
Nome Cognome
Indirizzo
LuogoN DataN
Data Ora
Costo
Urgente (1,1)
(0,N)
Eseguita
CodFisc Cognome Nome Domicilio
CodLab NomeLab Stanza Piano
(1,N)
(1,1)
(0,N)
(1,1)
(1,1)
(1,N) (1,1)
CodR (1,N)
CodO Nome Indirizzo
Lavora in Dispone di
Ha
Descrizione
(0,N) (0,N)
CodE
Di servizio in
Durata Ora inizio
(0,1)
(0,N)
Effettuato da
Nome Telefono
Effettua
Per Prenotazione
Paziente
Laboratorio
(1,1)
(0,N)
Ospedale
Data
(1,N)
Tempo Esame
Reparto Personale
(1,1)
Ruolo del medico
Data Inizio Data Fine
(0,1) Ruolo
Assume
(0,N) Descrizione della dieta
(0,1)
Tipo
Tipo
Specializzazione
Specializzazione
(1,N)
(0,N)
Ha
Associazione (0,1) NTes
DB M G
Esempio di progettazione logica relazionale
DB M G 21
Nome Cognome
Indirizzo
LuogoN DataN
Data Ora
Costo
Urgente (1,1)
(0,N)
Eseguita
CodFisc Cognome Nome Domicilio
CodLab NomeLab Stanza Piano
(1,N)
(1,1)
(0,N)
(1,1)
(1,1)
(1,N) (1,1)
CodR (1,N)
CodO Nome Indirizzo
Lavora in Dispone di
Ha
Descrizione
(0,N) (0,N)
CodE
Di servizio in
Durata Ora inizio
(0,1)
(0,N)
Effettuato da
Nome Telefono
Effettua
Per Prenotazione
Paziente
Laboratorio
(1,1)
(0,N)
Ospedale
Data
(1,N)
Tempo Esame
Reparto Personale
(1,1)
Ruolo del medico
Data Inizio Data Fine
(0,1) Ruolo
Assume
(0,N) Descrizione della dieta
(0,1)
Tipo
Tipo
Specializzazione
Specializzazione
(1,N)
(0,N)
Ha
Associazione (0,1)
Traduzione dell’entità Paziente
NTes
DB M G 22
Paziente(NTes, Nome, Cognome, Indirizzo, LuogoN, DataN)
Traduzione dell’entità Paziente
DB M G 23
Nome Cognome
Indirizzo
LuogoN DataN
Data Ora
Costo
Urgente (1,1)
(0,N)
Eseguita
CodFisc Cognome Nome Domicilio
CodLab NomeLab Stanza Piano
(1,N)
(1,1)
(0,N)
(1,1)
(1,1)
(1,N) (1,1)
CodR (1,N)
CodO Nome Indirizzo
Lavora in Dispone di
Ha
Descrizione
(0,N) (0,N)
CodE
Di servizio in
Durata Ora inizio
(0,1)
(0,N)
Effettuato da
Nome Telefono
Effettua
Per Prenotazione
Paziente
Laboratorio
(1,1)
(0,N)
Ospedale
Data
(1,N)
Tempo Esame
Reparto Personale
(1,1)
Ruolo del medico
Data Inizio Data Fine
(0,1) Ruolo
Assume
(0,N) Descrizione della dieta
(0,1)
Tipo
Tipo
Specializzazione
Specializzazione
(1,N)
(0,N)
Ha
Associazione (0,1) NTes
Traduzione dell’entità Ospedale
DB M G 24
Paziente(NTes, Nome, Cognome, Indirizzo, LuogoN, DataN) Ospedale(CodO, Nome, Indirizzo)
Traduzione dell’entità Ospedale
DB M G 25
Nome Cognome
Indirizzo
LuogoN DataN
Data Ora
Costo
Urgente (1,1)
(0,N)
Eseguita
CodFisc Cognome Nome Domicilio
CodLab NomeLab Stanza Piano
(1,N)
(1,1)
(0,N)
(1,1)
(1,1)
(1,N) (1,1)
CodR (1,N)
CodO Nome Indirizzo
Lavora in Dispone di
Ha
Descrizione
(0,N) (0,N)
CodE
Di servizio in
Durata Ora inizio
(0,1)
(0,N)
Effettuato da
Nome Telefono
Effettua
Per Prenotazione
Paziente
Laboratorio
(1,1)
(0,N)
Ospedale
Data
(1,N)
Tempo Esame
Reparto Personale
(1,1)
Ruolo del medico
Data Inizio Data Fine
(0,1) Ruolo
Assume
(0,N) Descrizione della dieta
(0,1)
Tipo
Tipo
Specializzazione
Specializzazione
(1,N)
(0,N)
Ha
Associazione (0,1) NTes
Traduzione dell’entità Esame
DB M G 26
Paziente(NTes, Nome, Cognome, Indirizzo, LuogoN, DataN) Ospedale(CodO, Nome, Indirizzo)
Esame(CodE, Descrizione, DescrizioneDieta*, Tipo)
Traduzione dell’entità Esame
DB M G 27
Nome Cognome
Indirizzo
LuogoN DataN
Data Ora
Costo
Urgente (1,1)
(0,N)
Eseguita
CodFisc Cognome Nome Domicilio
CodLab NomeLab Stanza Piano
(1,N)
(1,1)
(0,N)
(1,1)
(1,1)
(1,N) (1,1)
CodR (1,N)
CodO Nome Indirizzo
Lavora in Dispone di
Ha
Descrizione
(0,N) (0,N)
CodE
Di servizio in
Durata Ora inizio
(0,1)
(0,N)
Effettuato da
Nome Telefono
Effettua
Per Prenotazione
Paziente
Laboratorio
(1,1)
(0,N)
Ospedale
Data
(1,N)
Tempo Esame
Reparto Personale
(1,1)
Ruolo del medico
Data Inizio Data Fine
(0,1) Ruolo
Assume
(0,N) Descrizione della dieta
(0,1)
Tipo
Tipo
Specializzazione
Specializzazione
(1,N)
(0,N)
Ha
Associazione (0,1) NTes
Traduzione dell’entità Personale
DB M G 28
Paziente(NTes, Nome, Cognome, Indirizzo, LuogoN, DataN) Ospedale(CodO, Nome, Indirizzo)
Esame(CodE, Descrizione, DescrizioneDieta*, Tipo)
Personale(CodFisc, Nome, Cognome, Domicilio, Associazione*,Tipo)
Traduzione dell’entità Personale
DB M G 29
Nome Cognome
Indirizzo
LuogoN DataN
Data Ora
Costo
Urgente (1,1)
(0,N)
Eseguita
CodFisc Cognome Nome Domicilio
CodLab NomeLab Stanza Piano
(1,N)
(1,1)
(0,N)
(1,1)
(1,1)
(1,N) (1,1)
CodR (1,N)
CodO Nome Indirizzo
Lavora in Dispone di
Ha
Descrizione
(0,N) (0,N)
CodE
Di servizio in
Durata Ora inizio
(0,1)
(0,N)
Effettuato da
Nome Telefono
Effettua
Per Prenotazione
Paziente
Laboratorio
(1,1)
(0,N)
Ospedale
Data
(1,N)
Tempo Esame
Reparto Personale
(1,1)
Ruolo del medico
Data Inizio Data Fine
(0,1) Ruolo
Assume
(0,N) Descrizione della dieta
(0,1)
Tipo
Tipo
Specializzazione
Specializzazione
(1,N)
(0,N)
Ha
Associazione (0,1) NTes
Traduzione dell’entità Tempo
DB M G 30
Paziente(NTes, Nome, Cognome, Indirizzo, LuogoN, DataN) Ospedale(CodO, Nome, Indirizzo)
Esame(CodE, Descrizione, DescrizioneDieta*, Tipo)
Personale(CodFisc, Nome, Cognome, Domicilio, Associazione*,Tipo) Tempo(Data)
Traduzione dell’entità Tempo
DB M G 31
Nome Cognome
Indirizzo
LuogoN DataN
Data Ora
Costo
Urgente (1,1)
(0,N)
Eseguita
CodFisc Cognome Nome Domicilio
CodLab NomeLab Stanza Piano
(1,N)
(1,1)
(0,N)
(1,1)
(1,1)
(1,N) (1,1)
CodR (1,N)
CodO Nome Indirizzo
Lavora in Dispone di
Ha
Descrizione
(0,N) (0,N)
CodE
Di servizio in
Durata Ora inizio
(0,1)
(0,N)
Effettuato da
Nome Telefono
Effettua
Per Prenotazione
Paziente
Laboratorio
(1,1)
(0,N)
Ospedale
Data
(1,N)
Tempo Esame
Reparto Personale
(1,1)
Ruolo del medico
Data Inizio Data Fine
(0,1) Ruolo
Assume
(0,N) Descrizione della dieta
(0,1)
Tipo
Tipo
Specializzazione
Specializzazione
(1,N)
(0,N)
Ha
Associazione (0,1) NTes
Traduzione dell’entità Specializzazione
DB M G 32
Paziente(NTes, Nome, Cognome, Indirizzo, LuogoN, DataN) Ospedale(CodO, Nome, Indirizzo)
Esame(CodE, Descrizione, DescrizioneDieta*, Tipo)
Personale(CodFisc, Nome, Cognome, Domicilio, Associazione*,Tipo) Tempo(Data)
Specializzazione(Specializzazione)
Traduzione dell’entità Specializzazione
DB M G
Esempio di progettazione logica relazionale
DB M G 34
Nome Cognome
Indirizzo
LuogoN DataN
Data Ora
Costo
Urgente (1,1)
(0,N)
Eseguita
CodFisc Cognome Nome Domicilio
CodLab NomeLab Stanza Piano
(1,N)
(1,1)
(0,N)
(1,1)
(1,1)
(1,N) (1,1)
CodR (1,N)
CodO Nome Indirizzo
Lavora in Dispone di
Ha
Descrizione
(0,N) (0,N)
CodE
Di servizio in
Durata Ora inizio
(0,1)
(0,N)
Effettuato da
Nome Telefono
Effettua
Per Prenotazione
Paziente
Laboratorio
(1,1)
(0,N)
Ospedale
Data
(1,N)
Tempo Esame
Reparto Personale
(1,1)
Ruolo del medico
Data Inizio Data Fine
(0,1) Ruolo
Assume
(0,N) Descrizione della dieta
(0,1)
Tipo
Tipo
Specializzazione
Specializzazione
(1,N)
(0,N)
Ha
Associazione (0,1) NTes
Traduzione dell’entità Laboratorio
DB M G 35
Paziente(NTes, Nome, Cognome, Indirizzo, LuogoN, DataN) Ospedale(CodO, Nome, Indirizzo)
Esame(CodE, Descrizione, DescrizioneDieta*, Tipo)
Personale(CodFisc, Nome, Cognome, Domicilio, Associazione*,Tipo) Tempo(Data)
Specializzazione(Specializzazione)
Laboratorio(CodLab, CodO, NomeLab, Piano, Stanza)
Traduzione dell’entità Laboratorio
DB M G 36
Nome Cognome
Indirizzo
LuogoN DataN
Data Ora
Costo
Urgente (1,1)
(0,N)
Eseguita
CodFisc Cognome Nome Domicilio
CodLab NomeLab Stanza Piano
(1,N)
(1,1)
(0,N)
(1,1)
(1,1)
(1,N) (1,1)
CodR (1,N)
CodO Nome Indirizzo
Lavora in Dispone di
Ha
Descrizione
(0,N) (0,N)
CodE
Di servizio in
Durata Ora inizio
(0,1)
(0,N)
Effettuato da
Nome Telefono
Effettua
Per Prenotazione
Paziente
Laboratorio
(1,1)
(0,N)
Ospedale
Data
(1,N)
Tempo Esame
Reparto Personale
(1,1)
Ruolo del medico
Data Inizio Data Fine
(0,1) Ruolo
Assume
(0,N) Descrizione della dieta
(0,1)
Tipo
Tipo
Specializzazione
Specializzazione
(1,N)
(0,N)
Ha
Associazione (0,1) NTes
Traduzione dell’entità Reparto
DB M G 37
Paziente(NTes, Nome, Cognome, Indirizzo, LuogoN, DataN) Ospedale(CodO, Nome, Indirizzo)
Esame(CodE, Descrizione, DescrizioneDieta*, Tipo)
Personale(CodFisc, Nome, Cognome, Domicilio, Associazione*,Tipo) Tempo(Data)
Specializzazione(Specializzazione)
Laboratorio(CodLab, CodO, NomeLab, Piano, Stanza) Reparto(CodR, CodO, Nome, Telefono)
Traduzione dell’entità Reparto
DB M G 38
Nome Cognome
Indirizzo
LuogoN DataN
Data Ora
Costo
Urgente (1,1)
(0,N)
Eseguita
CodFisc Cognome Nome Domicilio
CodLab NomeLab Stanza Piano
(1,N)
(1,1)
(0,N)
(1,1)
(1,1)
(1,N) (1,1)
CodR (1,N)
CodO Nome Indirizzo
Lavora in Dispone di
Ha
Descrizione
(0,N) (0,N)
CodE
Di servizio in
Durata Ora inizio
(0,1)
(0,N)
Effettuato da
Nome Telefono
Effettua
Per Prenotazione
Paziente
Laboratorio
(1,1)
(0,N)
Ospedale
Data
(1,N)
Tempo Esame
Reparto Personale
(1,1)
Ruolo del medico
Data Inizio Data Fine
(0,1) Ruolo
Assume
(0,N) Descrizione della dieta
(0,1)
Tipo
Tipo
Specializzazione
Specializzazione
(1,N)
(0,N)
Ha
Associazione (0,1) NTes
Traduzione dell’entità Prenotazione
DB M G 39
Paziente(NTes, Nome, Cognome, Indirizzo, LuogoN, DataN) Ospedale(CodO, Nome, Indirizzo)
Esame(CodE, Descrizione, DescrizioneDieta*, Tipo)
Personale(CodFisc, Nome, Cognome, Domicilio, Associazione*,Tipo) Tempo(Data)
Specializzazione(Specializzazione)
Laboratorio(CodLab, CodO, NomeLab, Piano, Stanza) Reparto(CodR, CodO, Nome, Telefono)
Prenotazione(NTes, CodE, Data, Ora, Costo, Urgente)
Traduzione dell’entità Prenotazione
DB M G 40
Nome Cognome
Indirizzo
LuogoN DataN
Data Ora
Costo
Urgente (1,1)
(0,N)
Eseguita
CodFisc Cognome Nome Domicilio
CodLab NomeLab Stanza Piano
(1,N)
(1,1)
(0,N)
(1,1)
(1,1)
(1,N) (1,1)
CodR (1,N)
CodO Nome Indirizzo
Lavora in Dispone di
Ha
Descrizione
(0,N) (0,N)
CodE
Di servizio in
Durata Ora inizio
(0,1)
(0,N)
Effettuato da
Nome Telefono
Effettua
Per Prenotazione
Paziente
Laboratorio
(1,1)
(0,N)
Ospedale
Data
(1,N)
Tempo Esame
Reparto Personale
(1,1)
Ruolo del medico
Data Inizio Data Fine
(0,1) Ruolo
Assume
(0,N) Descrizione della dieta
(0,1)
Tipo
Tipo
Specializzazione
Specializzazione
(1,N)
(0,N)
Ha
Associazione (0,1) NTes
Traduzione dell’entità Ruolo del medico
DB M G 41
Paziente(NTes, Nome, Cognome, Indirizzo, LuogoN, DataN) Ospedale(CodO, Nome, Indirizzo)
Esame(CodE, Descrizione, DescrizioneDieta*, Tipo)
Personale(CodFisc, Nome, Cognome, Domicilio, Associazione*,Tipo) Tempo(Data)
Specializzazione(Specializzazione)
Laboratorio(CodLab, CodO, NomeLab, Piano, Stanza) Reparto(CodR, CodO, Nome, Telefono)
Prenotazione(NTes, CodE, Data, Ora, Costo, Urgente) RuolodelMedico(CodFisc, DataInizio, DataFine*, Ruolo)
Traduzione dell’entità Ruolo del medico
DB M G
Esempio di progettazione logica relazionale
DB M G 43
Nome Cognome
Indirizzo
LuogoN DataN
Data Ora
Costo
Urgente (1,1)
(0,N)
Eseguita
CodFisc Cognome Nome Domicilio
CodLab NomeLab Stanza Piano
(1,N)
(1,1)
(0,N)
(1,1)
(1,1)
(1,N) (1,1)
CodR (1,N)
CodO Nome Indirizzo
Lavora in Dispone di
Ha
Descrizione
(0,N) (0,N)
CodE
Di servizio in
Durata Ora inizio
(0,1)
(0,N)
Effettuato da
Nome Telefono
Effettua
Per Prenotazione
Paziente
Laboratorio
(1,1)
(0,N)
Ospedale
Data
(1,N)
Tempo Esame
Reparto Personale
(1,1)
Ruolo del medico
Data Inizio Data Fine
(0,1) Ruolo
Assume
(0,N) Descrizione della dieta
(0,1)
Tipo
Tipo
Specializzazione
Specializzazione
(1,N)
(0,N)
Ha
Associazione (0,1) NTes
Relazione binaria uno a molti Effettuato da
DB M G 44
Paziente(CodTes, Nome, Cognome, Indirizzo, LuogoN, DataN) Ospedale(CodO, Nome, Indirizzo)
Esame(CodE, Descrizione, DescrizioneDieta*, Tipo, CodFisc* )
Personale(CodFisc, Nome, Cognome, Domicilio, Associazione*,Tipo) Tempo(Data)
Specializzazione(Specializzazione)
Laboratorio(CodLab, CodO, NomeLab, Piano, Stanza) Reparto(CodR, CodO, Nome, Telefono)
Prenotazione(CodTes, CodE, Data, Ora, Costo, Urgente) RuolodelMedico(CodFisc, DataInizio, DataFine*, Ruolo)
Traduzione della relazione Effettuato da
DB M G 45
Nome Cognome
Indirizzo
LuogoN DataN
Data Ora
Costo
Urgente (1,1)
(0,N)
Eseguita
CodFisc Cognome Nome Domicilio
CodLab NomeLab Stanza Piano
(1,N)
(1,1)
(0,N)
(1,1)
(1,1)
(1,N) (1,1)
CodR (1,N)
CodO Nome Indirizzo
Lavora in Dispone di
Ha
Descrizione
(0,N) (0,N)
CodE
Di servizio in
Durata Ora inizio
(0,1)
(0,N)
Effettuato da
Nome Telefono
Effettua
Per Prenotazione
Paziente
Laboratorio
(1,1)
(0,N)
Ospedale
Data
(1,N)
Tempo Esame
Reparto Personale
(1,1)
Ruolo del medico
Data Inizio Data Fine
(0,1) Ruolo
Assume
(0,N) Descrizione della dieta
(0,1)
Tipo
Tipo
Specializzazione
Specializzazione
(1,N)
(0,N)
Ha
Associazione (0,1) NTes
Relazione binaria uno a molti Lavora in
DB M G 46
Paziente(CodTes, Nome, Cognome, Indirizzo, LuogoN, DataN) Ospedale(CodO, Nome, Indirizzo)
Esame(CodE, Descrizione, DescrizioneDieta*, Tipo, CodFisc*)
Personale(CodFisc, Nome, Cognome, Domicilio, Associazione*,Tipo, CodR, CodO )
Tempo(Data)
Specializzazione(Specializzazione)
Laboratorio(CodLab, CodO, NomeLab, Piano, Stanza) Reparto(CodR, CodO, Nome, Telefono)
Prenotazione(CodTes, CodE, Data, Ora, Costo, Urgente) RuolodelMedico(CodFisc, DataInizio, DataFine*, Ruolo)
Traduzione della relazione Lavora in
DB M G 47
Nome Cognome
Indirizzo
LuogoN DataN
Data Ora
Costo
Urgente (1,1)
(0,N)
Eseguita
CodFisc Cognome Nome Domicilio
CodLab NomeLab Stanza Piano
(1,N)
(1,1)
(0,N)
(1,1)
(1,1)
(1,N) (1,1)
CodR (1,N)
CodO Nome Indirizzo
Lavora in Dispone di
Ha
Descrizione
(0,N) (0,N)
CodE
Di servizio in
Durata Ora inizio
(0,1)
(0,N)
Effettuato da
Nome Telefono
Effettua
Per Prenotazione
Paziente
Laboratorio
(1,1)
(0,N)
Ospedale
Data
(1,N)
Tempo Esame
Reparto Personale
(1,1)
Ruolo del medico
Data Inizio Data Fine
(0,1) Ruolo
Assume
(0,N) Descrizione della dieta
(0,1)
Tipo
Tipo
Specializzazione
Specializzazione
(1,N)
(0,N)
Ha
Associazione (0,1) NTes
Relazione binaria uno a molti Eseguita
DB M G 48
Paziente(CodTes, Nome, Cognome, Indirizzo, LuogoN, DataN) Ospedale(CodO, Nome, Indirizzo)
Esame(CodE, Descrizione, DescrizioneDieta*, Tipo, CodFisc*)
Personale(CodFisc, Nome, Cognome, Domicilio, Associazione*,Tipo, CodR, CodO)
Tempo(Data)
Specializzazione(Specializzazione)
Laboratorio(CodLab, CodO, NomeLab, Piano, Stanza) Reparto(CodR, CodO, Nome, Telefono)
Prenotazione(CodTes, CodE, Data, Ora, Costo, Urgente, CodLab, CodO )
RuolodelMedico(CodFisc, DataInizio, DataFine*, Ruolo)
Traduzione della relazione Eseguita
DB M G 49
Nome Cognome
Indirizzo
LuogoN DataN
Data Ora
Costo
Urgente (1,1)
(0,N)
Eseguita
CodFisc Cognome Nome Domicilio
CodLab NomeLab Stanza Piano
(1,N)
(1,1)
(0,N)
(1,1)
(1,1)
(1,N) (1,1)
CodR (1,N)
CodO Nome Indirizzo
Lavora in Dispone di
Ha
Descrizione
(0,N) (0,N)
CodE
Di servizio in
Durata Ora inizio
(0,1)
(0,N)
Effettuato da
Nome Telefono
Effettua
Per Prenotazione
Paziente
Laboratorio
(1,1)
(0,N)
Ospedale
Data
(1,N)
Tempo Esame
Reparto Personale
(1,1)
Ruolo del medico
Data Inizio Data Fine
(0,1) Ruolo
Assume
(0,N) Descrizione della dieta
(0,1)
Tipo
Tipo
Specializzazione
Specializzazione
(1,N)
(0,N)
Ha
Associazione (0,1) NTes
Relazione binaria molti a molti Ha
DB M G 50
Paziente(CodTes, Nome, Cognome, Indirizzo, LuogoN, DataN) Ospedale(CodO, Nome, Indirizzo)
Esame(CodE, Descrizione, DescrizioneDieta*, Tipo, CodFisc*)
Personale(CodFisc, Nome, Cognome, Domicilio, Associazione*,Tipo, CodR, CodO)
Tempo(Data) Specializzazione(Specializzazione) Laboratorio(CodLab, CodO, NomeLab, Piano, Stanza) Reparto(CodR, CodO, Nome, Telefono)
Prenotazione(CodTes, CodE, Data, Ora, Costo, Urgente, CodLab, CodO)
RuolodelMedico(CodFisc, DataInizio, DataFine*, Ruolo) HaSpecializzazione(CodFisc, Specializzazione)
Traduzione della relazione Ha
DB M G 51
Nome Cognome
Indirizzo
LuogoN DataN
Data Ora
Costo
Urgente (1,1)
(0,N)
Eseguita
CodFisc Cognome Nome Domicilio
CodLab NomeLab Stanza Piano
(1,N)
(1,1)
(0,N)
(1,1)
(1,1)
(1,N) (1,1)
CodR (1,N)
CodO Nome Indirizzo
Lavora in Dispone di
Ha
Descrizione
(0,N) (0,N)
CodE
Di servizio in
Durata Ora inizio
(0,1)
(0,N)
Effettuato da
Nome Telefono
Effettua
Per Prenotazione
Paziente
Laboratorio
(1,1)
(0,N)
Ospedale
Data
(1,N)
Tempo Esame
Reparto Personale
(1,1)
Ruolo del medico
Data Inizio Data Fine
(0,1) Ruolo
Assume
(0,N) Descrizione della dieta
(0,1)
Tipo
Tipo
Specializzazione
Specializzazione
(1,N)
(0,N)
Ha
Associazione (0,1) NTes
Relazione ternaria molti a molti Di servizio in
DB M G 52
Paziente(CodTes, Nome, Cognome, Indirizzo, LuogoN, DataN) Ospedale(CodO, Nome, Indirizzo)
Esame(CodE, Descrizione, DescrizioneDieta*, Tipo, CodFisc*)
Personale(CodFisc, Nome, Cognome, Domicilio, Associazione*,Tipo, CodR, CodO)
Tempo(Data) Specializzazione(Specializzazione) Laboratorio(CodLab, CodO, NomeLab, Piano, Stanza) Reparto(CodR, CodO, Nome, Telefono)
Prenotazione(CodTes, CodE, Data, Ora, Costo, Urgente, CodLab, CodO)
RuolodelMedico(CodFisc, DataInizio, DataFine*, Ruolo) HaSpecializzazione(CodFisc, Specializzazione)
DiServizioIn(CodFisc, CodLab, CodO, Data, OraInizio, Durata)
Traduzione della relazione Di servizio in
DB M G 53
Paziente(CodTes, Nome, Cognome, Indirizzo, LuogoN, DataN) Ospedale(CodO, Nome, Indirizzo)
Esame(CodE, Descrizione, DescrizioneDieta*, Tipo, CodFisc*)
Personale(CodFisc, Nome, Cognome, Domicilio, Associazione*,Tipo, CodR, CodO)
Tempo(Data) Specializzazione(Specializzazione) Laboratorio(CodLab, CodO, NomeLab, Piano, Stanza) Reparto(CodR, CodO, Nome, Telefono)
Prenotazione(CodTes, CodE, Data, Ora, Costo, Urgente, CodLab, CodO)
RuolodelMedico(CodFisc, DataInizio, DataFine*, Ruolo) HaSpecializzazione(CodFisc, Specializzazione)
DiServizioIn(CodFisc, CodLab, CodO, Data, OraInizio, Durata)
Eliminazione delle tabelle ridondanti
DB M G 54
Paziente(CodTes, Nome, Cognome, Indirizzo, LuogoN, DataN) Ospedale(CodO, Nome, Indirizzo)
Esame(CodE, Descrizione, DescrizioneDieta*, Tipo, CodFisc*)
Personale(CodFisc, Nome, Cognome, Domicilio, Associazione*,Tipo, CodR, CodO)
Tempo(Data)
Laboratorio(CodLab, CodO, NomeLab, Piano, Stanza) Reparto(CodR, CodO, Nome, Telefono)
Prenotazione(CodTes, CodE, Data, Ora, Costo, Urgente, CodLab, CodO)
RuolodelMedico(CodFisc, DataInizio, DataFine*, Ruolo) HaSpecializzazione(CodFisc, Specializzazione)
DiServizioIn(CodFisc, CodLab, CodO, Data, OraInizio, Durata)
Eliminazione delle tabelle ridondanti
DB M G 55
Paziente(CodTes, Nome, Cognome, Indirizzo, LuogoN, DataN) Ospedale(CodO, Nome, Indirizzo)
Esame(CodE, Descrizione, DescrizioneDieta*, Tipo, CodFisc*)
Personale(CodFisc, Nome, Cognome, Domicilio, Associazione*,Tipo, CodR, CodO)
Laboratorio(CodLab, CodO, NomeLab, Piano, Stanza) Reparto(CodR, CodO, Nome, Telefono)
Prenotazione(CodTes, CodE, Data, Ora, Costo, Urgente, CodLab, CodO)
RuolodelMedico(CodFisc, DataInizio, DataFine*, Ruolo) HaSpecializzazione(CodFisc, Specializzazione)
DiServizioIn(CodFisc, CodLab, CodO, Data, OraInizio, Durata)
Schema relazionale finale
DB M G
Esempio di progettazione logica relazionale
Vincoli d’integrità referenziale
DB M G 57
Nome Cognome
Indirizzo
LuogoN DataN
Data Ora
Costo
Urgente (1,1)
(0,N)
Eseguita
CodFisc Cognome Nome Domicilio
CodLab NomeLab Stanza Piano
(1,N)
(1,1)
(0,N)
(1,1)
(1,1)
(1,N) (1,1)
CodR (1,N)
CodO Nome Indirizzo
Lavora in Dispone di
Ha
Descrizione
(0,N) (0,N)
CodE
Di servizio in
Durata Ora inizio
(0,1)
(0,N)
Effettuato da
Nome Telefono
Effettua
Per Prenotazione
Paziente
Laboratorio
(1,1)
(0,N)
Ospedale
Data
(1,N)
Tempo Esame
Reparto Personale
(1,1)
Ruolo del medico
Data Inizio Data Fine
(0,1) Ruolo
Assume
(0,N) Descrizione della dieta
(0,1)
Tipo
Tipo
Specializzazione
Specializzazione
(1,N)
(0,N)
Ha
Associazione (0,1) NTes