Si vuole rappresentare la base di dati della maternità di un ospedale.
I dati necessari per le madri sono il nome, l’età, il tipo di parto effettuato (cesareo o naturale), il numero di letto e di stanza, eventuali malattie avute e/o in corso, altri parti avuti in precedenza mentre per ogni bambino si conosce il nome, la madre, il numero di lettino, la dieta (quantità di latte al giorno). È necessario gestire i turni del personale (per ogni giorno della settimana le ore di presenza e le stanze a cui è assegnato), suddiviso in tre categorie (medici, ostetriche e infermieri) e identificato tramite il numero di matricola, per il quale si memorizza cognome, nome e numero di telefono.
Ai medici (ginecologi oppure pediatri) e alle ostetriche sono assegnati i pazienti, mentre agli infermieri le stanze di competenza.
Modello E/R
Entità
Dall’analisi del testo possiamo dedurre le seguenti entità:
L’entità Paziente caratterizzati dagli attributi codice nome cognome telefono letto, generalizzazione delle entità
- Madre con attributi tipo di parto
- Bambino dieta
L’entità Personale con attributi matricola cognome none telefono generalizzazione delle entità:
- Medico (specializzazione)
- Ostetrica
- Infermiere
poi abbiamo un’entità Stanza (numero piano) l’entità Malattia per tener conto della storia clinica della madre con il tipo di malattia data cura
e l’entità Parti (codice tipo, data) per tener conto dei parti precedenti.
Associazioni
Tra madre e bambino l’associazione E’figlio di 1:N (parti gemellari)
Regole di lettura
Ogni Madre deve avere per Figlio uno o più bambini
Ogni bambino deve essere figlio di una Madre
Tra madre e Malattia l’associazione Dichiara di 1:N Associazione debole
Regole di lettura
Ogni Madre può dichiarare una o più malattie
Ogni malattia è stata dichiarata da una Madre
Tra madre e Parto l’associazione Corrisponde di 1:N Associazione debole
Regole di lettura
Ogni Madre può Corrispondere uno o più parti
A ogni Parto deve corrispondere una Madre
Tra Ostetrica e Madre l’associazione Assiste 1:N
Regole di lettura
Ogni Madre deve essere Assistita da un Ostetrica
Ogni Ostetrica deve assistere una o più Madre
Tra Ginecologo e Madre l’associazione Assiste 1:N
Regole di lettura
Ogni Madre deve essere Assistita da un Ginecologo
Ogni Ginecologo deve assistere una o più Madre
Tra Pediatra e Bambino l’associazione Assiste 1:N
Regole di lettura
Ogni Bambino deve essere Assistito da un Pediatra
Ogni Pediatra deve assistere uno o più Bambini
Tra Personale e Stanza l’associazione Di turno N:M
Regole di lettura
Ogni membro del personale deve essere di turno una o più stanza
Ogni Stanza deve essere di turno uno o più membri del Personale
Tra Stanza e Paziente l’associazione Occupa 1:N
Regole di lettura
Ogni Paziente deve occupare una stanza
Ogni Stanza può essere Occupata da uno o più Pazienti
Ristrutturazione Modello Concettuale
Nel nostro modello sono presenti due generalizzazione Personale e Paziente. Nella prima possiamo fare un accorpamento verso l’alto con un Campo di tipo enumerativo (Ostetrica,Ginecologo, pediatra e infermiere).
La seconda essendo i’entità madre presente in più associazioni che non coinvolgono il bambino possiamo operare in due modi o con due entità separate (accorpamento verso il basso) oppure introducendo due associazioni. Nel secondo caso le tre associazioni Assiste possiamo ridurla a una tra personale e paziente.
Modello Relazionale
Ogni entità diventa una relazione
Pazienti(codice(PK),cognome,nome,dataNascita,telefono,letto)
Madri(Codice(PK),tipoParto)
Bambini(codice(PK),dieta)
Essendo Madri e Bambini derivate da Pazienti ereditano la chiave primaria
Personale(Matricola(PK),cognome, nome, telefono, specializzazione)
Stanze(numero(pk), piano,numeroLetti)
Malattie e Parti sono entità deboli come chiave primaria componiamo i loro attributi con la chiave primaria di Madri
Malattie(madre(pk),dataDiagnosi(PK),nome(PK),cura)
Parti(madre(PK),data(PK),tipo)
L’associazione N:M tra Personale e Pazienti si trasforma in una relazione con chiavi le chiavi esterne delle due entità
Assiste(paziente(pk),personale(PK))
L’associazione N:M tra Personale e Stanze diventa una relazione in cui aggiungiamo alle chiavi di Personale e di Stanze la data come terza chiave in modo di aver unicità di chiave
Turni(personale(PK),Stanza(pK),data(PK),oraInizio,oraFine)
Tra Madri e bambini c’è un associazione 1:N la chiave di Madri diventa esterna a Bambini
Bambini(codice(PK),madri(FK),dieta)
Tra Stanza e Paziente Associazione 1 a N la chiave Primaria di Stanze diventa chiave Esterna di Pazienti
Pazienti(codice(PK),cognome,nome,dataNascita,telefono,letto,stanza(FK))
Relazione | Attributi | Chiave | Formato | Dimen. | Null | Vincolo |
Pazienti | codice | pk | numero auto incremento | no | di chiave | |
cognome | testo | 20 | no | |||
nome | testo | 20 | no | |||
telefono | testo | 10 | ||||
dataNascita | data | no | ||||
letto | numero | |||||
stanza | FK | numero | no | Stanza.numero | ||
Personale | matricola | PK | testo | 16 | no | chiave |
cognome | testo | 20 | no | |||
nome | testo | 16 | no | |||
telefono | testo | 10 | ||||
specializzazione | set | no | sceltra tra 4 valori | |||
Madri | codice | PK | Pazienti.codice | |||
tipoParto | set | 16 | no | scelta tra valori | ||
Bambini | codice | PK | numero | no | Pazienti.codice | |
dieta | numero | no | ||||
madre | FK | numero | no | Madri.codice | ||
Turni | personale | PK | numerico | no | Personale.matricola | |
stanza | PK | numerico | no | Stanze.numero | ||
data | PK | data | no | chiave | ||
oraInizio | ora | no | ||||
oraFine | ora | no | ||||
Assiste | personale | pk | numerico | no | Personale.matricola | |
paziente | pk | numerico | no | Pazienti.codice | ||
Parti | madre | pk | numerico | no | Madri.codice | |
data | pk | data | no | |||
tipo | set | no | scelta tra più valori | |||
Malattie | madre | pk | numero | no | madri.codice | |
dataDiagnosi | pk | data | no | |||
nome | pk | testo | 20 | no | ||
cura | testo | 50 | no | |||
Stanze | numero | PK | numero | no | chiave | |
piano | numero | no | ||||
numeroPosti | numero |
Lascia un commento