CORSO di INFORMATICA e ARCHIVIAZIONE

Размер: px
Начинать показ со страницы:

Download "CORSO di INFORMATICA e ARCHIVIAZIONE"

Транскрипт

1 UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Medicina e Chirurgia CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA CORSO di INFORMATICA e ARCHIVIAZIONE Caso di Studio Progettazione di basi di dati Si vuole progettare il sistema informativo per la gestione dei dati di un centro di radiologia. Si vuole mantenere traccia delle informazioni relative ai diversi pazienti: codice fiscale, nome, cognome, data di nascita, indirizzo di residenza (via, numero, città, cap) e uno o più numeri di telefono. Per ogni paziente si vuole tener traccia delle informazioni relative alla tessera sanitaria con CRA, gruppo sanguigno, allergie di cui soffre (con codice e descrizione) e i vaccini somministrati con le date relative. Ad ogni visita radiologica, della quale si mantiene traccia della data e dell ora dell appuntamento, della sala in cui viene effettuata e del paziente a cui si riferiscono, viene associato un fascicolo (archivio cartaceo). Ogni fascicolo, a cui è associata anche la diagnosi, contiene diverse immagini radiologiche. Per ogni immagine si vuole mantenere traccia dell ora di esecuzione e della zona del corpo interessata. Per ogni sala si ha un numero identificativo e il macchinario in esso presente. Le immagini prodotte dal centro possono essere di due tipi: radiografia convenzionale (RX), tomografia computerizzata (TC). Nel caso di TC si mantiene traccia anche del tipo di esame (assiale, spirale o multistrato) e dell eventuale mezzo di contrasto (tipo e quantitativo). 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à (identificando le possibili chiavi) e relazione. Vanno specificati accuratamente i vincoli di cardinalità e partecipazione di ciascuna relazione. 1

2 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. ridondanze: la relazione COMP OST A fra le entità CART ELLA e F ASCICOLO risulta essere una relazione ridondante in quanto la cartella non contiene altro che l insieme dei fascicoli associati allo stesso paziente a cui è associata 2. specializzazioni: supponendo che i dati relativi alle immagini siano acceduti indipendentemente dalla loro tipologia si decide di mantenere il genitore della specializzazione ed eliminare le figli, le cui proprietà vengono portate al padre con le dovute modifiche dei vincoli. 3. attributi composti: attributo indirizzo dell entità P AZIEN T E 4. attributi multivalore: attributo telef ono dell entità P AZIEN T E e attributo data della relazione SOMMINIST RAZIONE 2

3 Figura 2: Schema ER ristrutturato Lo schema ER ristrutturato è rappresentato in Figura 2. Inoltre, viste la presenza di diverse relazioni di tipo UNO A UNO in cui una delle due relazioni risulta avere nessuno a al più un attributo caratterizzante specifico risulta essere un passo immediato l accorpamento di diverse entità (passo che comunque potrebbe derivare dalla traduzione delle relazioni di tipo UNO A UNO): 1. entità P AZIENT E e CART ELLA; 2. entità P AZIENT E e T ESSERA SANIT ARIA ed 3. entità V ISIT A e F ASCICOLO; da cui è evidente la ridondanza della relazione composta. Inoltre, ritenendo che in ambito sanitario si faccia maggior riferimento al codice CRA che al codice fiscale, si opta per mantenere come identificatore primario l attributo CRA (i vincoli UNIQUE e NOT NULL dovranno comunque essere specificati sull attributo codicef iscale), da cui lo schema ER ristrutturato finale è rappresentato in Figura 3. Traduzione: 3

4 Figura 3: Schema ER ristrutturato 1. entità: P AZIEN T E(CRA, codicef iscale, nome, cognome, via, numero, citta, cap) codicefiscale, nome, cognome, via, numero, citta, cap NOT NULL codicefiscale UNIQUE ST AN ZA(numero, macchinario) V ISIT A(data, ora, stanza, diagnosi) IM M AGIN E(dataV, orav, stampa, ora, zonacorporea, tipot AC, tipocontrasto, quantitacontrasto) zonacorporea NOT NULL ALLERGIA(codice, nome, descrizione) nome NOT NULL 4

5 V ACCIN O(nome) T ELEF ON O(numero) DAT A(data) 2. relazioni UNO-A-MOLTI (estensione delle tabelle precedenti): relazione in: V ISIT A(data, ora, stanza, diagnosi) fk (stanza) references STANZA(numero) relazione fa: V ISIT A(data, ora, stanza, diagnosi, paziente) paziente NOT NULL fk (stanza) references STANZA(numero) fk (paziente) references PAZIENTE(CRA) relazione contiene: IM M AGIN E(dataV, orav, stanza, ora, zonacorporea, tipot AC, tipocontrasto, quantitacontrasto) zonacorporea NOT NULL fk (datav, orav, stanza) references VISITA(data, ora, stanza) 3. relazioni MOLTI-A-MOLTI (nuove tabelle): relazione hatel: ha(paziente, telef ono) fk (paziente) references PAZIENTE(CRA) fk (telefono) references TELEFONO(numero) relazione soffre: sof f re(paziente, allergia) fk (paziente) references PAZIENTE(CRA) fk (allergia) references ALLERGIA(codice) relazione somministrazione: somministrazione(paziente, vaccino, data) fk (paziente) references PAZIENTE(CRA) fk (vaccino) references VACCINO(nome) fk (data) references DATA(data) 5

6 2 Linguaggio SQL Creazione della base di dati Il sistema di gestione utilizzato è Oracle 10g nella versione Express Edition. Visti i domini messi a disposizione da tale sistema di gestione di basi di dati si è optato per considerare uniti gli attributi data ed ora con un dominio timestamp. CREATE TABLE PAZIENTE ( CRA CHAR( 6 ) PRIMARY KEY, cap CHAR( 5 ) NOT NULL, numero SMALLINT NOT NULL, c i t t a VARCHAR2( 2 0 ) NOT NULL, v i a VARCHAR2( 2 0 ) NOT NULL, c o d i c e F i s c a l e CHAR( 1 6 ) NOT NULL, cognome VARCHAR2( 2 0 ) NOT NULL, nome VARCHAR2( 2 0 ) NOT NULL, UNIQUE ( c o d i c e F i s c a l e ) CREATE TABLE ALLERGIA ( c o d i c e CHAR( 5 ), d e s c r i z i o n e VARCHAR2(200), PRIMARY KEY( c o d i c e ) ALTER TABLE ALLERGIA ADD nome VARCHAR2( 2 0 ) NOT NULL; CREATE TABLE VACCINO ( nome VARCHAR2( 1 0 ), PRIMARY KEY( nome) CREATE TABLE DATA ( data DATE, PRIMARY KEY( data ) CREATE TABLE TELEFONO ( t e l e f o n o VARCHAR2( 1 0 ), PRIMARY KEY( t e l e f o n o ) CREATE TABLE STANZA ( numero SMALLINT, macchinario VARCHAR2( 2 0 ), PRIMARY KEY( numero ) CREATE TABLE VISITA ( dataora TIMESTAMP, stanza SMALLINT, d i a g n o s i VARCHAR2(200), 6

7 p a z i e n t e CHAR( 6 ) NOT NULL, PRIMARY KEY( dataora, stanza ), FOREIGN KEY ( p a z i e n t e ) REFERENCES PAZIENTE, FOREIGN KEY ( stanza ) REFERENCES STANZA CREATE TABLE IMMAGINE ( dataorav TIMESTAMP, dataora TIMESTAMP, stanza SMALLINT, t i p o C o n t r a s t o VARCHAR2( 1 0 ), tipotc VARCHAR2( 1 0 ), quantitacontrasto NUMERIC( 5, 2 ), zonacorporea VARCHAR2( 1 0 ) NOT NULL, PRIMARY KEY( dataorav, dataora, stanza ), FOREIGN KEY ( dataorav, stanza ) REFERENCES VISITA CREATE TABLE s o f f r e ( a l l e r g i a CHAR( 5 ), p a z i e n t e CHAR( 6 ), PRIMARY KEY( a l l e r g i a, p a z i e n t e ), FOREIGN KEY ( a l l e r g i a ) REFERENCES ALLERGIA( c o d i c e ), FOREIGN KEY ( p a z i e n t e ) REFERENCES PAZIENTE(CRA) CREATE TABLE somministrazione ( data DATE, p a z i e n t e CHAR( 6 ), vaccino VARCHAR2( 1 0 ), PRIMARY KEY( data, paziente, vaccino ), FOREIGN KEY ( data ) REFERENCES DATA( data ), FOREIGN KEY ( p a z i e n t e ) REFERENCES PAZIENTE(CRA), FOREIGN KEY ( vaccino ) REFERENCES VACCINO(nome) CREATE TABLE hatel ( t e l e f o n o VARCHAR2( 1 0 ), p a z i e n t e CHAR( 6 ), PRIMARY KEY( t e l e f o n o, p a z i e n t e ), FOREIGN KEY ( t e l e f o n o ) REFERENCES TELEFONO( t e l e f o n o ), FOREIGN KEY ( p a z i e n t e ) REFERENCES PAZIENTE(CRA) Lo schema logico complessivo è sintetizzato graficamente in Figura 4. INSERT INTO STANZA ( numero, macchinario ) VALUES ( 1, macchinario per RX INSERT INTO STANZA ( numero, macchinario ) VALUES ( 2, macchinario per RX INSERT INTO STANZA ( numero, macchinario ) VALUES ( 3, macchinario per TC 7

8 Figura 4: Schema logico relazionale INSERT INTO ALLERGIA ( codice, nome, d e s c r i z i o n e ) VALUES ( 00001, pioppo, n u l l INSERT INTO ALLERGIA ( codice, nome) VALUES ( 10001, a c a r i INSERT INTO ALLERGIA ( codice, nome) VALUES ( 20001, l a t t e INSERT INTO ALLERGIA (nome, c o d i c e ) VALUES ( a s p i r i n a, INSERT INTO VACCINO (nome) VALUES ( tetano INSERT INTO VACCINO (nome) VALUES ( p e r t o s s e INSERT INTO VACCINO (nome) VALUES ( e p a t i t e b INSERT INTO VACCINO (nome) VALUES ( m o r b i l l o INSERT INTO VACCINO (nome) VALUES ( r o s o l i a INSERT INTO PAZIENTE (CRA, cap, numero, c i t t a, via, c o d i c e F i s c a l e, cognome, nome) VALUES ( MMM545, 33100, 5, Udine, Via Roma, RSSMRC77C60H816M, Rossi, Marco INSERT INTO PAZIENTE (CRA, cap, numero, c i t t a, via, c o d i c e F i s c a l e, cognome, nome) VALUES ( NNN545, 33010, 8, Tavagnacco, Via Udine, RSSNCL80H10H856H, Rossi, Nicola INSERT INTO PAZIENTE (CRA, cap, numero, c i t t a, via, c o d i c e F i s c a l e, cognome, nome) VALUES ( AAA545, 33100, 1, Udine, Via Roma, RSSANN77D60H654J, Rossi, Anna UPDATE PAZIENTE SET cognome= Bianchi, c o d i c e F i s c a l e= BNCANN77D60H654J WHERE CRA= AAA545 ; INSERT INTO s o f f r e ( a l l e r g i a, p a z i e n t e ) VALUES ( 00001, NNN545 INSERT INTO s o f f r e ( a l l e r g i a, p a z i e n t e ) VALUES ( 30001, NNN545 8

9 INSERT INTO s o f f r e ( a l l e r g i a, p a z i e n t e ) VALUES ( 10001, MMM545 INSERT INTO DATA( data ) VALUES ( t o d a t e ( , yyyymmdd ) INSERT INTO DATA VALUES ( t o d a t e ( , yyyymmdd ) INSERT INTO DATA VALUES ( t o d a t e ( , yyyymmdd ) INSERT INTO DATA VALUES ( t o d a t e ( , yyyymmdd ) INSERT INTO DATA VALUES ( t o d a t e ( , yyyymmdd ) INSERT INTO somministrazione ( data, paziente, vaccino ) VALUES ( t o d a t e ( , yyyymmdd ), MMM545, tetano INSERT INTO somministrazione ( data, paziente, vaccino ) VALUES ( t o d a t e ( , yyyymmdd ), MMM545, tetano INSERT INTO somministrazione ( data, paziente, vaccino ) VALUES ( t o d a t e ( , yyyymmdd ), NNN545, tetano INSERT INTO somministrazione ( data, paziente, vaccino ) VALUES ( t o d a t e ( , yyyymmdd ), NNN545, m o r b i l l o INSERT INTO somministrazione ( data, paziente, vaccino ) VALUES ( t o d a t e ( , yyyymmdd ), AAA545, e p a t i t e b INSERT INTO TELEFONO VALUES ( INSERT INTO TELEFONO VALUES ( INSERT INTO TELEFONO VALUES ( INSERT INTO TELEFONO VALUES ( INSERT INTO TELEFONO VALUES ( INSERT INTO hatel ( t e l e f o n o, p a z i e n t e ) VALUES ( , MMM545 INSERT INTO hatel ( t e l e f o n o, p a z i e n t e ) VALUES ( , MMM545 INSERT INTO hatel ( t e l e f o n o, p a z i e n t e ) VALUES ( , NNN545 INSERT INTO hatel ( t e l e f o n o, p a z i e n t e ) VALUES ( , NNN545 INSERT INTO hatel ( t e l e f o n o, p a z i e n t e ) VALUES ( , AAA545 INSERT INTO VISITA ( dataora, stanza, d i a g n o s i, p a z i e n t e ) VALUES ( to timestamp ( 2010/04/ : 0 0 : 0 0, YYYY/MM/DD HH: MI : SS ), 1, l i e v e c a l c i f i c a z i o n e a l l a s p a l l a dx, MMM545 INSERT INTO IMMAGINE ( dataora, dataorav, stanza, tipocontrasto, tipotc, quantitacontrasto, zonacorporea ) VALUES ( to timestamp ( 2010/04/ : 1 0 : 0 5, YYYY/MM/DD HH: MI : SS ), to timestamp ( 2010/04/ : 0 0 : 0 0, YYYY/MM/DD HH: MI : SS ), 1, n u l l, n u l l, n u l l, s p a l l a dx INSERT INTO IMMAGINE ( dataora, dataorav, stanza, tipocontrasto, tipotc, quantitacontrasto, zonacorporea ) VALUES ( to timestamp ( 2010/04/ : 1 1 : 1 0, YYYY/MM/DD HH: MI : SS ), to timestamp ( 2010/04/ : 0 0 : 0 0, YYYY/MM/DD HH: MI : SS ), 1, n u l l, n u l l, n u l l, s p a l l a sx INSERT INTO VISITA ( dataora, stanza, d i a g n o s i, p a z i e n t e ) 9

10 VALUES ( to timestamp ( 2011/04/ : 0 0 : 0 0, YYYY/MM/DD HH: MI : SS ), 2, nessuna l e z i o n e, MMM545 INSERT INTO IMMAGINE ( dataora, dataorav, stanza, tipocontrasto, tipotc, quantitacontrasto, zonacorporea ) VALUES ( to timestamp ( 2011/04/ : 0 9 : 4 5, YYYY/MM/DD HH: MI : SS ), to timestamp ( 2011/04/ : 0 0 : 0 0, YYYY/MM/DD HH: MI : SS ), 2, n u l l, n u l l, n u l l, g i n o c c h i o INSERT INTO IMMAGINE ( dataora, dataorav, stanza, tipocontrasto, tipotc, quantitacontrasto, zonacorporea ) VALUES ( to timestamp ( 2011/04/ : 1 1 : 2 4, YYYY/MM/DD HH: MI : SS ), to timestamp ( 2011/04/ : 0 0 : 0 0, YYYY/MM/DD HH: MI : SS ), 2, n u l l, n u l l, n u l l, g i n o c c h i o INSERT INTO VISITA ( dataora, stanza, d i a g n o s i, p a z i e n t e ) VALUES ( to timestamp ( 2010/07/ : 0 0 : 0 0, YYYY/MM/DD HH: MI : SS ), 3, l i e v e l e s i o n e, c o n s i g l i a t o r i p o s o, NNN545 INSERT INTO IMMAGINE ( dataora, dataorav, stanza, tipocontrasto, tipotc, quantitacontrasto, zonacorporea ) VALUES ( to timestamp ( 2010/07/ : 1 5 : 0 2, YYYY/MM/DD HH: MI : SS ), to timestamp ( 2010/07/ : 0 0 : 0 0, YYYY/MM/DD HH: MI : SS ), 3, l i q u i d o x, a s s i a l e,100, g i n o c c h i o INSERT INTO VISITA ( dataora, stanza, d i a g n o s i, p a z i e n t e ) VALUES ( to timestamp ( 2011/03/ : 0 0 : 0 0, YYYY/MM/DD HH: MI : SS ), 2, l i e v e l e s i o n e, AAA545 INSERT INTO IMMAGINE ( dataora, dataorav, stanza, tipocontrasto, tipotc, quantitacontrasto, zonacorporea ) VALUES ( to timestamp ( 2011/03/ : 1 3 : 5 4, YYYY/MM/DD HH: MI : SS ), to timestamp ( 2011/03/ : 0 0 : 0 0, YYYY/MM/DD HH: MI : SS ), 2, n u l l, n u l l, n u l l, gomito dx INSERT INTO IMMAGINE ( dataora, dataorav, stanza, tipocontrasto, tipotc, quantitacontrasto, zonacorporea ) VALUES ( to timestamp ( 2011/03/ : 2 1 : 3 4, YYYY/MM/DD HH: MI : SS ), to timestamp ( 2011/03/ : 0 0 : 0 0, YYYY/MM/DD HH: MI : SS ), 2, n u l l, n u l l, n u l l, gomito dx INSERT INTO VISITA ( dataora, stanza, d i a g n o s i, p a z i e n t e ) VALUES ( to timestamp ( 2011/04/ : 0 0 : 0 0, YYYY/MM/DD HH: MI : SS ), 3, n u l l, AAA545 Interrogazioni della base di dati Selezionare il nome e il cognome di tutti i pazienti. SELECT nome, cognome FROM p a z i e n t e Selezionare i cognomi di tutti i pazienti. SELECT cognome FROM p a z i e n t e 10

11 Selezionare i cognomi distinti di tutti i pazienti. s e l e c t DISTINCT cognome from p a z i e n t e Selezionare nome, cognome e codice fiscale di tutti i pazienti residenti a Udine in Via Roma. SELECT nome, cognome, c o d i c e f i s c a l e FROM p a z i e n t e WHERE v i a= Via Roma AND c i t t a= Udine Determinare i dati relativi alle immagini di tipo TC. SELECT FROM IMMAGINE WHERE t i p o t c IS NOT n u l l Determinare i dati relativi alle immagini di tipo RX. SELECT FROM IMMAGINE WHERE t i p o t c IS n u l l Determinare il codice delle allergie di cui soffre il sig. Marco Rossi. SELECT a l l e r g i a FROM paziente, s o f f r e WHERE cognome= Rossi AND nome = Marco AND cra=p a z i e n t e SELECT a l l e r g i a FROM p a z i e n t e JOIN s o f f r e ON cra=p a z i e n t e WHERE cognome= Rossi and nome = Marco Determinare il nome delle allergie di cui soffre il sig. Marco Rossi. SELECT a. nome FROM p a z i e n t e p, s o f f r e, a l l e r g i a a WHERE a l l e r g i a=c o d i c e AND cra=p a z i e n t e AND p. nome= Marco AND cognome= Rossi SELECT a l l e r g i a. nome FROM p a z i e n t e JOIN s o f f r e ON cra=p a z i e n t e JOIN a l l e r g i a ON a l l e r g i a=c o d i c e WHERE p a z i e n t e. nome= Marco AND cognome= Rossi Determinare i codici cra dei pazienti a cui è stato somministrato o il vacino del tetano o quello del morbillo. 11

12 SELECT DISTINCT p a z i e n t e WHERE vaccino= tetano OR vaccino= m o r b i l l o SELECT DISTINCT p a z i e n t e WHERE vaccino= tetano UNION SELECT DISTINCT p a z i e n t e WHERE vaccino= m o r b i l l o Determinare i codici cra dei pazienti a cui è stato somministrato sia il vaccino del tetano che quello del morbillo. SELECT DISTINCT p a z i e n t e WHERE vaccino= tetano INTERSECT SELECT DISTINCT p a z i e n t e WHERE vaccino= m o r b i l l o Determinare i codici cra dei pazienti a cui è stato somministrato solo il vaccino del tetano. SELECT DISTINCT p a z i e n t e WHERE vaccino= tetano MINUS SELECT DISTINCT p a z i e n t e WHERE vaccino<> tetano Determinare il codice cra, il nome e il cognome dei pazienti a cui è stato somministrato solo il vaccino del tetano. SELECT DISTINCT paziente, nome, cognome JOIN p a z i e n t e ON p a z i e n t e=cra WHERE vaccino= tetano MINUS SELECT DISTINCT paziente, nome, cognome JOIN p a z i e n t e ON p a z i e n t e=cra WHERE vaccino<> tetano s, p a z i e n t e p WHERE s. vaccino= tetano AND s. p a z i e n t e=p. cra AND s. p a z i e n t e NOT IN (SELECT p a z i e n t e WHERE vaccino<> tetano ) 12

13 s, p a z i e n t e p WHERE s. vaccino= tetano AND s. p a z i e n t e=p. cra AND NOT EXISTS (SELECT s i WHERE s i. vaccino<> tetano AND s. p a z i e n t e=s i. p a z i e n t e ) FROM p a z i e n t e WHERE cra IN (SELECT p a z i e n t e WHERE vaccino= tetano ) AND cra NOT IN (SELECT p a z i e n t e WHERE vaccino<> tetano ) SELECT cra, nome, cognome FROM p a z i e n t e WHERE EXISTS (SELECT WHERE vaccino= tetano AND cra=p a z i e n t e ) AND NOT EXISTS (SELECT WHERE vaccino<> tetano AND cra=p a z i e n t e ) Determinare il nome e il cognome dei pazienti che hanno fatto un immagine di tipo TC. SELECT DISTINCT P. nome, P. cognome FROM p a z i e n t e P, v i s i t a V, immagine I WHERE P. cra=v. p a z i e n t e AND V. dataora=i. dataorav AND V. stanza=i. stanza AND I. t i p o t c IS NOT NULL Determinare il numero delle visite programmate nella stanza 1. SELECT COUNT( ) FROM VISITA WHERE stanza=1 Determinare il numero delle visite programmate in ogni stanza. SELECT stanza, COUNT( ) FROM VISITA GROUP BY stanza 13

14 Determinare il numero delle stanze in cui sono state programmate almeno due visite. SELECT stanza, COUNT( ) FROM VISITA GROUP BY stanza HAVING COUNT( )>1 SELECT V1. stanza FROM v i s i t a V1, v i s i t a V2 WHERE V1. stanza=v2. stanza AND V1. dataora<v2. stanza Determinare il nome e il cognome dei pazienti che hanno programmato un unica visita. SELECT nome, cognome FROM PAZIENTE MINUS SELECT P. nome, P. cognome FROM v i s i t a V1, v i s i t a V2, p a z i e n t e P WHERE V1. p a z i e n t e=v2. p a z i e n t e AND (V1. dataora<>v2. dataora OR V1. stanza<>v2. stanza ) AND P. cra=v1. p a z i e n t e SELECT nome, cognome FROM PAZIENTE WHERE cra NOT IN ( SELECT V1. p a z i e n t e FROM v i s i t a V1, v i s i t a V2 WHERE V1. paziemte=v2. p a z i e n t e AND (V1. dataora<>v2. dataora OR V1. stanza<>v2. stanza ) ) 14

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 di INFORMATICA e ARCHIVIAZIONE 8 settembre 2011 1 Progettazione

Подробнее

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

UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Medicina e Chirurgia CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA ESAME UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Medicina e Chirurgia CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA ESAME 14 maggio 2009 1 Progettazione di basi di dati Si vuole

Подробнее

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 di INFORMATICA e ARCHIVIAZIONE 28 settembre 2011 1 Progettazione

Подробнее

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 di INFORMATICA e ARCHIVIAZIONE 22 giugno 2011 1 Progettazione

Подробнее

Basi di Dati Corso di Laura in Informatica Umanistica

Basi di Dati Corso di Laura in Informatica Umanistica Basi di Dati Corso di Laura in Informatica Umanistica Appello del 26/07/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione

Подробнее

Laboratorio di Basi di Dati Esercizio 8.4/9.1

Laboratorio di Basi di Dati Esercizio 8.4/9.1 Laboratorio di Basi di Dati Esercizio 8.4/9.1 Pierluigi Pierini Technolabs S.p.a. [email protected] Università degli Studi di L Aquila Dipartimento di Informatica Technolabs S.p.A. R&D Department

Подробнее

GESTIONE DEI REPARTI DI UN OSPEDALE

GESTIONE DEI REPARTI DI UN OSPEDALE UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Medicina e Chirurgia CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA GESTIONE DEI REPARTI DI UN OSPEDALE D. Gubiani marzo-aprile

Подробнее

Verifica di Informatica. Cognome e Nome: Classe 5ª Ci, Data

Verifica di Informatica. Cognome e Nome: Classe 5ª Ci, Data Verifica di Informatica Cognome e Nome: Classe 5ª Ci, Data Progettare la base di dati di una palestra. E necessario memorizzare le informazioni relative ai clienti che riguardano: codice fiscale, cognome

Подробнее

Basi di dati: appello 14/07/06

Basi di dati: appello 14/07/06 Basi di dati: appello 14/07/06 Si consideri il seguente schema di base di dati che vuole tenere traccia dell attività di un agenzia che affitta appartamenti per vacanze nella città di Varazze. CLIENTE

Подробнее

Concettuale. Giuseppe Amato

Concettuale. Giuseppe Amato Esercitazione Progettazione Concettuale 14 Aprile 2010 Giuseppe Amato Esercitazione Progettazione Concettuale Si considerino i i seguenti fttidi fatti interesse di un agenzia immobiliare. Immobili in vendita:

Подробнее

Esempio di database relazionale con l utilizzo del prodotto MySQL

Esempio di database relazionale con l utilizzo del prodotto MySQL Esempio di database relazionale con l utilizzo del prodotto MySQL Marco Liverani Aprile 2015 In queste pagine viene riportato in sintesi il progetto di un database relazionale esemplificativo con cui viene

Подробнее

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

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 1 OTTOBRE 2015 Tempo: 2h30m Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 1 OTTOBRE 2015 Tempo: 2h30m Si consideri il seguente schema di base di dati, che vuole memorizzare informazioni relative ai viaggi di lavoro

Подробнее

Esame di Basi di Dati, SOLUZIONE APPELLO 09/06/2009

Esame di Basi di Dati, SOLUZIONE APPELLO 09/06/2009 Esame di Basi di Dati, SOLUZIONE APPELLO 09/06/2009 1. Si effettui la progettazione concettuale della base di dati secondo la specifica che segue fornendo un diagramma ER. Un azienda che gestisce gli eventi

Подробнее

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA 3. Panoramica su SQL Prof. Mauro Giacomini Sommario Introduzione Istruzione SELECT Tipi di Join Subquery Comandi DML Creazione delle tabelle Introduzione

Подробнее

ESERCIZI SQL. Esercizio 1

ESERCIZI SQL. Esercizio 1 ESERCIZI SQL 2 Esercizio 1 3 Esercizio 1 4 Esercizio 1 Si specifichino le seguenti interrogazioni SQL sulla base di dati relazionale AZIENDA. Si mostri il risultato di ciascuna interrogazione. 1. Si restituisca

Подробнее

Basi di dati: appello 04/07/06

Basi di dati: appello 04/07/06 Basi di dati: appello 04/07/06 Si consideri il seguente schema di base di dati che vuole tenere traccia dei DVD noleggiati dai clienti di una videoteca: CLIENTE (CodiceFiscale, Cognome, Nome, Residenza)

Подробнее

BASE DI DATI. Esercizi Progettazione concettuale Progettazione logica. Informatica Umanistica Università di Pisa

BASE DI DATI. Esercizi Progettazione concettuale Progettazione logica. Informatica Umanistica Università di Pisa BASE DI DAI Esercizi Progettazione concettuale Progettazione logica Informatica Umanistica Università di Pisa Esercizio: Parcheggi Si consideri la seguente realtà riguardante una società di gestione dei

Подробнее

Corso di. Basi di Dati I. 11. Esercitazioni in SQL: Altri esercizi

Corso di. Basi di Dati I. 11. Esercitazioni in SQL: Altri esercizi Corso di Basi di Dati 11. Esercitazioni in SQL: Altri esercizi A.A. 2016 2017 Esempio: consideriamo le seguenti tabelle Articoli(Id, Nome, Colore) Fornitori(Id, Nome, Indirizzo) Catalogo(Articolo, Fornitore,

Подробнее

Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi.

Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi. Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi. Cognome: Nome: Matricola: Domanda 1 (15%) Considerare la base di dati relazionale contenente le seguenti relazioni:

Подробнее

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

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo. PROBLEMA. Un albergo di una grande città intende gestire in modo automatizzato sia le prenotazioni sia i soggiorni e realizzare un database. Ogni cliente viene individuato, tra l altro, con i dati anagrafici,

Подробнее

Soluzione esercitazione 01

Soluzione esercitazione 01 Soluzione esercitazione 01 Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SolEse01.pdf Sistemi Informativi L-A Videonoleggio - caso A: tabella

Подробнее

BASE DI DATI. Esercizio: Campionato corse Progettazione concettuale Progettazione logica. Informatica Umanistica Università di Pisa

BASE DI DATI. Esercizio: Campionato corse Progettazione concettuale Progettazione logica. Informatica Umanistica Università di Pisa BASE DI DAI Esercizio: Campionato corse Progettazione concettuale Progettazione logica Informatica Umanistica Università di Pisa Esercizio: campionato corse Si vuole costruire una base di dati che contenga

Подробнее

Basi di Dati. Esercitazione Algebra Relazionale e SQL. Ing. Paolo Cappellari. 15 maggio 2006

Basi di Dati. Esercitazione Algebra Relazionale e SQL. Ing. Paolo Cappellari. 15 maggio 2006 Basi di Dati Esercitazione Algebra Relazionale e SQL 15 maggio 2006 Ing. Paolo Cappellari Esercitazione Considerando la seguente base di dati: Fornitori (CodiceFornitore, Nome, Indirizzo, Città) Prodotti

Подробнее

Basi di Dati Corso di Laura in Informatica Umanistica

Basi di Dati Corso di Laura in Informatica Umanistica Basi di Dati Corso di Laura in Informatica Umanistica Appello del 10/09/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione

Подробнее

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE SQL e ACCESS Prof. Salvatore Multazzu ([email protected]) Applicazioni Informatiche nella comunicazione Modello relazionale Entità Record o Ennuple Attributi o Campi Tipi Chiavi Primarie (PK)

Подробнее

Dichiarazione degli schemi in SQL DDL 1

Dichiarazione degli schemi in SQL DDL 1 Dichiarazione degli schemi in SQL DDL 1 Storia di SQL Definito nell'ambito del progetto SYSTEM R (IBM S. JOSE) nel 1976 Nome originario: SEQUEL Adottato progressivamente da tutti i sistemi commerciali

Подробнее

Manuale SQL. Manuale SQL - 1 -

Manuale SQL. Manuale SQL - 1 - Manuale SQL - 1 - Istruzioni DDL Creazione di una tabella : CREATE TABLE Il comando CREATE TABLE consente di definire una tabella del database specificandone le colonne, con il tipo di dati ad esse associate,

Подробнее

ESERCITAZIONE: Fornitore-Fornisce-Articolo

ESERCITAZIONE: Fornitore-Fornisce-Articolo ESERCITAZIONE: Fornitore--Articolo PROGETTAZIONE CONCETTUALE Sia dato il diagramma ER rappresentativo di una certa realtà di interesse Cognome CodF Nome DataN CodA Descrizione Prezzo Fornitore N N E Fornito

Подробнее

Basi di dati I Prova di autovalutazione 30 ottobre 2014

Basi di dati I Prova di autovalutazione 30 ottobre 2014 Basi di dati I Prova di autovalutazione 3 ottobre 214 La prova verrà discussa in aula, prevedibilmente giovedì 6 novembre. Si consiglia di svolgerlo simulando l esame, sulla carta e senza ausilio di libri

Подробнее

PROGETTAZIONE DI DATABASE Linguaggio SQL

PROGETTAZIONE DI DATABASE Linguaggio SQL PROGETTAZIONE DI DATABASE Linguaggio SQL Modello Concettuale (Modellazione del mondo reale) Modello Logico (Definizione del tipo e del formato dei dati) Modello Fisico (Implementazione fisica su supporti

Подробнее

Basi di dati: appello 07/02/06

Basi di dati: appello 07/02/06 Basi di dati: appello 07/02/06 Si consideri il seguente schema di base di dati di una casa editrice: restauro (id_quadro, data, tipo intervento, c.f._restauratore, ora_inizio, ora _fine.) quadro (id, titolo,

Подробнее

Errata Corrige dell edizione 2007

Errata Corrige dell edizione 2007 Errata Corrige dell edizione 2007 Aggiornata al 30/03/2011 pag 11 ASSOCIAZIONI card(studente,esame)=(0,n) pag 17 IDENTIFICATORI Un identificatore di un entità E è una collezione di attributi e/o di entità

Подробнее

Fondamenti di Informatica 2

Fondamenti di Informatica 2 Matricola Nome Cog Firma Es.1 Es.2 Es.3 Es.4 Es.5 Tot. Esercizio 1 (6 punti) Data la seguente struttura dati: typedef struct{ int elementi[5][5]; int numerorighe; int numerocolonne; Matrice; Fondamenti

Подробнее

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) SQL quick reference piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) I tipi dei dati di SQL sono: delimitatori delle costanti: TEXT(n) stringa di caratteri

Подробнее

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2 Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2 Vincoli di integrita 2 Cosa e un vincolo di integrita E una proprieta sempre valida

Подробнее

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : SQL SQL originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia

Подробнее

BASE DI DATI. Esercizio: FACEBOOK Progettazione concettuale Progettazione logica. Informatica Umanistica Università di Pisa

BASE DI DATI. Esercizio: FACEBOOK Progettazione concettuale Progettazione logica. Informatica Umanistica Università di Pisa BASE DI DAI Esercizio: FACEBOOK Progettazione concettuale Progettazione logica Informatica Umanistica Università di Pisa Esercizio: Facebook Si considerino i seguenti fatti riguardanti una base di dati

Подробнее

Interrogazioni in SQL

Interrogazioni in SQL Interrogazioni in SQL Corso di Basi di Dati 4 dicembre 2013 1 Interrogazioni sullo schema aziendale 1. Ottenere i nomi dei dipartimenti dislocati in piú sedi. 2. Ottenere il numero di supervisori. 3. Produrre

Подробнее

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

Esprimere in algebra (ottimizzata), calcolo relazionale la seguente query: Basi di dati: appello 07/02/11 Si consideri il seguente schema di base di dati che vuole tenere traccia delle informazioni relative ad un sistema per il pagamento automatico del pedaggio autostradale.

Подробнее

Structured Query Language

Structured Query Language IL LINGUAGGIO SQL Structured Query Language Contiene sia il DDL sia il DML, quindi consente di: Definire e creare il database Effettuare l inserimento, la cancellazione, l aggiornamento dei record di un

Подробнее

Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti.

Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti. Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti. Cognome: Nome: Matricola: Domanda 1 (20%) Considerare la base di dati relazionale contenente le seguenti relazioni:

Подробнее

Basi di dati: appello 28/02/06

Basi di dati: appello 28/02/06 Basi di dati: appello 28/02/06 Si consideri il seguente schema di base di dati che vuole tenere traccia della programmazione delle radio italiane: EMITTENTE (id, nome, frequenza, città.) SCALETTA (id_radio,

Подробнее

Sommario. Introduzione... 13

Sommario. Introduzione... 13 Sommario Introduzione... 13 1. Database pro e contro... 19 A cosa serve conoscere i database?...19 Le alternative alla gestione manuale...22 Quando non serve un database?...24 Domande ed esercizi...26

Подробнее

SQL - Structured Query Language

SQL - Structured Query Language SQL - Structured Query Language Lab 05 Alessandro Lori Università di Pisa 27 Aprile 2012 Riepilogo esercitazione precedente Operatori insiemistici (UNION, INTERSECT, EXCEPT) Riepilogo esercitazione precedente

Подробнее

Progettazione logica

Progettazione logica Progettazione logica Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E- R in modo corretto ed efficiente. Richiede

Подробнее

Interrogazioni nidificate

Interrogazioni nidificate Interrogazioni nidificate Trovare nome, cognome e matricola degli studenti che non hanno fatto esami select Matricola,Nome,Cognome from studenti where matricola all (select studente group by studente)

Подробнее