• Non ci sono risultati.

Basi di datiEsempio di progettazione logica relazionaleElena Baralis©2007 Politecnico di Torino1

N/A
N/A
Protected

Academic year: 2021

Condividi "Basi di datiEsempio di progettazione logica relazionaleElena Baralis©2007 Politecnico di Torino1"

Copied!
11
0
0

Testo completo

(1)

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

Esempio di progettazione logica relazionale

DB M G

4

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

Esempio di progettazione logica relazionale

DB M G

6

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

(2)

DB M G

7

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

8

Eliminazione dell’attributo Età

Nome Cognome Indirizzo

LuogoN DataN Età Paziente NTes

Nome Cognome Indirizzo

LuogoN DataN Paziente NTes

DB M G

9

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

10

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

11

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

12

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)

(3)

DB M G

13

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

14

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

15

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

16

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

17

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

18

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

(4)

DB M G

19

Attributo multivalore Specializzazione

Specializzazione (0,N) Personale

DB M G

20

Introduzione dell’entità Specializzazione

Specializzazione (0,N) Personale

(0,N) Personale Specializzazione

Specializzazione

Ha

DB M G

21

Cardinalità della relazione Ha

Specializzazione (0,N) Personale

(0,N) Personale Specializzazione

(1,N) Specializzazione

Ha

DB M G

22

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

24

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

(5)

DB M G

25

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

Traduzione dell’entità Paziente

DB M G

26

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

27

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

Traduzione dell’entità Ospedale

DB M G

28

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

29

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

Esame(CodE, Descrizione, DescrizioneDieta*, Tipo)

Traduzione dell’entità Esame

DB M G

30

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

(6)

DB M G

31

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

32

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

33

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

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à Specializzazione

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)

Traduzione dell’entità Specializzazione

DB M G

Esempio di progettazione logica relazionale

(7)

DB M G

37

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

38

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,

Traduzione dell’entità Laboratorio

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)

Traduzione dell’entità Laboratorio

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à Reparto

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,

Traduzione dell’entità Reparto

DB M G

42

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

(8)

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

Traduzione dell’entità Prenotazione

DB M G

44

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,

Traduzione dell’entità Prenotazione

DB M G

45

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

46

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

47

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,

Traduzione dell’entità Ruolo del medico

DB M G

48

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

(9)

DB M G

Esempio di progettazione logica relazionale

DB M G

50

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

51

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

52

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

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) RuolodelMedico(CodFisc, DataInizio, DataFine*, Ruolo)

Traduzione della relazione Lavora in

DB M G

54

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

(10)

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) 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

56

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

57

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

58

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

59

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,

Traduzione della relazione Di servizio in

DB M G

60

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

(11)

DB M G

61

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

62

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

63

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

Riferimenti

Documenti correlati

Docenti MatrDocente NomeDoc Dipartimento D102 Verdi Informatica D105 Neri Informatica D104 Bianchi Elettronica.. DB M G 87 Unione:

DB M G 11 Data Manipulation Language Interrogazione di una base dati per estrarre i dati di

ESAME-SUPERATO (Matricola, CodC, Data, Voto) Per ogni anno di iscrizione, trovare la media massima (conseguita da uno studente).

GROUP BY Matricola) AS MEDIE STUDENTE (Matricola, AnnoIscrizione) ESAME-SUPERATO (Matricola, CodC, Data, Voto) Per ogni anno di iscrizione, trovare la media massima (conseguita da

CodP NomeP Colore Taglia Magazzino P1 Maglia Rosso 40 Torino. P2 Jeans Verde

Concetto di Paziente Ciascun paziente è caratterizzato da numero della tessera sanitaria, nome, cognome, indirizzo, data di nascita, luogo di nascita e età. DB M

Eliminazione degli attributi multivalore Non sono rappresentabili nel modello relazionale L’attributo multivalore è rappresentato mediante una nuova entità collegata da una relazione

Esame(Matricola) REFERENCES Studente(Matricola) Esame(CodCorso)