CORSO di INFORMATICA e ARCHIVIAZIONE
|
|
|
- Ernesto Berti
- 9 anni fa
- Просмотров:
Транскрипт
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
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 14 maggio 2009 1 Progettazione di basi di dati Si vuole
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
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 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 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
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 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 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
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 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 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 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 Sommario Introduzione Istruzione SELECT Tipi di Join Subquery Comandi DML Creazione delle tabelle Introduzione
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 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 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 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. 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.
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 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 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 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 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 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 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 - 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--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 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 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 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 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
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) 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 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, 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 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 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:
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
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. 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 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 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 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 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 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)
