ESAME di INFORMATICA e ARCHIVIAZIONE

Documenti analoghi
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

CORSO di INFORMATICA e ARCHIVIAZIONE

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

Basi di Dati Corso di Laura in Informatica Umanistica

GESTIONE DEI REPARTI DI UN OSPEDALE

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

Concettuale. Giuseppe Amato

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

Basi di dati: appello 14/07/06

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

Basi di dati: appello 07/02/06

Esame di Basi di Dati SOLUZIONE APPELLO 14/06/2011

Basi di dati I Prova di autovalutazione 30 ottobre 2014

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

Basi di dati: appello 04/07/06

Fondamenti di Informatica 2

Basi di Dati Corso di Laura in Informatica Umanistica

Laboratorio di Basi di Dati Esercizio 8.4/9.1

Fondamenti di Informatica 2 Simulazione d esame dell 11 Dicembre 2009

Basi di dati I 19 settembre 2016 Tempo a disposizione: un ora e 45 minuti.

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

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

Basi di dati Appello del Soluzione del compito B

Gestione e Analisi dei Dati. Lezione 2 Vincoli su attributo Selezioni semplici su una tabella

LA PROGETTAZIONE LOGICA

ESERCIZI SQL. Esercizio 1

SCHEMA E/R DI UNA UNIVERSITA'

Lezione 4. Dallo schema ER al relazionale

Interrogazioni nidificate

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

Basi di Dati: Elementi

Basi di dati: appello 28/02/06

Progettazione concettuale usando il modello Entità-Relazione (ER)

SQL - Structured Query Language

Basi di Dati. Esercitazione 1: Interrogazioni in SQL. K. Donno - Interrogazioni in SQL

Structured Query Language

Esercizi su Modello Relazionale

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: appello 21/09/12

SQL: definizione schema

M733 ESAME DI STATO DI ISTITUTO TECNICO COMMERCIALE CORSO DI ORDINAMENTO

Interrogazioni nidificate

Gestione NARRATIVA del 900

La progettazione logica Traduzione dal modello Entità-Associazione al modello relazionale Anno accademico 2008/2009

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

Basi di dati Appello del Compito A

GESTIONE MAGAZZINO 1

Soluzione esercitazione 01

Prova del 14/09/09. Considerare la seguente descrizione di un campeggio:

Basi di dati (nuovo ordinamento) 16 giugno 2008 Compito A

Business Intelligence

Gestione e Analisi dei Dati. Lezione 4 Relazioni multi tabella Relazioni uno-a-uno, uno-a-molti, molti-a-molti

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

Laboratorio di Basi di Dati

B a s i d i D a t i ( M o d u l o T e o r i a ) P r o v a s c r i t t a

Linguaggi Formali. Π nome (Π nome,c.f. (correttore c.f=c.f._correttore σ n_capitolo=5 bozza

GESTIONE MAGAZZINO 1

Esempio di database relazionale con l utilizzo del prodotto MySQL

Soluzione traccia Informatica simulazione d esame di Stato Istituto GAUSS. 15/04/2013

Interrogazioni in SQL

Basi di dati. Appello del Soluzione Compito A. Anno Accademico 2006/07. Problema 1

Basi di dati: appello 08/03/06

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

StudiodiunCaso. Roberto Basili,

Esercitazione 1: DB-MAIN e modello E/R

Ese1: DB-MAIN e modello E/R

Sommario. Introduzione... 13

Corso di Laurea in Informatica Basi di Dati a.a

SQL. Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative

Esercitazione di riepilogo sulle Query MySQL Giugno 2011 Classe VB Informatica

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

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

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

SOLUZIONE ESAME DI STATO 2015/2016 Indirizzo: ITSI - AMMINISTRAZIONE, FINANZA E MARKETING ARTICOLAZIONE SISTEMI INFORMATIVI AZIENDALI

Atzeni, Ceri, Paraboschi, Torlone Basi di dati

OBIETTIVI DELL'ESERCITAZIONE

Laboratorio di Basi di Dati

Un DataBase SQL per la Henry Books

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

Fabio Proietti (c) 2013 Licenza:

ed SQL 10 Novembre 2009

GESTIONE ABBONAMENTI RIVISTE

SCHEMA ER. Tutti i dati del carrello acquisti sono memorizzati nel database e quindi può essere costruito con più query.

Laboratorio di Basi di Dati prova totale 20 febbraio 2013

formulare in SQL una interrogazione per ciascuno dei seguenti punti:

PROGETTAZIONE DI DATABASE Linguaggio SQL

Basi di Dati. Esercitazione SQL. Paolo Papotti. 19 maggio 2005

Laboratorio di Basi di Dati

Basi di dati I 27 gennaio 2016 Esame Compito A Tempo a disposizione: un ora e quarantacinque minuti. Libri chiusi.

GESTIONE ASSICURAZIONI AUTO

Corso di Basi di Dati

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

Esercitazione seconda prova Esame di Stato Prova di Informatica Gestionale ITC Programmatori e Mercurio. Note introduttive

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

σ data 15/12/2013 data 20/12/2014

Laboratorio di Basi di Dati

Volumi di riferimento

PROVA SCRITTA DI TECNOLOGIA DATABASE 02/12/2004 Corso di Laurea Specialistica in Ingegneria Informatica - NOD PROF.

Transcript:

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 di basi di dati Si vuole progettare il sistema informativo per la gestione del magazzino dei medicinali utilizzati in un reparto ospedaliero. In particolare, si vuole mantener traccia delle informazioni relative ad ogni medicinale utilizzato/disponibile. Ogni tipo di medicinale ha un nome, un principio attivo, un produttore, un periodo di validità (es. 36 mesi) ed è di un particolare tipo (generico, etico,...). Ogni medicinale può essere disponibile in confezioni diverse con diversa forma (compresse, sospensione,...) e/o quantità (10, 20,...) di prodotto. Si vuole tener traccia di tutti i medicinali acquistati. Per ogni ordine di medicinali effettuato si vuole memorizzare la data, il fornitore, il quantitativo di ogni confezione di medicinale acquistato ed il relativo prezzo (che può variare da ordine a ordine). Dei fornitori si memorizza la partita iva, la ragione sociale, l indirizzo (città, via, numero) e uno o più numeri di telefono. Infine, ogni medicinale prelevato dal magazzino deve essere registrato. Per ogni prelievo si vuole memorizzare la data, la persona che effettua il prelievo e il quantitativo di confezioni prelevate. 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. Progettazione logica Apportare le necessarie modifiche di ristrutturazione allo schema Entità-Relazioni prodotto e tradurlo nello schema logico relazionale. 1

Figura 1: Schema ER Ristrutturazione: 1. attributi composti: l attributi indirizzo dell entità FORNITORE; 2. attributi multivalore: l attributo telefono dell entità FORNITORE; Lo schema ER ristrutturato è rappresentato in Figura 2. Traduzione: 1. entità: Figura 2: Schema ER ristrutturato M EDICIN ALE(nome, principioattivo, validita, produttore, tipo) principioattivo, produttore, tipo NOT NULL CON F EZION E(medicinale, f orma, quantita) P RELIEV O(id, data, persona) descrizione, tipo, apparato NOT NULL 2

ACQU IST O(id, data) data NOT NULL F ORN IT ORE(pIV A, ragionesociale, citta, via, numero) ragionesociale, citta, via, numero NOT NULL T ELEF ON O(numero) 2. relazioni UNO-A-MOLTI (estensione delle tabelle precedenti): relazione ha: T ELEF ON O(numero, f ornitore) fornitore NOT NULL fk (fornitore) references FORNITORE(pIVA) relazione appartiene: CON F EZION E(medicinale, f orma, quantita) fk (medicinale) references MEDICINALE(nome) relazione intestazione: ACQU IST O(id, data, f ornitore) data, fornitore NOT NULL fk (fornitore) references FORNITORE(pIVA) 3. relazioni MOLTI-A-MOLTI (nuove tabelle): relazione acquista: ACQU IST A(id, medicinale, f orma, quantitac, quantita, prezzo) quantita, prezzo NOT NULL fk (medicinale, forma, quantitac) references CONFEZIONE(medicinale, forma, quantita) fk (id) references PRELIEVO(id) relazione preleva: P RELEV A(id, medicinale, f orma, quantitac, quantita) quantita NOT NULL fk (medicinale, forma, quantitac) references CONFEZIONE(medicinale, forma, quantita) fk (id) references PRELIEVO(id) 3

2 Modello relazionale e linguaggio SQL Si consideri il seguente schema logico relazionale: OSP EDALE(codice, nome, citta, via, numero) REP ART O(ospedale, nome, dataapertura) M EDICO(codiceF iscale, nome, cognome, datan ascita, specializzazione, lavorain ospedale, lavorain reparto) Definire preliminarmente le chiavi primarie e i vincoli di chiave esterna sulle relazioni date. OSP EDALE(codice, nome, citta, via, numero) REP ART O(ospedale, nome, dataapertura) fk (ospedale) references OSPEDALE(codice) M EDICO(codiceF iscale, nome, cognome, datan ascita, specializzazione, lavorain ospedale, lavorain reparto) fk (lavorainospedale,lavorainreparto) references REPARTO(ospedale,nome) Successivamente, supponendo di aver già creato le tabelle OSPEDALE e REPARTO, formulare l istruzione SQL per la creazione della tabella MEDI- CO con tutti i vincoli necessari. CREATE TABLE MEDICO( c o d i c e F i s c a l e CHAR( 1 6 ), nome VARCHAR( 3 0 ) NOT NULL, cognome VARCHAR( 3 0 ) NOT NULL, datanascita DATE NOT NULL, s p e c i a l i z z a z i o n e VARCHAR( 3 0 ) NOT NULL, l a v o r a I N o s p e d a l e CHAR( 5 ) NOT NULL, l a v o r a I N r e p a r t o VARCHAR( 2 0 ) NOT NULL, PRIMARY KEY ( c o d i c e F i s c a l e ), FOREIGN KEY ( lavorainreparto, lavorainstanza ) REFERENCES REPARTO( ospedale, nome) ) Infine, formulare opportune interrogazioni nel linguaggio SQL che permettano di determinare: 1. il numero di medici che lavorano in ogni ospedale (codice identificativo dell ospedale) SELECT lavorainospedale, COUNT( ) GROUP BY l a v o r a I N o s p e d a l e ; 2. il codice e la città dell ospedale e il nome del reparto in cui lavorano medici specializzati in angiologia 4

SELECT DISTINCT codice, comune, MEDICO. l a v o r a I N r e p a r t o FROM OSPEDALE, MEDICO WHERE c o d i c e=l a v o r a I N o s p e d a l e AND s p e c i a l i z z a z i o n e= a n g i o l o g i a SELECT DISTINCT codice, comune, MEDICO. l a v o r a I N r e p a r t o FROM OSPEDALE JOIN MEDICO ON c o d i c e=l a v o r a I N o s p e d a l e WHERE s p e c i a l i z z a z i o n e= a n g i o l o g i a Volendo passare per la tabella REP ART O, che comunque non serve perché nella tabella M EDICO c è l attributo lavorain reparto che non è altro che il nome del reparto: SELECT DISTINCT codice, comune, REPARTO. nome FROM OSPEDALE, REPARTO, MEDICO WHERE c o d i c e=o s p e d a l e AND l a v o r a I N o s p e d a l e=o s p e d a l e AND l a v o r a I N r e p a r t o=reparto. nome AND s p e c i a l i z z a z i o n e= a n g i o l o g i a 3. le specializzazioni per cui esistono almeno due medici (possibilmente senza usare funzioni aggregate) SELECT DISTINCT P1. s p e c i a l i z z a z i o n e AS P1, MEDICO AS P2 WHERE P1. s p e c i a l i z z a z i o n e = P2. s p e c i a l i z z a z i o n e AND P1. c o d i c e F i s c a l e < P2. c o d i c e F i s c a l e SELECT s p e c i a l i z z a z i o n e GROUP BY s p e c i a l i z z a z i o n e HAVING COUNT( ) >1 4. l indirizzo (città, via e numero) degli ospedali che hanno il reparto di chirurgia (nome) ma non hanno nessun medico specializzato in Chirurgia pediatrica. FROM OSPEDALE JOIN REPARTO ON codiceasl=o s p e d a l e WHERE REPARTO. nome= C h i r u r g i a EXCEPT FROM OSPEDALE JOIN MEDICO ON codiceasl=o s p e d a l e WHERE s p e c i a l i z z a z i o n e= C h i r u r g i a p e d i a t r i c a FROM OSPEDALE JOIN REPARTO ON codiceasl=o s p e d a l e WHERE REPARTO. nome= C h i r u r g i a AND codiceasl NOT IN (SELECT o s p e d a l e WHERE s p e c i a l i z z a z i o n e= C h i r u r g i a p e d i a t r i c a ) 5