99
D B M G D B M G Progettazione di basi di dati

Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMGDBMG

Progettazione di basi di dati

Page 2: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 2

Fasi della progettazione di basi di dati

Requisiti applicazione Progettazione

concettuale

Progettazionelogica

Progettazionefisica

Schema concettuale

Schema logico

Schema fisico

Page 3: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 3

Raccolta e analisi dei requisiti

Raccolta dei requisiti

individuazione dei problemi che l’applicazione dovrà risolvere

individuazione delle caratteristiche statiche e dinamiche dell’applicazione

Analisi dei requisiti

chiarimento e organizzazione delle specifiche

Attività interconnesse e difficilmente standardizzabili

Page 4: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 4

Fonti di requisiti

Utenti dell’applicazione

interviste

documentazione scritta

Documentazione esistente

normative

regolamenti interni

moduli

Realizzazioni preesistenti

applicazioni da sostituire o con cui è necessario interagire

Page 5: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 5

Raccolta dei requisiti

Gli utenti del sistema hanno un ruolo importante

gli utenti di alto livello hanno una visione più generale, ma non conoscono i dettagli

utenti diversi possono fornire informazioni diverse (complementari o contradditorie)

Page 6: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 6

Raccolta dei requisiti

Regole pratiche

effettuare verifiche di comprensione e consistenza delle informazioni raccolte

verificare anche per mezzo di esempi (generali e relativi a casi limite)

richiedere definizioni e classificazioni

individuare gli aspetti essenziali rispetto a quelli marginali

procedere per raffinamenti successivi

Page 7: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 7

Analisi dei requisiti

Regole pratiche

scegliere il livello di astrazione corretto

standardizzare la struttura delle frasi

evitare frasi contorte

individuare sinonimi/omonimi e unificare i termini

rendere esplicito il riferimento tra termini

costruire un glossario dei termini

Page 8: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 8

Progettazione concettuale

Sono state proposte varie strategie di progetto

La più efficace è una strategia ibrida

si individuano i concetti fondamentali (entità e relazioni importanti)

si raffina progressivamente il progetto iniziale, aggiungendo attributi, cardinalità delle relazioni, gerarchie, altre entità e relazioni

Se il problema è molto complesso, può essere suddiviso in sottoproblemi, risolti separatamente e integrati in seguito

Page 9: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 9

Progettazione concettuale: criteri generali

Se un concetto ha proprietà significative o descrive classi di oggetti con esistenza autonoma

entità

Se un concetto ha struttura semplice e non possiede proprietà rilevanti

attributo (eventualmente multivalore)

Se due o più concetti sono correlati

relazione

Se un concetto è un caso particolare di un altro

gerarchia

Page 10: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 10

Qualità di uno schema concettuale

Correttezza

uso di costrutti appropriati del modello

verifica di errori sintattici e semantici

Completezza

rappresentazione di tutti i concetti di interesse

Minimalità

tutte le specifiche sono rappresentate una volta sola nello schema

verifica e documentazione di eventuali ridondanze

Leggibilità

Page 11: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 11

Specifiche del problema

Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno di una Azienda Sanitaria Locale (ASL), tenendo conto delle informazioni seguenti.Ciascun paziente è caratterizzato da numero della tessera sanitaria, nome, cognome, indirizzo, data di nascita, luogo di nascita e età.Gli ospedali della ASL sono caratterizzati da un codice numerico, da un nome e un indirizzo.

Page 12: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 12

Specifiche del problema

Ogni ospedale è suddiviso in reparti identificati da un codice numerico univoco all’interno dell’ospedale di appartenenza e caratterizzati dal nome del reparto e 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 del reparto è noto l’elenco delle specializzazioni conseguite, mentre per il personale volontario è noto il nome dell’associazione di appartenenza, se disponibile.

Page 13: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 13

Specifiche del problema

Gli esami medici che possono essere eseguiti sono caratterizzati da un codice numerico e da una descrizione testuale (ad esempio radiografia, ecc.) Nel caso di esami specialistici si memorizzano inoltre il medico che effettua la visita e la descrizione della dieta da seguire (se necessaria).I laboratori che eseguono gli esami sono identificati da un codice univoco all’interno di un ospedale della ASL e sono caratterizzati dal nome del laboratorio, dal piano di ubicazione e dal numero di stanza.

Page 14: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 14

Specifiche del problema

Per ogni componente del personale di laboratorio si memorizzano le giornate e i laboratori in cui presta servizio. Si tenga presente che nel corso della stessa giornata ogni componente del personale può prestare servizio presso più laboratori.

Page 15: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 15

Specifiche del problema

Per effettuare un esame è necessario eseguire una prenotazione. Per ogni prenotazione di un esame da parte di un paziente si vuole memorizzare la data e l’ora dell’esame, il laboratorio presso cui è eseguito, il costo del ticket e se tale esame è prescritto con urgenza. Si tenga presente che ogni paziente può effettuare più prenotazioni dello stesso esame in date diverse. Si noti inoltre che lo stesso esame non può essere ripetuto nello stesso giorno dallo stesso paziente, neppure in laboratori diversi.

Page 16: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 16

Specifiche del problema

Ogni medico può assumere ruoli diversi nel corso della sua carriera (ad esempio assistente, primario, ecc.). Si vuole tenere traccia dei ruoli assunti da ogni medico nel corso di tutta la sua carriera e dei periodi di tempo in cui ha assunto tali ruoli (data di inizio, data di fine). Si tenga presente che ogni medico non può assumere contemporaneamente più ruoli, mentre può assumere lo stesso ruolo in periodi di tempo diversi.

Page 17: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 17

Identificazione dei concetti principali

Analisi del testo volta ad individuare i concetti più importanti

le entità principali del diagramma E-R

eventuali collegamenti tra entità

Page 18: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 18

Concetto di Paziente

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

Page 19: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 19

Paziente

Concetto di Paziente

Page 20: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 20

Concetto di Ospedale

Gli ospedali della ASL sono caratterizzati da un codice numerico, da un nome e un indirizzo.

Page 21: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 21

Paziente

Ospedale

Concetto di Ospedale

Page 22: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 22

Concetto di Reparto

Ogni ospedale è suddiviso in reparti identificati da un codice numerico univoco all’interno dell’ospedale di appartenenza e caratterizzati dal nome del reparto e numero di telefono.

Page 23: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 23

Paziente

Ospedale

Concetto di Reparto

Reparto

Page 24: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 24

Concetto di Personale

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 del reparto è noto l’elenco delle specializzazioni conseguite, mentre per il personale volontario è noto il nome dell’associazione di appartenenza, se disponibile.

Page 25: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 25

Paziente

Ospedale Reparto

Personale

Concetto di Personale

Page 26: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 26

Concetto di Esame

Gli esami medici che possono essere eseguiti sono caratterizzati da un codice numerico e da una descrizione testuale (ad esempio radiografia, ecc.) Nel caso di esami specialistici si memorizzano inoltre il medico che effettua la visita e la descrizione della dieta da seguire (se necessaria).

Page 27: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 27

Paziente

Ospedale

Esame

Reparto

Personale

Concetto di Esame

Page 28: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 28

Concetto di Laboratorio

I laboratori che eseguono gli esami sono identificati da un codice univoco all’interno di un ospedale della ASL e sono caratterizzati dal nome del laboratorio, dal piano di ubicazione e dal numero di stanza.

Page 29: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 29

Paziente

Laboratorio

Ospedale

Esame

Reparto

Personale

Concetto di Laboratorio

Page 30: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 30

Concetti principali

paziente

esame

laboratorio

ospedale

reparto

personale

Paziente

Laboratorio

Ospedale

Esame

Reparto

Personale

Concetti principali

Page 31: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 31

Raffinamento dei concetti

Raffinamento dei concetti

introduzione delle gerarchie

definizione degli attributi

caratterizzazione delle relazioni mediante la cardinalità

Page 32: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 32

Gerarchia del personale

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 del reparto è noto l’elenco delle specializzazioni conseguite, mentre per il personale volontario è noto il nome dell’associazione di appartenenza, se disponibile.

Page 33: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 33

Gerarchia del personale

Paziente

Laboratorio

Ospedale

Esame

Reparto

Personale

(p,e)

MedicoVolontario

Page 34: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 34

Gerarchia degli esami

Gli esami medici che possono essere eseguiti sono caratterizzati da un codice numerico e da una descrizione testuale (ad esempio radiografia, ecc.). Nel caso di esami specialistici si memorizzano inoltre il medico che effettua la visita e la descrizione della dieta da seguire (se necessaria).

Page 35: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 35

Gerarchia degli esami

Paziente

Laboratorio

Ospedale

Esame

Reparto

Personale

(p,e)

MedicoVolontario

(p,e) Esame specialistico

Page 36: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 36

Raffinamento dell’entità Paziente

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

Page 37: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 37

NTes Nome Cognome

Indirizzo

LuogoN

DataN

(p,e)

Età

(p,e)Paziente

Laboratorio

Ospedale

Esame

Reparto

Personale

MedicoVolontario

Esame specialistico

Raffinamento dell’entità Paziente

Page 38: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 38

Attributi Data di nascita ed Età

L’attributo Età è ridondante perché può essere facilmente calcolato partendo dalla data di nascita (DataN)

Questa informazione deve essere allegata alla documentazione del modello concettuale

regola di derivazione di Età a partire da DataN Età=Year(Today()-DataN)

L’eventuale eliminazione dell’attributo Età sarà valutata durante la fase di semplificazione dello schema ER

Page 39: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 39

Raffinamento dell’entità Ospedale

Gli ospedali della ASL sono caratterizzati da un codice numerico, da un nome e un indirizzo.

Page 40: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 40

NTes Nome Cognome

Indirizzo

LuogoN

DataN

(p,e)

Età

(p,e)Paziente

Laboratorio

Ospedale

Esame

Reparto

Personale

MedicoVolontario

Esame specialistico

CodONome

Indirizzo

Raffinamento dell’entità Ospedale

Page 41: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 41

Relazione tra Personale e Reparto

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 del reparto è noto l’elenco delle specializzazioni conseguite, mentre per il personale volontario è noto il nome dell’associazione di appartenenza, se disponibile.

Page 42: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 42

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Laboratorio

Ospedale

Esame

Reparto

Esame specialistico

CodONome

IndirizzoReparto

(p,e)

Personale

MedicoVolontario

Lavora in

Relazione tra Personale e Reparto

Page 43: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 43

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Laboratorio

Ospedale

Esame

Reparto

Esame specialistico

CodONome

IndirizzoReparto

(p,e)

Personale

MedicoVolontario

Lavora in

(1,1)

(1,N)

Cardinalità della relazione Lavora in

Page 44: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 44

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Laboratorio

Ospedale

Esame

Reparto

Esame specialistico

CodONome

IndirizzoReparto

(p,e)

Personale

MedicoVolontario

Lavora in

(1,1)

(1,N)

CodFisc

Cognome

Nome

Domicilio

Raffinamento dell’entità Personale

Page 45: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 45

Raffinamento delle entità Medico e Volontario

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 del reparto è noto l’elenco delle specializzazioni conseguite, mentre per il personale volontario è noto il nome dell’associazione di appartenenza, se disponibile.

Page 46: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 46

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Laboratorio

Ospedale

Esame

Reparto

Esame specialistico

CodONome

IndirizzoReparto

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

(1,1)

(1,N)

Specializzazione(0,N)

Raffinamento dell’entità Medico

Page 47: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 47

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Laboratorio

Ospedale

Esame

Reparto

Esame specialistico

CodONome

IndirizzoReparto

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

Raffinamento dell’entità Volontario

Page 48: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 48

Raffinamento dell’entità Esame

Gli esami medici che possono essere eseguiti sono caratterizzati da un codice numerico e da una descrizione testuale (ad esempio radiografia, ecc.). Nel caso di esami specialistici si memorizzano inoltre il medico che effettua la visita e la descrizione della dieta da seguire (se necessaria).

Page 49: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 49

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Laboratorio

Ospedale

Esame

Reparto

Esame specialistico

CodONome

IndirizzoReparto

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE

Raffinamento dell’entità Esame

Page 50: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 50

Raffinamento dell’entità Esame specialistico

Gli esami medici che possono essere eseguiti sono caratterizzati da un codice numerico e da una descrizione testuale (ad esempio radiografia, ecc.). Nel caso di esami specialistici si memorizzano inoltre il medico che effettua la visita e la descrizione della dieta da seguire (se necessaria).

Page 51: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 51

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Laboratorio

Ospedale

Esame

Reparto

Esame specialistico

CodONome

IndirizzoReparto

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

Raffinamento dell’entità Esame specialistico

Page 52: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 52

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Laboratorio

Ospedale

Esame

Reparto

Esame specialistico

CodONome

IndirizzoReparto

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

Effettuato da

Relazione tra Esame specialistico e Medico

Page 53: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 53

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Laboratorio

Ospedale

Esame

Reparto

Esame specialistico

CodONome

IndirizzoReparto

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Cardinalità della relazione Effettuato da

Page 54: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 54

Relazione tra Reparto e Ospedale

Ogni ospedale è suddiviso in reparti identificati da un codice numerico univoco all’interno dell’ospedale di appartenenza e caratterizzati dal nome del reparto e numero di telefono.

Page 55: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 55

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

Paziente

Laboratorio

Ospedale Reparto

CodONome

IndirizzoReparto

Ha

Relazione tra Reparto e Ospedale

(p,e)Esame

Esame specialistico

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Page 56: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 56

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

Paziente

Laboratorio

Ospedale Reparto

CodONome

IndirizzoReparto

(1,1)(1,N)

Ha

Cardinalità della relazione Ha

(p,e)Esame

Esame specialistico

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Page 57: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 57

Relazione tra Reparto e Ospedale

Ogni ospedale è suddiviso in reparti identificati da un codice numerico univoco all’interno dell’ospedale di appartenenza e caratterizzati dal nome del reparto e numero di telefono.

Page 58: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 58

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

Paziente

Laboratorio

Ospedale Reparto

CodONome

IndirizzoReparto

(1,1)(1,N)

Ha

CodR

Identificatore dell’entità Reparto

(p,e)Esame

Esame specialistico

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Page 59: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 59

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

Paziente

Laboratorio

Ospedale Reparto

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

Raffinamento dell’entità Reparto

(p,e)Esame

Esame specialistico

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Page 60: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 60

Relazione tra Laboratorio e Ospedale

I laboratori che eseguono gli esami sono identificati da un codice univoco all’interno di un ospedale della ASL e sono caratterizzati dal nome del laboratorio, dal piano di ubicazione e dal numero di stanza.

Page 61: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 61

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Dispone di

Laboratorio

Relazione tra Laboratorio e Ospedale

Page 62: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 62

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Dispone di

Laboratorio

(1,1)

(0,N)

Cardinalità della relazione Dispone di

Page 63: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 63

Relazione tra Laboratorio e Ospedale

I laboratori che eseguono gli esami sono identificati da un codice univoco all’interno di un ospedale della ASL e sono caratterizzati dal nome del laboratorio, dal piano di ubicazione e dal numero di stanza.

Page 64: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 64

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

Identifcatore dell’entità Laboratorio

Page 65: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 65

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab

Raffinamento dell’entità Laboratorio

Page 66: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 66

Rappresentazione del tempo

Occorre rappresentare esplicitamente lo scorrere del tempo nel caso di

rappresentazione di eventi

variazione del contenuto informativo di entità o attributi nel tempo

Sono possibili varie modalità di rappresentazione

mediante relazioni N-arie con un’entità tempo

mediante entità storicizzate

mediante relazioni binarie con un’entità tempo

Page 67: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 67

Relazione tra Personale e Laboratorio

Per ogni componente del personale di laboratorio si memorizzano le giornate e i laboratori in cui presta servizio. Si tenga presente che nel corso della stessa giornata ogni componente del personale può prestare servizio presso più laboratori.

Page 68: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 68

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab

Di servizio in

Relazione tra Personale e Laboratorio

Page 69: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 69

Storicizzazione della relazione Di servizio in

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab

Di servizio in

Data Tempo

Page 70: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 70

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab

Di servizio in

Data Tempo

(0,N)

(1,N)

(0,N)

Cardinalità della relazione Di servizio in

Page 71: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 71

Raffinamento della relazione Di servizio in

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab(0,N) (0,N)

Di servizio in

DurataOra inizio

Data

(1,N)

Tempo

Page 72: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 72

Rappresentazione della prenotazione

Per effettuare un esame è necessario eseguire una prenotazione. Per ogni prenotazione di un esame da parte di un paziente si vuole memorizzare la data e l’ora dell’esame, il laboratorio presso cui è eseguito, il costo del ticket e se tale esame è prescritto con urgenza. Si tenga presente che ogni paziente può effettuare più prenotazioni dello stesso esame in date diverse. Si noti inoltre che lo stesso esame non può essere ripetuto nello stesso giorno dallo stesso paziente, neppure in laboratori diversi.

Page 73: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 73

Rappresentazione della prenotazione

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab(0,N) (0,N)

Di servizio in

DurataOra inizio

Data

(1,N)

Tempo

Tempo

Data

Prenota

Page 74: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 74

Cardinalità della relazione Prenota

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab(0,N) (0,N)

Di servizio in

DurataOra inizio

Data

(1,N)

Tempo

Tempo

Data

Prenota

(1,N) (0,N)

(0,N)

(1,N)

Page 75: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 75

Vincoli sulla prenotazione

Per effettuare un esame è necessario eseguire una prenotazione. Per ogni prenotazione di un esame da parte di un paziente si vuole memorizzare la data e l’ora dell’esame, il laboratorio presso cui è eseguito, il costo del ticket e se tale esame è prescritto con urgenza.Si tenga presente che ogni paziente può effettuare più prenotazioni dello stesso esame in date diverse. Si noti inoltre che lo stesso esame non può essere ripetuto nello stesso giorno dallo stesso paziente, neppure in laboratori diversi.

Page 76: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 76

Rappresentazione della prenotazione

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab(0,N) (0,N)

Di servizio in

DurataOra inizio

Data

(1,N)

Tempo

Tempo

Data

Prenota

(1,N) (0,N)

(0,N)

(1,N)

Page 77: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 77

Introduzione dell’entità Prenotazione

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab(0,N) (0,N)

Di servizio in

DurataOra inizio

Data

(1,N)

Tempo

Prenotazione

Page 78: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 78

Relazione tra Prenotazione e Paziente

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab(0,N) (0,N)

Di servizio in

DurataOra inizio

Data

(1,N)

Tempo

Prenotazione

Effettua

Page 79: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 79

Cardinalità della relazione Effettua

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab(0,N) (0,N)

Di servizio in

DurataOra inizio

Data

(1,N)

Tempo

Prenotazione

Effettua

(1,1)

(1,N)

Page 80: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 80

Relazione tra Prenotazione e Esame

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab(0,N) (0,N)

Di servizio in

DurataOra inizio

Data

(1,N)

Tempo

Prenotazione

EffettuaPer

(1,1)

(1,N)

Page 81: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 81

Cardinalità della relazione Per

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab(0,N) (0,N)

Di servizio in

DurataOra inizio

Data

(1,N)

Tempo

Prenotazione

EffettuaPer

(1,1)

(1,N)

(1,1)

(0,N)

Page 82: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 82

Relazione tra Prenotazione e Laboratorio

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab(0,N) (0,N)

Di servizio in

DurataOra inizio

Data

(1,N)

Tempo

Prenotazione

EffettuaPer

Eseguita

(1,1)

(1,N)

(1,1)

(0,N)

Page 83: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 83

Cardinalità della relazione Eseguita

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab(0,N) (0,N)

Di servizio in

DurataOra inizio

Data

(1,N)

Tempo

Prenotazione

EffettuaPer

Eseguita

(1,1)

(1,N)

(1,1)

(0,N)

(1,1)

(0,N)

Page 84: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 84

Identiticatore dell’entità Prenotazione

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab(0,N) (0,N)

Di servizio in

DurataOra inizio

Data

(1,N)

Tempo

Data

(1,1)

(1,1)

Prenotazione

EffettuaPer

Eseguita

(0,N)

(1,N)(0,N)

(1,1)

Page 85: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 85

Raffinamento dell’entità Prenotazione

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab(0,N) (0,N)

Di servizio in

DurataOra inizio

Data

(1,N)

Tempo

Data

Ora

Costo

Urgente (1,1)

(1,1)

Prenotazione

EffettuaPer

Eseguita

(0,N)

(1,N)(0,N)

(1,1)

Page 86: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 86

Relazione tra Medico e Ruolo

Ogni medico può assumere ruoli diversi nel corso della sua carriera (ad esempio assistente, primario, ecc.). Si vuole tenere traccia dei ruoli assunti da ogni medico nel corso di tutta la sua carriera e dei periodi di tempo in cui ha assunto tali ruoli (data di inizio, data di fine). Si tenga presente che ogni medico non può assumere contemporaneamente più ruoli, mentre può assumere lo stesso ruolo in periodi di tempo diversi.

Page 87: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 87

Relazione tra Medico e Ruolo

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab(0,N) (0,N)

Di servizio in

DurataOra inizio

Data

(1,N)

Tempo

Data

Ora

Costo

Urgente (1,1)

(1,1)

Prenotazione

EffettuaPer

Eseguita

(0,N)

(1,N)(0,N)

(1,1)

Ruolo

Assume

Ruolo

Page 88: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 88

Storicizzazione della relazione Assume

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab(0,N) (0,N)

Di servizio in

DurataOra inizio

Data

(1,N)

Tempo

Data

Ora

Costo

Urgente (1,1)

(1,1)

Prenotazione

EffettuaPer

Eseguita

(0,N)

(1,N)(0,N)

(1,1)

Tempo

Data Inizio

Ruolo

Assume

Ruolo

Page 89: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 89

Cardinalità della relazione Assume

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab(0,N) (0,N)

Di servizio in

DurataOra inizio

Data

(1,N)

Tempo

Data

Ora

Costo

Urgente (1,1)

(1,1)

Prenotazione

EffettuaPer

Eseguita

(0,N)

(1,N)(0,N)

(1,1)

Tempo

Data Inizio

Ruolo

Assume

Ruolo

(1,N)

(1,N)

(0,N)

Page 90: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 90

Raffinamento della relazione Assume

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab(0,N) (0,N)

Di servizio in

DurataOra inizio

Data

(1,N)

Tempo

Data

Ora

Costo

Urgente (1,1)

(1,1)

Prenotazione

EffettuaPer

Eseguita

(0,N)

(1,N)(0,N)

(1,1) (1,N)

Tempo

Data Fine(0,1)

Data Inizio

Ruolo

Assume

(1,N)

Ruolo

(0,N)

Page 91: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 91

Vincoli sulla relazione Assume

Ogni medico può assumere ruoli diversi nel corso della sua carriera (ad esempio assistente, primario, ecc.). Si vuole tenere traccia dei ruoli assunti da ogni medico nel corso di tutta la sua carriera e dei periodi di tempo in cui ha assunto tali ruoli (data di inizio, data di fine). Si tenga presente che ogni medico non può assumere contemporaneamente più ruoli, mentre può assumere lo stesso ruolo in periodi di tempo diversi.

Page 92: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 92

Storicizzazione della relazione Assume

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab(0,N) (0,N)

Di servizio in

DurataOra inizio

Data

(1,N)

Tempo

Data

Ora

Costo

Urgente (1,1)

(1,1)

Prenotazione

EffettuaPer

Eseguita

(0,N)

(1,N)(0,N)

(1,1) (1,N)

Tempo

Data Fine(0,1)

Data Inizio

Ruolo

Assume

(1,N)

Ruolo

(0,N)

Page 93: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 93

Introduzione dell’entità Ruolo del medico

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab(0,N) (0,N)

Di servizio in

DurataOra inizio

Data

(1,N)

Tempo

Data

Ora

Costo

Urgente (1,1)

(1,1)

Prenotazione

EffettuaPer

Eseguita

(0,N)

(1,N)(0,N)

(1,1)

Ruolo delmedico

Page 94: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 94

Storicizzazione del ruolo

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab(0,N) (0,N)

Di servizio in

DurataOra inizio

Data

(1,N)

Tempo

Data

Ora

Costo

Urgente (1,1)

(1,1)

Prenotazione

EffettuaPer

Eseguita

(0,N)

(1,N)(0,N)

(1,1)

Ruolo delmedico

Assume

Data Inizio

Page 95: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 95

Cardinalità della relazione Assume

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab(0,N) (0,N)

Di servizio in

DurataOra inizio

Data

(1,N)

Tempo

Data

Ora

Costo

Urgente (1,1)

(1,1)

Prenotazione

EffettuaPer

Eseguita

(0,N)

(1,N)(0,N)

(1,1)

Ruolo delmedico

Assume

Data Inizio(1,N)

(1,1)

Page 96: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 96

Raffinamento dell’entità Ruolo del medico

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab(0,N) (0,N)

Di servizio in

DurataOra inizio

Data

(1,N)

Tempo

Data

Ora

Costo

Urgente (1,1)

(1,1)

Prenotazione

EffettuaPer

Eseguita

(0,N)

(1,N)(0,N)

(1,1)

Ruolo delmedico

(1,N)

(1,1)

Data Inizio

Assume

Data Fine (0,1)

Ruolo

Page 97: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 97

Storicizzazione del ruolo: alternativa

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab(0,N) (0,N)

Di servizio in

DurataOra inizio

Data

(1,N)

Tempo

Data

Ora

Costo

Urgente (1,1)

(1,1)

Prenotazione

EffettuaPer

Eseguita

(0,N)

(1,N)(0,N)

(1,1)

Tempo

Data Inizio

Assume

Ruolo

Page 98: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 98

Cardinalità della relazione Assume

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab(0,N) (0,N)

Di servizio in

DurataOra inizio

Data

(1,N)

Tempo

Data

Ora

Costo

Urgente (1,1)

(1,1)

Prenotazione

EffettuaPer

Eseguita

(0,N)

(1,N)(0,N)

(1,1)

Tempo

Data Inizio

(1,N)

Assume

(1,N)

Ruolo

Page 99: Progettazione di basi di dati M - PoliTO...D B M G 11 Specifiche del problema Si vuole rappresentare una base dati per la gestione di un sistema di prenotazioni di esami medici all’interno

DBMG 99

Raffinamento della relazione Assume

NTes Nome Cognome

Indirizzo

LuogoN

DataN

Età

(p,e)Paziente

Ospedale

Esame

Reparto

Esame specialistico

CodONome

Indirizzo

Nome

TelefonoReparto

(1,1)(1,N)

Ha

CodR

(p,e)

Personale

MedicoVolontario

Lavora in

CodFisc

Cognome

Nome

Domicilio

Associazione(0,1)

Specializzazione(0,N)

(1,1)

(1,N)

DescrizioneCodE Descrizione della dieta(0,1)

(1,1)

(0,N)

Effettuato da

Stanza

Piano

Dispone di

Laboratorio

(1,1)

(0,N)

CodLab

NomeLab(0,N) (0,N)

Di servizio in

DurataOra inizio

Data

(1,N)

Tempo

Data

Ora

Costo

Urgente (1,1)

(1,1)

Prenotazione

EffettuaPer

Eseguita

(0,N)

(1,N)(0,N)

(1,1)

Tempo

Data Inizio

(1,N)

(1,N)

Ruolo

Assume

Data Fine(0,1)