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

ESAME di INFORMATICA e ARCHIVIAZIONE

Basi di Dati Corso di Laura in Informatica Umanistica

ESAME di INFORMATICA e ARCHIVIAZIONE

Si formulino le seguenti interrogazioni tramite il linguaggio SQL:

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

M733 ESAME DI STATO DI ISTITUTO TECNICO COMMERCIALE CORSO DI ORDINAMENTO

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

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

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

Volumi di riferimento

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

Basi di dati II prova intermedia 16 Marzo 2006 Compito 1

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

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:

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

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

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

Data management a.a Il linguaggio SQL

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

Corso di Laboratorio di Basi di Dati

Informatica (Basi di Dati)

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

Prova Scritta di Basi di Dati

SQL: definizione schema

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

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

Un DataBase SQL per la Henry Books

Basi Di Dati, 09/12/2003

Prova scritta. Mercoledì 23 Luglio Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2007/2008

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

Esame di stato 2004 Portfolio studente

Progetto di basi di dati Laboratorio di diagnosi mediche

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

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

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

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

11 - Progettazione Logica

Giovanna Rosone 04/03/ /03/2010 SQL, Istruzioni per la modifica dello schema

PROGRAMMA DI CLASSE 5AI

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

Capitolo 13. Interrogare una base di dati

Esercitazione di Basi di Dati

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

Progettazione logica relazionale (1/2)

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

CAPITOLO 4 ESERCIZI SU SQL

SQL. Linguaggio di interrogazione per basi di dati relazionali. Relazione = tabella con attributi (a 1, a 2,, a n ): Funzionalità principali di SQL:

MAX, SUM, AVG, COUNT)

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

Definizione di domini

Istruzioni DML di SQL

Vincoli di Integrità

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

Vincoli di Integrità Approccio dichiarativo alla loro implementazione

Progetto Logos - Documentazione -

Basi di Dati Relazionali

Basi di dati Progettazione logica. Elena Baralis Politecnico di Torino

Prova scritta. Mercoledì 11 Febbraio Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2007/2008

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Progettazione di Database. Un Esempio

SQL (STRUCTURED QUERY LANGUAGE)

Linguaggio SQL. Structured Query Language

Esercizio sui data base "Gestione conti correnti"

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

Esame Basi di Dati. 21 Gennaio 2013

Progettazione Logica. Progettazione Logica

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)

Il Modello Relazionale

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

Progettazione di Database

Esercizio ER 1. Soluzione ER 1

Corso di Informatica (Basi di Dati)

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7

DBMS (Data Base Management System)

1 Database universitario 1.1 Elenco tabelle PERSONA (ID, is_studente, is_docente, nome, cognome) STUDENTE (matricola, persona references persona(id))

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

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

********************* MODIFICA STRUTTURA DI UNA TABELLA (inserimento di un nuovo campo) ALTER TABLE Personale ADD Nascita date;

Capitolo 4. Soluzione: Soluzione: Create domain STRING as character varying (256) default sconosciuto not null

SQL. DDL e vincoli. Basi di Dati 1 Esercitazione 4. Matteo Picozzi {picozzi@elet.polimi.it}

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

Esercitazione 1. Sistemi Informativi T. Versione elettronica: L01.2.DDLDMLbase.pdf

Database per la gestione delle ferrovie dello stato. I treni gestiti sono identificati da un numero. Su ciascun treno sono specificate le classi per

SQL - Funzioni di gruppo

Le Basi di Dati. Le Basi di Dati

Basi di dati 9 febbraio 2010 Compito A

CORSO di INFORMATICA e ARCHIVIAZIONE

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

Biglietti e Ritardi: schema E/R

Basi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale

Progettazione concettuale

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

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:

Domini elementari, 2. Basi di dati. Domini elementari, 4. Domini elementari, 3. Domini definiti dagli utenti. Domini elementari, 5

BASI DI DATI - : I modelli di database

DATABASE RELAZIONALI

Транскрипт:

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 28 settembre 2011 1 Progettazione di basi di dati Si vuole progettare il sistema informativo per la gestione delle informazioni relative alle malattie studiate presso un centro di ricerca. In particolare, si vuole mantener traccia delle informazioni relative alle malattie studiate: il nome, la descrizione ed eventuali sintomi (anche più di uno). Per ogni malattia si vuole memorizzare le informazioni relative ai pazienti studiati, con la data della prima manifestazione e l eventuale terminazione. Per ognuno si vuole memorizzare il nome, il cognome, il codice fiscale, il numero della tessera sanitaria, la data di nascita, l indirizzo di residenza (città, via, numero) e uno o più numeri di telefono. Tenere presente che lo stesso paziente potrebbe essere oggetto di studio rispetto a diverse malattie. Infine, nel centro vengono eseguiti diversi tipi di esami. Per ogni paziente si vuole mantener traccia degli esami effettuati o in programma. Per ciascun esame deve essere memorizzato il tipo di esame, la data e l ora di esecuzione, la relativa rilevazione (che a seconda del tipo di esame può essere uno valore numerico o una descrizione testuale) e un 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 Progettazione logica Apportare le necessarie modifiche di ristrutturazione allo schema Entità-Relazioni prodotto e tradurlo nello schema logico relazionale. Ristrutturazione: 1. attributo composto: l attributo indirizzo dell entità PAZIENTE vengono scomposti nei diversi attributi semplici che li compongono; 2. attributi multivalore: l attributo telefono dell entità PAZIENTE è sostituito dall entità TELEFONO e dalla relativa relazione che lo lega all entità PAZIENTE e l attributo sintomo dell entità MALATTIA è sostituito dall entità SINTOMO e dalla relativa relazione che lo lega all entità MALATTIA; 3. specializzazione dell entità MALATTIA: supponendo che l accesso ai dati dei risultati degli esami sia fatta indipendentemente dal tipo di esame si è deciso di mantenere solo il padre della specializzazione, eliminando le figlie. Lo schema ER ristrutturato è rappresentato in Figura 2. 2

Figura 2: Schema ER ristrutturato Traduzione: 1. entità: P AZIEN T E(codiceF iscale, nome, cognome, citta, via, numero, tesserasanitaria, datan ascita) nome, cognome, citta, via, numero, tesserasanitaria, datanascita NOT NULL tesserasanitaria UNIQUE (chiave alternativa a codicefiscale) T ELEF ON O(numero) M ALAT T IA(nome, descrizione) desrizione NOT NULL SIN T OM O(descrizione) ESAM E(data, ora, tipoesame, esito, valore, descrizione) tipoesame NOT NULL 2. relazioni UNO-A-MOLTI (estensione delle tabelle precedenti): relazione effettua: ESAM E(data, ora, tipoesame, esito, valore, descrizione, paziente) tipoesame, paziente NOT NULL 3

fk (paziente) references PAZIENTE(codiceFiscale) 3. relazioni MOLTI-A-MOLTI (nuove tabelle): relazione ha: HA(paziente, telef ono) fk (paziente) references PAZIENTE(codiceFiscale) fk (telefono) references TELEFONO(numero) relazione presenta: P RESEN T A(paziente, malattia, primam anif estazione, terminazione) primamanifestazione NOT NULL fk (paziente) references PAZIENTE(codiceFiscale) fk (malattia) references MALATTIA(nome) relazione evidenza: P RESEN T A(malattia, sintomo) fk (malattia) references MALATTIA(nome) fk (sintomo) references SINTOMO(descrizione) 4

2 Modello relazionale e linguaggio SQL Si consideri il seguente schema logico relazionale: OSP EDALE(codice, nome, comune, via, annof ondazione) REP ART O(ospedale, nome, nomep rimario, cognomep rimario, dataapertura) ST ANZA(ospadale, reparto, numerostanza, numeroletti, televisore) 1 Definire preliminarmente le chiavi primarie e i vincoli di chiave esterna sulle relazioni date. OSP EDALE(codice, nome, comune, via, annof ondazione) REP ART O(ospedale, nome, nomep rimario, cognomep rimario, dataapertura) fk (ospedale) references OSPEDALE(codice) ST AN ZA(ospadale, reparto, numerostanza, numeroletti, televisore) fk (ospedale, reparto) references REPARTO(ospedale, reparto) Successivamente, supponendo di aver già creato le tabelle OSPEDALE e REPARTO, formulare l istruzione SQL per la creazione della tabella STAN- ZA con tutti i vincoli necessari. CREATE TABLE STANZA( o s p e d a l e CHAR( 5 ), r e p a r t o VARCHAR( 2 0 ), numerostanza INTEGER, numeroletti INTEGER NOT NULL, t e l e v i s o r e BOOLEAN NOT NULL, PRIMARY KEY ( ospedale, reparto, numerostanza ), FOREIGN KEY ( ospedale, r e p a r t o ) REFERENCES REPARTO( ospedale, r e p a r t o ) ) Infine, formulare opportune interrogazioni nel linguaggio SQL che permettano di determinare: 1. il numero totale dei letti dell ospedale con codice OSP05 SELECT SUM( numeroletti ) FROM REPARTO WHERE o s p e d a l e= OSP05 2. il nome e il comune degli ospedali in cui c è almeno un primario con cognome Rossi SELECT DISTINCT OSPEDALE. nome, comune FROM OSPEDALE, REPARTO WHERE OSPEDALE. c o d i c e=reparto. o s p e d a l e AND cognomeprimario= Rossi 1 televisore è un attributo booleano 5

SELECT OSPEDALE. nome, comune FROM OSPEDALE JOIN REPARTO ON OSPEDALE. c o d i c e=reparto. o s p e d a l e WHERE cognomeprimario= Rossi 3. il codice degli ospedali che hanno almeno due reparti aperti dopo il 31/12/2009 (possibilmente senza usare funzioni aggregate) SELECT DISTINCT R1. o s p e d a l e FROM REPARTO AS R1, REPARTO AS R2 WHERE R1. o s p e d a l e = R2. o s p e d a l e AND R1. nome > R2. nome AND R1. dataapertura > 31/ 12/ 2009 AND R2. dataapertura > 31/ 12/ 2009 SELECT o s p e d a l e FROM REPARTO WHERE dataapertura > 31/ 12/ 2009 GROUP BY o s p e d a l e HAVING COUNT( ) >1 4. il nome e il cognome dei primari dei reparti che non hanno nessuna stanza con il televisore e il cui ospedale di appartenenza è stato fondato prima del 1980 (si assuma che non esistano due primari omonimi per nome e cognome) FROM OSPEDALE JOIN REPARTO ON c o d i c e=o s p e d a l e WHERE annofondazione < 1980 EXCEPT FROM REPARTO JOIN STANZA ON REPARTO. o s p e d a l e=stanza. r e p a r t o AND REPARTO. nome=stanza. r e p a r t o WHERE t e l e v i s i o n e FROM OSPEDALE JOIN REPARTO ON c o d i c e=o s p e d a l e WHERE annofondazione < 1980 AND ( ospedale,reparto. nome) NOT IN ( SELECT ospedale, r e p a r t o FROM STANZA WHERE t e l e v i s i o n e ) FROM OSPEDALE JOIN REPARTO ON c o d i c e=o s p e d a l e WHERE annofondazione < 1980 AND NOT EXISTS ( SELECT FROM STANZA WHERE o s p e d a l e=reparto. o s p e d a l e AND r e p a r t o=reparto. nome AND t e l e v i s i o n e ) 6