ESAME di INFORMATICA e ARCHIVIAZIONE



Похожие документы
ESAME di INFORMATICA e ARCHIVIAZIONE

UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Medicina e Chirurgia CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA ESAME

Basi di Dati Corso di Laura in Informatica Umanistica

M733 ESAME DI STATO DI ISTITUTO TECNICO COMMERCIALE CORSO DI ORDINAMENTO

ESAME di INFORMATICA e ARCHIVIAZIONE

1. Schema concettuale della base di dati Lo schema concettuale (o statico) è uno dei due schemi del progetto concettuale di un sistema informativo.

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1

Prova Scritta di Basi di Dati

Capitolo 13. Interrogare una base di dati

Si formulino le seguenti interrogazioni tramite il linguaggio SQL:

Basi di dati Progettazione logica. Elena Baralis Politecnico di Torino

Basi di dati II prova intermedia 16 Marzo 2006 Compito 1

Corso di Basi di Dati A.A. 2014/2015

Progettazione logica relazionale (1/2)

Impresa di raccolta e riciclaggio di materiali metallici e di rifiuti.

Volumi di riferimento

Informatica (Basi di Dati)

Esame di Stato Istituto Tecnico Industriale Soluzione della Seconda Prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico:

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

1.Tutte 2.Spesso P.IVAe le CF volte che si visualizza i dati un fornitore si mostranoanche. La mensa. La mensa

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 21 LUGLIO 2015 Tempo: 2h30m

Basi di Dati Relazionali

11 - Progettazione Logica

Esercitazione 8 Mercoledì 21 gennaio 2015 (2 ore) DDL e progettazione

a) Si progetti uno schema concettuale Entità-Relazioni per lo scenario più sotto descritto.

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

PROGRAMMA DI CLASSE 5AI

Un DataBase SQL per la Henry Books

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

Esercitazione di Basi di Dati

a.a. 2012/13 12 Novembre 2012 Preparazione al Test in itinere, Compito A 1. Modellare tramite uno schema entità- relazione la seguente base di dati:

Corso Sistemi Informativi Avanzati. Programma 30 set Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

DBMS (Data Base Management System)

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 9 SETTEMBRE 2015 Tempo: 2h30m

marca (1,n) (1,1) nome prezzou prodotto nome responsabile quantità nome datai dataf (0,n) vendite (0,n) (0,n) (0,n) tempo acquisti quantità (0,n)

Esame di stato 2004 Portfolio studente

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"

SQL - Funzioni di gruppo

Progettazione Logica. Progettazione Logica

Corso di Laboratorio di Basi di Dati

I livelli di progettazione possono essere così schematizzati: Esistono tre tipi diversi di modelli logici: Modello gerarchico: Esempio SPECIFICHE

Esame di Basi di Dati, SOLUZIONE APPELLO 12/01/2010

Basi di Dati corso C Esercitazione 18/12/2002 Autonoleggio tempo: 3 ore

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Organizzazione degli archivi

INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3

Progettazione concettuale

Progetto Logos - Documentazione -

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

IL DAT A B A S E DI ALGE B R A N D O

Progetto di basi di dati Laboratorio di diagnosi mediche

Esercizio data base "Biblioteca"

Progettazione di una base di dati Ufficio della Motorizzazione

Basi di dati 30 settembre 2010 Compito A

Operazioni sui database

Associazioni. Informatica. Associazioni. Associazioni. Associazioni. Attributi. Possono esistere associazioni diverse che coinvolgono le stesse entità

Esercizio sui data base "Gestione conti correnti"

Esercitazione 7 Progettazione concettuale. Versione elettronica: L07.progConcettuale.pdf

Esame Basi di Dati. 21 Gennaio 2013

Basi di Dati. Progettazione del Modello ER. K. Donno - Progettazione del Modello ER

Esprimere in algebra (ottimizzata), calcolo relazionale la seguente query:

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

Basi Di Dati, 09/12/2003

Il Modello Relazionale

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

SQL: definizione schema

Le Basi di Dati. Le Basi di Dati

Basi di dati 9 febbraio 2010 Compito A

Database. Si ringrazia Marco Bertini per le slides

Vincoli di integrità

Progettazione di Database

Definizione di domini

N ORE LEZIONI FRONTALI: STUDIO INDIVIDUALE ( ) N ORE ESERCITAZIONI/LABORATORIO: STUDIO INDIVIDUALE ( )

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi

Modello dei Dati ENTITÀ-RELAZIONE (ENTITY-RELATIONSHIP) é l insieme di concetti, simboli, regole che useremo per rappresentare il modello concettuale

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Compito Basi di Dati. Tempo concesso: 90 minuti 08 Giugno 2006 Nome: Cognome: Matricola:

Sistemi per la gestione di database: MySQL ( )

BASI DI DATI - : I modelli di database

Il Modello Relazionale

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 23 Settembre 03 Nome: Cognome: Matricola:

Data management a.a Il linguaggio SQL

database: modello entityrelationship

DIPARTIMENTO IMPIEGATO PROGETTO SEDE. (0,1) (1,1) DIREZIONE Cognome. Codice. Telefono (0,1) (1,N) AFFERENZA. Stipendio (0,N) Nome (1,1) Età

Segreteria da campo. Database Relazionali

Lezione V. Aula Multimediale - sabato 29/03/2008

LABORATORIO di INFORMATICA

I Sistemi Informativi

Progettazione di Basi di Dati

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Schema della base di dati del Catalogo dei Dati della Pubblica Amministrazione Renzo Orsini

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati

MODELLO E/R. Modellazione dei dati

Prova scritta. Giovedì 02 Ottobre Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2007/2008

Progettazione di basi di dati. Progettazione di basi di dati. Ciclo di vita dei sistemi informativi. Fasi del ciclo di vita [1]

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Транскрипт:

UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Medicina e Chirurgia CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA ESAME di INFORMATICA e ARCHIVIAZIONE 22 giugno 2011 1 Progettazione di basi di dati Si vuole progettare il sistema informativo per la gestione delle informazioni relative agli interventi eseguiti dalla centrale operativa del 118. In particolare, si vuole mantener traccia delle informazioni relative ai mezzi a disposizione. Di essi si vuole tener traccia del tipo (automedica, ambulanza, elicottero...), matricola, targa (per automediche e ambulanze), data ultima revisione, numero passeggeri. Per ognuno di essi si vuole tener traccia dei dipendenti che possono guidarli. Per ognuno dei dipendenti si tiene traccia di nome, cognome, indirizzo di residenza (via, numero, comune) e uno o più numeri di telefono. I dipendenti possono essere autisti, medici o infermieri: per gli autisti si vuole tener traccia delle patenti possedute e per i medici della specializzazione conseguita. L obiettivo principale del sistema è memorizzare le informazioni relative agli interventi effettuati. Per ognuno si vuole memorizzare la data, l ora e il luogo dell intervento, i mezzi utilizzati con il conducente, i medici e gli infermieri intervenuti, la causa dell intervento (incidente automobilistico, incendio,...), il numero di persone coinvolte, la descrizione dell intervento e il relativo esito. Progettazione concettuale Definire uno schema Entità-Relazioni che descriva il contenuto informativo del sistema, illustrando con chiarezza le eventuali assunzioni fatte. Lo schema dovrà essere completato con attributi ragionevoli per ciascuna entità (indicando i possibili identificatori) e relazione. Vanno specificati accuratamente i vincoli di cardinalità e partecipazione di ciascuna relazione. 1

Figura 1: Schema ER NOTE: si suppone che non possano verificarsi più incidenti nello stesso luogo, alla stessa data e ora (il luogo è abbastanza dettagliato per permettere questo); si suppone che la matricola possa essere un identificativo del mezzo, univoco per qualsiasi tipo di mezzo; nel momento in cui viene richiesto un intervento, e quindi registrato, il numero di persone, la descrizione e l esito dell intervento non possono essere note per cui si sono introdotti degli attributi opzionali; la relazione ternaria IntervieneMezzo permette di memorizzare per ogni mezzo uscito in un intervento il relativo autista. Se si volesse sapere anche per ogni medico e per ogni infermiere su quale mezzo sono usciti in ogni intervento bisognerebbe aggiungere un appostita entità USCI- TA alla quale collegare con apposite tre relazioni mezzi e autista (1), medico (2) e infermiere (3). Progettazione logica Apportare le necessarie modifiche di ristrutturazione allo schema Entità-Relazioni prodotto e tradurlo nello schema logico relazionale. Ristrutturazione: 1. attributi composti: attributo indirizzo dell entità DIPENDENTE; 2. attributi multivalore: attributo telefono dell entità DIPENDENTE (si è presupposto che un numero sia associato unicamente ad un dipendente), attributo patente dell entità AUTISTA; 2

3. specializzazione dipendente: supponendo che il 118 acceda ai dati dei dipendenti raggruppati per tipo (serve un autista cerco un autista, serve un medico cerco un medico...) si è optato per eliminare l entità padre della specializzazione e mantenere le figlie. Si osservi che se la specializzazione fosse sovrapposta, ad esempio un medico potesse essere anche autista, tale ristrutturazione introdurrebbe ridondanza; 4. specializzazione mezzo: visto che esiste un unica proprietà propria dei mezzi targati che caratterizza comunque molti dei tipi di mezzi, acceduti indipendentemente dal fatto che siano targati o meno, si è deciso di mantenere solo il padre della specializzazione. Lo schema ER ristrutturato è rappresentato in Figura 2. Traduzione: 1. entità: Figura 2: Schema ER ristrutturato M EDICO(codiceF iscale, nome, cognome, comune, via, numero, specializzazione) nome, cognome, comune, via, numero, specializzazione NOT NULL IN F ERM IERE(codiceF iscale, nome, cognome, comune, via, numero) nome, cognome, comune, via, numero NOT NULL AU T IST A(codiceF iscale, nome, cognome, comune, via, numero) nome, cognome, comune, via, numero NOT NULL M EZZO(matricola, tipo, posti, datarevisione, targa) tipo, posti, datarevisione NOT NULL 3

IN T ERV EN T O(data, ora, luogo, numerop ersone, descrizione, esito) P AT ENT E(tipo) T ELEF ON O(numero) 2. relazioni UNO-A-MOLTI (estensione delle tabelle precedenti): relazione hai, ham e haa: T ELEF ON O(numero, inf ermiere, medico, autista) fk (infermiere) references INFERMIERE(codiceFiscale) fk (medico) references MEDICO(codiceFiscale) check(infermiere IS NOT NULL or (medico IS NULL and autista IS NULL)) check(medico IS NOT NULL or (infermiere IS NULL and autista IS NULL)) check(autista IS NOT NULL or (medico IS NULL or infermiere IS NULL)) 3. relazioni MOLTI-A-MOLTI (nuove tabelle): relazione possiede: P OSSIEDE(autista, patente) fk (patente) references PATENTE(tipo) relazione puoguidare: P U OGU IDARE(autista, mezzo) fk (mezzo) references MEZZO(matricola) relazione intervienemezzo 1 : INT ERV IENEMEZZO(autista, mezzo, data, ora, luogo) fk (mezzo) references MEZZO(matricola) fk (data,ora,luogo) references INTERVENTO(data,ora,luogo) relazione intervienem: INT ERV IENEM(medico, data, ora, luogo) fk (medico) references MEDICO(codiceFiscale) 1 Visto che in un certo intervento ogni mezzo ha un solo autista, la chiave primaria può essere definita esclusivamente sugli attributi che identificano le due entità mezzo e intervento. Nel caso generale bisognerebbe introdurre anche l attributo che identifica l autista. 4

fk (data,ora,luogo) references INTERVENTO(data,ora,luogo) relazione intervienei: INT ERV IENEI(infermiere, data, ora, luogo) fk (infermiere) references INFERMIERE(codiceFiscale) fk (data,ora,luogo) references INTERVENTO(data,ora,luogo) 2 Modello relazionale e linguaggio SQL Si consideri il seguente schema logico relazionale: P AZIEN T E(codiceF iscale, nome, cognome, datan ascita, grupposanguigno, Rh) MALAT T IA(codice, nome, descrizione, tipo, curabile) 2 SOF F RE(paziente, malattia, dalladata, alladata) Definire preliminarmente le chiavi primarie e le chiavi esterne delle relazioni date, tenendo presente che si vuole mantener traccia dello storico delle malattie di cui un paziente ha sofferto. P AZIEN T E(codiceF iscale, nome, cognome, datan ascita, grupposanguigno, Rh) M ALAT T IA(codice, nome, descrizione, tipo, curabile) SOF F RE(paziente, malattia, dalladata, alladata) fk (paziente) references PAZIENTE(codiceFiscale) fk (malattia) references MALATTIA(codice) Successivamente, supponendo di aver già creato le tabelle PAZIENTE e MALATTIA, formulare l istruzione SQL per la creazione della tabella SOF- FRE con tutti i vincoli necessari. CREATE TABLE SOFFRE( p a z i e n t e CHAR( 1 6 ), m a l a t t i a CHAR( 5 ), dalladata DATE, a lladata DATE, PRIMARY KEY ( paziente, malattia, dalladata ), FOREIGN KEY ( p a z i e n t e ) REFERENCES PAZIENTE( c o d i c e F i s c a l e ), FOREIGN KEY ( m a l a t t i a ) REFERENCES MALATTIA( c o d i c e ) ) Infine, formulare opportune interrogazioni nel linguaggio SQL che permettano di determinare: 2 curabile è un attributo booleani 5

1. il numero di pazienti che soffrono/hanno sofferto di almeno una malattia curabile SELECT COUNT(DISTINCT SOFFRE. p a z i e n t e ) FROM MALATTIA, SOFFRE WHERE MALATTIA. c o d i c e=soffre. m a l a t t i a AND MALATTIA. c u r a b i l e SELECT COUNT(DISTINCT SOFFRE. p a z i e n t e ) FROM MALATTIA JOIN SOFFRE ON MALATTIA. c o d i c e=soffre. m a l a t t i a WHERE MALATTIA. c u r a b i l e 2. il nome e il cognome dei pazienti che soffrono attualmente di mononucleosi (nome) SELECT PAZIENTE. nome, PAZIENTE. cognome FROM PAZIENTE, SOFFRE, MALATTIA WHERE PAZIENTE. c o d i c e F i s c a l e=soffre. p a z i e n t e AND SOFFRE. m a l a t t i a = MALATTIA. c o d i c e AND SOFFRE. nome = mononucleosi AND SOFFRE. alladata NULL SELECT PAZIENTE. nome, PAZIENTE. cognome FROM PAZIENTE JOIN SOFFRE ON PAZIENTE. c o d i c e F i s c a l e=soffre. p a z i e n t e JOIN SOFFRE. m a l a t t i a = MALATTIA. c o d i c e WHERE AND SOFFRE. nome = mononucleosi AND SOFFRE. alladata IS NULL IS 3. i codici fiscali delle persone che soffrono/hanno sofferto di almeno due malattie diverse (possibilmente senza usare funzioni aggregate) SELECT DISTINCT S1. p a z i e n t e FROM SOFFRE AS S1, SOFFRE AS S2 WHERE S1. p a z i e n t e = S2. p a z i e n t e AND S1. m a l a t t i a < S1. m a l a t t i a SELECT DISTINCT m a l a t t i a FROM SOFFRE GROUP BY p a z i e n t e HAVING COUNT( )>1 4. il codice fiscale dei pazienti che soffrono/hanno sofferto di malattie di tipo infettivo e che non soffrono di malattie non curabile FROM SOFFRE JOIN MALATTIA ON SOFFRE. m a l a t t i a = MALATTIA. c o d i c e WHERE MALATTIA. t i p o = i n f e t t i v a EXCEPT 6

FROM SOFFRE JOIN MALATTIA ON SOFFRE. m a l a t t i a = MALATTIA. c o d i c e WHERE MALATTIA. c u r a b i l e = f a l s e SELECT DISTINCT SOFFRE. p a z i e n t e FROM SOFFRE JOIN MALATTIA ON SOFFRE. m a l a t t i a = MALATTIA. c o d i c e WHERE MALATTIA. t i p o = i n f e t t i v a AND SOFFRE. p a z i e n t e NOT IN ( FROM SOFFRE JOIN MALATTIA ON SOFFRE. m a l a t t i a = MALATTIA. c o d i c e WHERE MALATTIA. c u r a b i l e = f a l s e ) SELECT c o d i c e f i s c a l e FROM PAZIENTE WHERE c o d i c e F i s d c a l e IN ( FROM SOFFRE JOIN MALATTIA ON SOFFRE. m a l a t t i a = MALATTIA. c o d i c e WHERE MALATTIA. t i p o = i n f e t t i v a ) AND c o d i c e F i s c a l e NOT IN ( FROM SOFFRE JOIN MALATTIA ON SOFFRE. m a l a t t i a = MALATTIA. c o d i c e WHERE MALATTIA. c u r a b i l e = f a l s e ) 7