BASI DATI: modello relazionale

Documenti analoghi
BASI DATI: algebra relazionale

Basi di dati. Informatica. Prof. Pierpaolo Vittorini

BASI DATI BIOINGEGNERIA ED INFORMATICA MEDICA. Lezione II - BioIngInfMed

BASI DATI INFORMATICA

Della suddetta realtà fornire lo schema E/R, lo schema logico e la realizzazione in SQL.

Esercizi su Modello Entità-Relazioni

GESTIONE DEI REPARTI DI UN OSPEDALE

Esercizio 1 ESERCIZI DI PROGETTAZIONE CONCETTUALE DI BASI DI DATI. La base di dati di una università contiene informazioni

Laboratorio n 7 del Ing. Dario Cogliati

Basi di Dati 1 Esercitazione 5 08/01/2013. Matteo Picozzi

I database. Introduzione alla teoria delle basi di dati

Database. Cos è un database? Intro Tipi di entità Mapping ER/EER à Relazionale

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO e SCHEMA FISICO Costruzione delle tabelle

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative all amministrazione di un condominio:

4/16/07. Le Basi di Dati Relazionali. Concetti Fondamentali. Base di dati, tabella, ennupla, attributo, dominio. Valori nulli

Le basi di dati. Lez. 2: Progettazione di un DB. Laboratorio di informatica gestionale

CAPITOLO V. DATABASE: Il modello relazionale

ESAME di INFORMATICA e ARCHIVIAZIONE

SISTEMI INFORMATIVI E DATABASE

Ospedale reparto chirurgia generale Infermiera professionale di ruolo

Il modello logico dei dati

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO Regole di derivazione

Comprende: PRESIDIO OSPEDALIERO DI BUSTO ARSIZIO STRUTTURA COMPLESSA DI OSTETRICIA E GINECOLOGIA RESPONSABILE DR. PAOLO BERETTA

Il modello Entity-Relationship: pattern di progettazione

Il modello Entità/Relazioni (ER)

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia

ADENOCARCINOMA DEL RETTO

Unità A2. Progettazione concettuale. Obiettivi. Astrazione. Astrazione per aggregazione

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad una piattaforma di gestione di gare podistiche:

LA PROGETTAZIONE CONCETTUALE

RELAZIONI E BASI DI DATI

COGNOME MATRICOLA. STUDENTE(Codice, Nome, Cognome, LuogoNascita) CDL (Codice, Nome, PunteggioMinimo) QUIZ(CodiceCorso, CodiceStudente, Punteggio)

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 28 Giugno 05 Nome: Cognome: Matricola: Esercizio 1

Conversione Modello ER in Modello Relazionale. A.Bardine - Conversione Modello ER in Modello Relazionale

Modalità di identificazione del paziente International Patient Safety Goals IPSG IPSG. 1 Accuratezza della identificazione del paziente

Laboratorio di Basi di Dati

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Progettazione concettuale

Compito Basi di Dati. Tempo concesso : 90 minuti 28 aprile 2005 Nome: Cognome: Matricola:

DIVISIONE SANITA. Manuale Operativo del Software. Guardia Medica Molise. Spectre s.r.l.

Le Basi di dati: progettazione concettuale

ESERCIZI DI MODELLAZIONE E-R

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella i dati di società di assicurazioni che erogano polizze sanitarie.

Compito Basi di Dati. Tempo concesso: 2 ore 18 Febbraio 2013 Nome: Cognome: Matricola:

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/

IL CONTRIBUTO DEL PERSONALE INFERMIERISTICO AL PROCESSO DI OTTIMIZZAZIONE COSTI E QUALITA ASSISTENZIALE.

MODELLO e RAPPRESENTAZIONE

LE INFORMAZIONI CONTENUTE NELLA LETTERA DI DIMISSIONE OSPEDALIERA MIGLIORANO LA CONTINUITA TERAPEUTICA?

Progettazione di Basi di Dati Temi d esame svolti

PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE BIOLOGICHE

PROGETTAZIONE LOGICA. Prof. Ing. Alfredo GARRO 1/6. Artista. Cantante. DataDiNascita. Codice. Nazionalità

Fondamenti della Matematica a.a LUMSA. Basi di numerazione. Scrittura in forma polinomiale e scrittura in una base

ESERCIZI DI MODELLAZIONE E-R

Corso sul linguaggio Java

F O R M A T O E U R O P E O

Progetto di Applicazioni Software

INTRODUZIONE ALLE BASI DATI RELAZIONALI

ASO (AMBULATORIO CONTROLLO GRAVIDANZA A TERMINE) Lunedì pomeriggio Mercoledì mattina e pomeriggio Venerdì mattina

Relazioni e tabelle. Introduzione alle Basi di Dati Relazionali. Relazioni uno a uno. Esempio

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad una Software (SW) House:

DIRITTI. e DOVERI. del MALATO GUIDA PER L UTENTE.

MALATTIE RARE Opuscolo informativo per il paziente

Ambulatorio Interdipartimentale Malattie Epatiche Complesse

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Il modello relazionale

Esercitazione 2: Progettazione Concettuale

OPUSCOLO INFORMATIVO MALATTIE INFETTIVE E TROPICALI

UOC Diabetologia AV5

Appendice 2. Strumento di autovalutazione per l Iniziativa Ospedale Amico del Bambino

Gravidanza come fare..

Basi di dati 19 dicembre 2016 Prova parziale Compito A Tempo a disposizione: un ora e quindici minuti. Libri chiusi.

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad un negozio di libri online:

Gestione della terapia farmacologica e RFID (Radio Frequency Identification) Ing. Lucio Sartori. assieme a:

<Nome Tabella>.<attributo>

BASI DATI: Open Office BASE BIOINGEGNERIA ED INFORMATICA MEDICA

Corso di Informatica

F O R M A T O E U R O P E O

Esercizi svolti sul modello ER con regole di lettura. Esercizio 1

PDTA Diabete RUOLO DELLA STRUTTURA DIABETOLOGICA TERRITORIALE. Cona, 30 Settembre 2017

Transcript:

BASI DATI: modello relazionale BIOINGEGNERIA ED INFORMATICA MEDICA 1

Il modello relazionale Il modello relazionale fu introdotto da Codd (1970) e si basa su una semplice ed uniforme struttura dati chiamata relazione, ed ha una solida base teorica La relazione del modello relazionale NON è la relazione degli schemi E/R Si introduce tale modello in quanto la maggior parte dei DBMS sono relazionali (e.g. Oracle, Access, MySQL) 2

Concetti fondamentali Il modello relazionale rappresenta una base di dati come un insieme di relazioni Informalmente, una relazione è (praticamente) una tabella ciascuna riga della relazione è detta tupla l intestazione di una colonna della tabella è chiamata attributo il tipo di dato che mi specifica ciò che può apparire in ciascuna colonna è detto dominio Per semplicità (e per non fare confusione) useremo il termine (improprio) tabella al posto del termine (corretto) relazione 3

Dallo schema E/R allo schema relazionale A partire dallo schema E/R, è possibile costruire la base di dati sotto forma di relazioni Quali e quante relazioni creare? 4

Algoritmo di conversione E/R in relazionale Algoritmo per realizzare lo schema relazionale a partire dallo schema E/R: 1. Per ogni entità E dello schema E/R, crea una relazione R che include tutti gli attributi di E 5

Algoritmo di conversione E/R in relazionale 2. Per ogni relazione 1:1 dello schema E/R esistente fra le due entità E1 ed E2, trasforma le due relazioni R1 e R2 (di E1 ed E2) in una unica relazione R12 unendone tutti gli attributi preferendo una chiave primaria sull altra 6

Algoritmo di conversione E/R in relazionale 3. Per ogni relazione 1:n dello schema E/R esistente fra le due entità E1 ed E2, aggiungi la chiave primaria della relazione E2 come attributo nella relazione E1 (chiave esterna) 7

Algoritmo di conversione E/R in relazionale 4. Per ogni relazione n:m dello schema E/R, crea una relazione R i cui attributi sono le chiavi primarie dell entità in relazione (chiavi esterne) 8

Lo schema relazionale del questionario 9 Sulla base del passo (1) del precedente algoritmo, ottengo le due relazioni (notate l uso del plurale) 1. studenti(matricola, sesso, eta) 2. questionari (r1, r2, r3, r4, r5, r6, r7, r8, r9) Il passo (2) ci impone siccome le due entità sono in relazione 1:1 di unirle in una unica relazione 1. questionari_studenti(matricola, sesso, eta, r1, r2, r3, r4, r5, r6, r7, r8, r9)

Lo schema relazionale dello studio ambientale Passo (1) 1. patologie(codice,drg, diagnosi principale) 2. pazienti(numero, eta, sesso) 3. sedi_elettorali (numero, distanza, votanti) 10

Lo schema relazionale dello studio ambientale Passo (2) : Non c è nessuna relazione di tipo 1:1 11

Lo schema relazionale dello studio ambientale Passo (3) : C è una unica relazione di tipo 1:n (e.g. risiede) 1. pazienti(numero, eta, sesso, numero_sede_elettorale) 12

Lo schema relazionale dello studio ambientale Passo (4) : C è una unica relazione di tipo n:m (e.g. soffre) 1. soffre(codice patologia, numero_paziente) 13

Lo schema relazionale dello studio ambientale Si ottiene quindi 1. patologie(codice,drg, diagnosi principale) 2. sedi_elettorali (numero, distanza, votanti) 3. pazienti(numero, età, sesso, numero_sede_elettorale) 4. soffre(codice patologia, numero paziente) 14

Dallo schema E/R allo schema relazionale A partire dallo schema E/R, è possibile costruire la base di dati sotto forma di tabelle, utilizzando un algoritmo «grafico» Dallo schema E/R, si creano gruppi di entità e/o relazioni come segue: A partire da una entità o relazione dello schema E/R, si aggregano nel gruppo tutte le relazioni/entità legate con cardinalità unaria massima Ogni entità o relazione non aggregata deve diventare un nuovo gruppo I gruppi individuati corrispondono alle tabelle da creare Gli attributi di ciascuna tabella variano a seconda del «contenuto» del gruppo 15

Algoritmo «grafico» (1) Partiamo da una qualunque entità e incorporiamo le relazioni/entità quando la cardinalità è di tipo (1,1) 16

Algoritmo «grafico» (2) Anche l altra entità e la relazione stessa è stata inglobata ottenendo un unica relazione 1. questionari_studenti(matricola, sesso, eta, r1, r2, r3, r4, r5, r6, r7, r8, r9) 17

Algoritmo «grafico» (3) Per completare questo passo, è inoltre importante specificare il tipo di dato che verrà usato per memorizzare le istanze dei vari attributi questionari_studenti(matricola; sesso; eta; r1; r2; r3; r4; r5; r6; r7; r8; r9) matricola: int sesso: char(1) eta: int r1... r9: int 18

Algoritmo «grafico»: analisi geografica Partiamo dall entità «paziente» e procediamo con le relazioni... 19

Algoritmo «grafico» analisi geografica 20 La relazione «risiede» è stata aggregata all entità «paziente» in un gruppo

Primo blocco Entità patologia Relazione patologie(codice, drg, diagnosi_principale) 21

Secondo blocco Entità sede_elettorale Relazione: sedi_elettorali (numero, distanza, votanti) 22

Quarto blocco Relazione soffre soffre(numero_paziente,codice_patologia) 23

Conversioni delle entità singole 24 Per le entità singole patologia e sede elettorale, si creano due relazioni 1. patologie(codice, drg, diagnosi principale) 2. sedi_elettorali (numero, distanza, votanti)

Conversioni dei gruppi Per l entità paziente e la relazione risiede, si crea una relazione 1. pazienti(numero, sesso, eta, numero_sede_elettorale) dove numero_sede_elettorale è una chiave esterna 25

Conversioni delle relazioni singole 26 Per la relazione singola soffre, si crea una relazione 1. soffre(codice patologia, numero paziente) dove la coppia_codice patologia e numero_paziente è la chiave primaria

Lo schema relazionale Abbiamo identificato quindi quattro tabelle: 1. patologie(codice; drg; diagnosi principale) codice: int drg: char(3) diagnosi_principale: char(50) 2. sedi_elettorali (numero; distanza; votanti) numero: int distanza: float votanti: int 3. pazienti(numero; sesso; eta; numero_sede_elettorale) numero: int sesso: char(1) eta: int numero_sede_elettorale: int (stesso tipo di sedi_elettorali.numero) 4. soffre(codice patologia; numero paziente) codice patologia: int (stesso tipo di patologie.codice) numero paziente: int (stesso tipo di pazienti.numero) 27

Lo schema relazionale Abbiamo identificato quindi quattro relazioni: 1. patologie(codice, drg, diagnosi principale) 2. sedi_elettorali (numero, distanza, votanti) 3. soffre(codice patologia, numero paziente) 4. pazienti(numero, sesso, eta, numero sede elettorale) Sono ovviamente le stesse che abbiamo trovato utilizzando l algoritmo non grafico. 28

Esercizio Disegnare lo schema E/R e passare allo schema relazionale. Si studiare l organizzazione ospedaliera per un'azienda sanitaria locale, tenendo traccia delle seguenti informazioni: gli ospedali sono caratterizzati da un codice identificativo, dal nome e dall'indirizzo i dipendenti di ciascun ospedale sono caratterizzati dalla matricola (univoca all'interno dell'ospedale), dal cognome, dal nome, dalla data di nascita, dall'indirizzo e dal numero di figli a carico. I dipendenti sono suddivisi in medici (di cui si conosce l'elenco delle specialità conseguite), dagli impiegati amministrativi (di cui si conosce la mansione) e dagli infermieri. l'ospedale è suddiviso in reparti, caratterizzati da un codice, un nome, il numero di posti letto disponibili. Per ogni reparto, si conosce inoltre il medico che ne e' il primario ed i dipendenti che vi lavorano. ciascuno reparto può gestire delle sale operatorie di cui è noto un codice identificativo, il nome ed il numero di tavoli operatori disponibili. 29

Esercizio Disegnare lo schema E/R e passare allo schema relazionale. Si vuole rappresentare la gestione della maternità di un reparto di ostetricia/ginecologia di un ospedale. Per ogni madre si conosce il nome, l età, il tipo di parto effettuato (cesareo o naturale), il numero di letto e di stanza, eventuali malattie. Per ogni bambino si conosce il nome, la madre, il numero di lettino, la dieta (quantità di latte al giorno). Inoltre si conoscono i turni del personale, che si divide in medici, ostetriche ed infermieri. Di ogni componente del personale si conoscono il nome, il numero di matricola, il turno (per ogni giorno della settimana le ore di presenza e le stanze a cui è assegnato). Per i medici si conoscono i pazienti di cui si occupano, che possono anche essere indipendenti dalle stanze che gli sono assegnate. Per ogni ostetrica si conoscono le madri assistite durante il parto. I medici possono essere ginecologi o pediatri. 30

Esercizio Si progetti una base di dati che contenga le informazioni necessarie per la gestione dell agenda degli appuntamenti di un medico di base. Il sistema a cui si sta pensando deve consentire al medico di: gestire gli appuntamenti dal lunedì al venerdì, a partire dalle ore 8:00 alle ore 19:00. (fissare gli appuntamenti, visionare gli appuntamenti, rimuovere un appuntamento); ogni appuntamento dura 1 ora. gestire le informazioni ricevute dal telefono durante la conversazione telefonica gestire le informazioni relative alle prescrizioni terapeutiche annotare i dati dei pazienti all interno dell agenda, per poter gestire gli appuntamenti di una intera settimana. Per ogni paziente si dovranno memorizzare il nome, cognome,l anno di nascita; Il sistema dovrà fornire al medico: 1. la lista dei pazienti visitati nel mese precedente 2. la lista degli appuntamenti presi per il mese corrente 3. per ogni paziente la lista di tutti gli appuntamenti presi e delle visite eseguite 4. la lista dei farmaci prescritti 5. selezionato il paziente Pippo, la lista dei Codici Impegnativa emessi per la prescrizione dei farmaci in terapia. 31 Lezione IV - BioIngInfMed

Esempi Si convertano in schema relazionale gli esempi di schemi E/Rintrodotti precedentemente Codici ICD-10 Biblioteca Calcolo delle spese - in termini di DRG - all'interno di un ospedale Valutazione dei servizi ospedalieri Analisi delle acque 34