• Non ci sono risultati.

Progettazione di basi di dati

N/A
N/A
Protected

Academic year: 2021

Condividi "Progettazione di basi di dati"

Copied!
69
0
0

Testo completo

(1)

DB M G

Progettazione di basi di dati

(2)

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

(3)

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)

(4)

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

(5)

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

(6)

DB M G 6 Eliminazione dell’attributo Età

Nome Cognome

Indirizzo

LuogoN DataN Età

Paziente

NTes

Nome Cognome

Indirizzo

LuogoN DataN

Paziente

NTes

(7)

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

(8)

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

(9)

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)

(10)

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)

(11)

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

(12)

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

(13)

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)

(14)

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)

(15)

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

(16)

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

(17)

DB M G 17 Introduzione dell’entità Specializzazione

Specializzazione (0,N)

Personale

(0,N)

Personale Specializzazione

Specializzazione

Ha

(18)

DB M G 18 Cardinalità della relazione Ha

Specializzazione (0,N)

Personale

(0,N)

Personale Specializzazione

(1,N)

Specializzazione

Ha

(19)

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

(20)

DB M G

Esempio di progettazione logica relazionale

(21)

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

(22)

DB M G 22

Paziente(NTes, Nome, Cognome, Indirizzo, LuogoN, DataN)

Traduzione dell’entità Paziente

(23)

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

(24)

DB M G 24

Paziente(NTes, Nome, Cognome, Indirizzo, LuogoN, DataN) Ospedale(CodO, Nome, Indirizzo)

Traduzione dell’entità Ospedale

(25)

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

(26)

DB M G 26

Paziente(NTes, Nome, Cognome, Indirizzo, LuogoN, DataN) Ospedale(CodO, Nome, Indirizzo)

Esame(CodE, Descrizione, DescrizioneDieta*, Tipo)

Traduzione dell’entità Esame

(27)

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

(28)

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

(29)

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

(30)

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

(31)

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

(32)

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

(33)

DB M G

Esempio di progettazione logica relazionale

(34)

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

(35)

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

(36)

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

(37)

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

(38)

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

(39)

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

(40)

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

(41)

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

(42)

DB M G

Esempio di progettazione logica relazionale

(43)

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

(44)

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

(45)

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

(46)

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

(47)

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

(48)

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

(49)

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

(50)

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

(51)

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

(52)

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

(53)

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

(54)

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

(55)

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

(56)

DB M G

Esempio di progettazione logica relazionale

Vincoli d’integrità referenziale

(57)

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

Integrità referenziale: relazione Effettuato da

(58)

DB M G 58

Tabelle coinvolte

Esame(CodE, Descrizione, DescrizioneDieta*, Tipo, CodFisc* )

Personale(CodFisc, Nome, Cognome, Domicilio, Associazione*,Tipo, CodR, CodO)

Vincolo d’integrità referenziale

Esame(CodFisc) REFERENCES Personale(CodFisc)

Integrità referenziale: relazione Effettuato da

(59)

DB M G 59

Tabelle coinvolte

Personale(CodFisc, Nome, Cognome, Domicilio, Associazione*,Tipo, CodR, CodO )

Reparto(CodR, CodO, Nome, Telefono)

Vincolo d’integrità referenziale

Personale(CodR,CodO) REFERENCES Reparto(CodR,CodO)

Integrità referenziale: relazione Lavora in

(60)

DB M G 60

Tabelle coinvolte

Reparto(CodR, CodO , Nome, Telefono) Ospedale(CodO, Nome, Indirizzo)

Vincolo d’integrità referenziale

Reparto(CodO) REFERENCES Ospedale(CodO)

Integrità referenziale: relazione Ha

(61)

DB M G 61

Tabelle coinvolte

Laboratorio(CodLab, CodO , NomeLab, Piano, Stanza) Ospedale(CodO, Nome, Indirizzo)

Vincolo d’integrità referenziale

Laboratorio(CodO) REFERENCES Ospedale(CodO)

Integrità referenziale: relazione Dispone di

(62)

DB M G 62

Tabelle coinvolte

Prenotazione( CodTes , CodE, Data, Ora, Costo, Urgente, CodLab, CodO)

Paziente(CodTes, Nome, Cognome, Indirizzo, LuogoN, DataN)

Vincolo d’integrità referenziale

Prenotazione(CodTes) REFERENCES Paziente(CodTes)

Integrità referenziale: relazione Effettua

(63)

DB M G 63

Tabelle coinvolte

Prenotazione(CodTes, CodE , Data, Ora, Costo, Urgente, CodLab, CodO)

Esame(CodE, Descrizione, DescrizioneDieta*, Tipo, CodFisc*)

Vincolo d’integrità referenziale

Prenotazione(CodE) REFERENCES Esame(CodE)

Integrità referenziale: relazione Per

(64)

DB M G 64

Tabelle coinvolte

Prenotazione(CodTes, CodE, Data, Ora, Costo, Urgente, CodLab, CodO )

Laboratorio(CodLab, CodO, NomeLab, Piano, Stanza)

Vincolo d’integrità referenziale

Prenotazione(CodLab,CodO) REFERENCES Laboratorio(CodLab,CodO)

Integrità referenziale: relazione Eseguita

(65)

DB M G 65

Tabelle coinvolte

RuolodelMedico( CodFisc , DataInizio, DataFine*, Ruolo)

Personale(CodFisc, Nome, Cognome, Domicilio, Associazione*,Tipo, CodR, CodO)

Vincolo d’integrità referenziale

RuolodelMedico(CodFisc) REFERENCES Personale(CodFisc)

Integrità referenziale: relazione Assume

(66)

DB M G 66

Tabelle coinvolte

HaSpecializzazione( CodFisc , Specializzazione)

Personale(CodFisc, Nome, Cognome, Domicilio, Associazione*,Tipo, CodR, CodO)

Vincolo d’integrità referenziale

HaSpecializzazione(CodFisc) REFERENCES Personale(CodFisc)

Integrità referenziale: relazione Ha

(67)

DB M G 67

Tabelle coinvolte

DiServizioIn( CodFisc , CodLab, CodO, Data, OraInizio, Durata)

Personale(CodFisc, Nome, Cognome, Domicilio, Associazione*,Tipo, CodR, CodO)

Vincolo d’integrità referenziale

DiServizioIn(CodFisc) REFERENCES Personale(CodFisc)

Integrità referenziale: relazione DiServizioIn

(68)

DB M G 68

Tabelle coinvolte

DiServizioIn(CodFisc, CodLab, CodO , Data, OraInizio, Durata) Laboratorio(CodLab, CodO, NomeLab, Piano, Stanza)

Vincolo d’integrità referenziale

DiServizioIn(CodLab,CodO) REFERENCES Laboratorio(CodLab,CodO)

Integrità referenziale: relazione DiServizioIn

(69)

DB M G 69

Esame(CodFisc) REFERENCES Personale(CodFisc)

Personale(CodR,CodO) REFERENCES Reparto(CodR,CodO) Reparto(CodO) REFERENCES Ospedale(CodO)

Laboratorio(CodO) REFERENCES Ospedale(CodO)

Prenotazione(CodTes) REFERENCES Paziente(CodTes) Prenotazione(CodE) REFERENCES Esame(CodE)

Prenotazione(CodLab,CodO) REFERENCES Laboratorio(CodLab,CodO)

RuolodelMedico(CodFisc) REFERENCES Personale(CodFisc) HaSpecializzazione(CodFisc) REFERENCES Personale(CodFisc) DiServizioIn(CodFisc) REFERENCES Personale(CodFisc)

DiServizioIn(CodLab,CodO) REFERENCES Laboratorio(CodLab,CodO)

Vincoli d’integrità referenziale

Riferimenti

Documenti correlati

Professore(Matricola, Nome, Cognome) Università(NomeUniversità, Città, Matricola, DataElezione ).

accorpamento delle entità figlie nell’entità padre accorpamento dell’entità padre nelle entità figlie sostituzione della gerarchia con relazioni... DB M G 12 Accorpamento

Esame(CodE, Descrizione, DescrizioneDieta*, Tipo, CodFisc* ) Personale(CodFisc, Nome, Cognome, Domicilio, Associazione*,Tipo)

Ridondanza e Anomalie In tutte le righe in cui compare uno studente è ripetuta la sua

Una decomposizione conserva le dipendenze se ciascuna delle dipendenze funzionali dello. schema originario è presente in una delle

Tutte le persone che accedono alle piscine comunali sono identificate attraverso il loro codice fiscale ed inoltre sono noti il nome, un indirizzo ed un numero di telefono.. •

Il personale del reparto è identificato attraverso il codice fiscale; sono noti inoltre il nome, il cognome e l’indirizzo di domicilio. Tra il personale, nel caso dei medici

Prima forma normale (1NF), basata sulla definizione di relazione Seconda forma normale (2NF), terza forma normale (3NF) e. forma normale di Boyce-Codd (BCNF), tutte basate sulla