Caso di Studio: SITI CONTAMINATI

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Caso di Studio: SITI CONTAMINATI"

Transcript

1 UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Agraria CORSO DI LAUREA IN SCIENZE E TECNOLOGIE DELL AMBIENTE E DEL TERRITORIO Caso di Studio: SITI CONTAMINATI L Anagrafe dei siti da bonificare, come strumento delle Regioni per la gestione delle implicazioni di natura tecnica, amministrativa, finanziaria, su tale tipologia di servizio, è espressamente prevista dal vigente quadro normativo nazionale. Le regioni predispongono sulla base delle notifiche dei soggetti interessati ovvero degli accertamenti degli organi di controllo un anagrafe dei siti da bonificare che individui: - gli ambiti interessati, la caratterizzazione ed il livello degli inquinanti presenti; - i soggetti cui compete l intervento di bonifica; - gli enti di cui la regione intende avvalersi per l esecuzione d ufficio in caso di inadempienza dei soggetti obbligati; - la stima degli oneri finanziari. 1 Analisi dei requisiti semplificata L anagrafe dei siti contaminati si occupa della gestione dei dati relativi ai siti contaminati e alla loro bonifica. Ogni sito ha un codice identificativo e una porzione di terreno, geograficamente definita e delimitata, interessata dal procedimento di bonifica. Inoltre, per ogni sito si vuole tener traccia della data in cui si è constatato l esistenza del sito. Per svolgere la fase di caratterizzazione del sito bisogna fare una serie di indagini. I punti, detti punti di controllo, in cui avvengono le indagini possono trovarsi all interno del sito, o all interno di un suo intorno significativo di qualche chilometro di raggio. Due sono i motivi che portano alla 1

2 definizione di quest area: è necessario effettuare delle indagini estese per determinare in modo preciso la perimetrazione del sito; le indagini nelle aree vicine al sito permettono di tenere sotto controllo un eventuale estensione della contaminazione. Esistono diversi tipi di punti di controlli, ognuno con sue caratteristiche: - punti di prelievo: punti di prelievo dei campioni di terreno o di acque superficiali e/o sotterranee che vengono sottoposti ad analisi chimicofisiche o di altro genere di cui si vuole mantenere traccia della tipologia di campioni utilizzati (terreno o acqua); - pozzi: pozzi dai quali è possibile effettuare prelievi su acque sotterranee di cui si vuole tener traccia della profondità massima raggiungibile; - scavi: scavi prodotti per raggiungere strati sotterranei del sottosuolo di cui si vuole tener traccia della dimensione. I punti di controllo vengono rappresentati come semplici punti, con lo scopo di individuare le posizioni in cui sono situati. Diverse sostanze (sostanza contaminanti) possono essere rilevate nei diversi punti di controllo. Ognuna ha un valore limite entro il quale deve essere misurato e un livello di pericolosità. L insieme dei valori calcolati nei punti di controllo che superano i valori limite formano quella che prende il nome di matrice di contaminazione. Per ogni sito si vuole inoltre mantener traccia dei diversi interventi effettuati sui siti. Ogni intervento è identificato da un codice numerico, univoco per ogni sito, ha una data di inizio e una di fine attività, e riguarda una specifica tipologia di attività che può essere di tipo diverso: - messa in sicurezza d emergenza o permanente; - interventi di bonifica: ripristino ambientale, misure di sicurezza o prevenzione. Inoltre, per ogni intervento si vuole tener traccia dell ente che se ne è occupato. Degli enti si vuole memorizzare la denominazione, il codice fiscale, l indirizzo, e uno o più riferimenti telefonici. 2 Progettazione Concettuale Lo schema risultante dalla progettazione concettuale è rappresentato in Figura 1. Assunzioni fatte: - si suppone che un punto di controllo possa essere utilizzato per tenere sotto controllo una sola area bonificata 2

3 3 Progettazione logica Figura 1: Schema CGG. Il primo passo della progettazione concettuale consiste nella ristrutturazione dello schema concettuale che, a partire dallo schema rappresentato in Figura 1, considererà i seguenti punti: 1. attributo multivalore telefono dell entità AZIENDA: si introduce un entità TELEFONO che viene legata all entità AZIENDA mediante una relazione di tipo uno a molti; 2. attributo composto indirizzo dell entità AZIENDA: l attributo composto viene eliminato e sono mantenuti i singoli attributi semplici che lo compongono; 3. specializzazione dell entità PUNTOCONTROLLO: supponendo che i punti di controllo vengano acceduti principalmente in modo indipendente dalle loro specializzazione (es: quali sono i dati dei punti di controllo relativi ad una specifica area di bonifica? non ci interessa il tipo) si decide di eliminare le entità figlie della specializzazione e portare i diversi attributi al padre. Lo schema CGG ristrutturato risulta quindi essere quello rappresentato in Figura 2. 3

4 Figura 2: Schema CGG ristrutturato. Se consideriamo gli attributi derivati contaminazione e tipospec decidiamo di mantenere il primo su cui in generale ci sarà un unico inserimento senza successive modifiche e potrà ottimizzare interrogazioni quali il determinare i siti/anlisi su sostanze contaminanti oltre il limite. Decidiamo di eliminare invece il secondo che può essere derivato immediatamente dagli attributi dell entità stessa. Lo schema CGG ristrutturato risulta quindi essere quello rappresentato in Figura 3. Si può quindi procedere con traduzione vera e propria dello schema CGG ristrutturato sul modello logico relazionale esteso per il trattamento dei dati spaziali (gli attributi con nome geometria avranno infatti associato un dominio di tipo spaziale). 1. Procedendo con ordine, andiamo prima a tradurre tutte le entità: AREA BON IF ICAT A(codice, datainizio, dataf ine, the geom) datainizio, the geom NOT NULL INT ERV ENT O(codice, area, datainizio, dataf ine) datainizio, datafine NOT NULL T IP O(id, descrizione) descrizione NOT NULL 4

5 Figura 3: Schema CGG ristrutturato finale. AZIEN DA(codiceF iscale, denominazione, comune, via, numero, personarif erimento) denominazione, via, numero, comune NOT NULL T ELEF ON O(numero) P UNT O CONT ROLLO(id, profmax, dimensione, tipologia, the geom) the geom NOT NULL AN ALISI(data, ora, puntocontrollo) SOST AN ZA(nome, limite, pericolosita) limite, pericolosita NOT NULL 2. Quindi, consideriamo le relazioni di tipo uno a molti che apporteranno delle modifiche ad alcune delle precedenti tabelle: relazione esecuzione: INT ERV ENT O(codice, area, datainizio, dataf ine) datainizio, datafine NOT NULL fk (area) references AREA BONIFICA(codice) 5

6 relazione ha: T ELEF ON O(numero, azienda) azienda NOT NULL fk (azienda) references AZIENDA(codiceFiscale) relazione ditipo IN T ERV EN T O(codice, area, datainizio, dataf ine, azienda, tipo) inizio, tipo, azienda NOT NULL fk (area) references AREA BONIFICA(codice) fk (azienda) references AZIENDA(codiceFiscale) fk (tipo) references TIPO(id) relazione controlla: P UNT O CONT ROLLO(id, profmax, dimensione, tipologia, area, the geom) area, the geom NOT NULL fk (area) references AREA BONIFICA(codice) relazione analizza: AN ALISI(data, ora, puntocontrollo) fk (puntocontrollo) references PUNTO CONTROLLO(id) 3. Infine, introduciamo le tabelle necessarie per la traduzione delle relazioni molti a molti: relazione rilevamento: RILEV AM EN T O(puntocontrollo, dataanalisi, oraanalisi, sostanza, valore, contaminazione) valore, contaminazione NOT NULL fk (puntocontrollo,dataanalisi,oraanalisi) references ANALISI(puntocontrollo,data,ora) fk (sostanza) references SOSTANZA(nome) relazione esegue: ESEGU E(codiceIntervento, area, azienda) inizio, tipo, ente NOT NULL fk (codiceintervento, area) references INTERVENTO(codice,area) fk (azienda) references AZIENDA(codiceFiscale) Lo schema logico relazionale finale risulterà essere quindi quello rappresentato in Figura 4. 6

7 Figura 4: Schema logico relazionale. 4 Utilizzo del linguaggio SQL 4.1 Creazione della base di dati e n t i t à a r e a b o n i f i c a CREATE TABLE AREA BONIFICA( c o d i c e INTEGER PRIMARY KEY, d a t a I n i z i o DATE not n u l l, datafine DATE ) ; e n t i t à p u n t o c o n t r o l l o, r e l a z i o n e c o n t r o l l a CREATE TABLE PUNTO CONTROLLO( i d INTEGER PRIMARY KEY, t i p o l o g i a VARCHAR( 8 0 ) PRELIEVO, profmax NUMERIC( 5, 2 ) POZZO, dimensione NUMERIC( 5, 2 ) SCAVO, area INTEGER NOT NULL REFERENCES AREA BONIFICA( c o d i c e ), check ( t i p o l o g i a= acqua or t i p o l o g i a= t e r r e n o ) ) ; e n t i t à a n a l i s i, r e l a z i o n e a n a l i z z a CREATE TABLE ANALISI( data DATE, ora TIME, p u n t o c o n t r o l l o i n t e g e r r e f e r e n c e s PUNTO CONTROLLO( i d ), PRIMARY KEY( data, ora, p u n t o c o n t r o l l o ) ) ; e n t i t à s o s t a n z a CREATE TABLE SOSTANZA( nome VARCHAR( 8 0 ) PRIMARY KEY, l i m i t e NUMERIC( 5, 2 ) NOT NULL, p e r i c o l o s i t a NUMERIC( 2 ) NOT NULL ) ; e n t i t à a z i e n d a CREATE TABLE AZIENDA( c o d i c e F i s c a l e VARCHAR( 1 6 ) PRIMARY KEY, denominazione VARCHAR( 8 0 ) NOT NULL, v i a VARCHAR( 8 0 ) NOT NULL 7

8 , numero INTEGER NOT NULL, comune VARCHAR( 8 0 ) NOT NULL, p e r s o n a R i f e r i m e n t o VARCHAR( ) ) ; e n t i t à t e l e f o n o, r e l a z i o n e ha CREATE TABLE TELEFONO( numero VARCHAR( 1 0 ) PRIMARY KEY, azienda VARCHAR( 1 6 ) NOT NULL REFERENCES AZIENDA( c o d i c e F i s c a l e ) ) ; e n t i t à t i p o CREATE TABLE TIPO( i d i n t e g e r primary key, d e s c r i z i o n e v a r c h a r ( 5 0 ) NOT NULL ) ; e n t i t à i n t e r v e n t o, r e l a z i o n e e s e c u z i o n e, r e l a z i o n e d i T i p o CREATE TABLE INTERVENTO( area INTEGER REFERENCES AREA BONIFICA( c o d i c e ), c o d i c e INTEGER, d a t a I n i z i o DATE NOT NULL, datafine DATE not n u l l, t i p o i n t e g e r r e f e r e n c e s TIPO( i d ) not n u l l, PRIMARY KEY ( area, c o d i c e ) ) ; r e l a z i o n e e s e g u e CREATE TABLE ESEGUE( area INTEGER, c o d i c e I n t e r v e n t o i n t e g e r, azienda VARCHAR( 1 6 ) NOT NULL REFERENCES AZIENDA( c o d i c e F i s c a l e ), f o r e i g n key ( area, c o d i c e I n t e r v e n t o ) r e f e r e n c e s INTERVENTO( area, c o d i c e ), PRIMARY KEY ( area, c o d i c e I n t e r v e n t o, azienda ) ) ; r e l a z i o n e r i l e v a m e n t o CREATE TABLE RILEVAMENTO( d a t a a n a l i s i d a t e, o r a a n a l i s i time, p u n t o c o n t r o l l o INTEGER, s o s t a n z a VARCHAR( 8 0 ), v a l o r e NUMERIC( 5, 2 ) NOT NULL, contaminazione boolean NOT NULL va i n s e r i t o un t r i g g e r, PRIMARY KEY ( d a t a a n a l i s i, o r a a n a l i s i, p u n t o c o n t r o l l o, s o s t a n z a ), FOREIGN KEY ( d a t a a n a l i s i, o r a a n a l i s i, p u n t o c o n t r o l l o ) REFERENCES ANALISI( data, ora, p u n t o c o n t r o l l o ), FOREIGN KEY ( s o s t a n z a ) REFERENCES SOSTANZA( nome ) ) ; Estensione spaziale e n t i t à a r e a b o n i f i c a SELECT AddGeometryColumn (, a r e a b o n i f i c a, the geom,3004, POLYGON, 2 ) ; CREATE INDEX i d x g i s t a r e a b o n i f i c a ON a r e a b o n i f i c a USING g i s t ( the geom ) ; 8

9 e n t i t à p u n t o c o n t r o l l o, r e l a z i o n e c o n t r o l l a SELECT AddGeometryColumn (, p u n t o c o n t r o l l o, the geom, 3004, POINT, 2 ) ; CREATE INDEX i d x g i s t p u n t o c o n t r o l l o ON p u n t o c o n t r o l l o USING g i s t ( the geom ) ; 4.2 Popolamento della base di dati INSERT INTO AREA BONIFICA( codice, d a t a I n i z i o, datafine ) VALUES ( 1, , ) ; INSERT INTO AREA BONIFICA( codice, d a t a I n i z i o, datafine ) VALUES ( 2, , n u l l ) ; INSERT INTO AREA BONIFICA( codice, d a t a I n i z i o ) VALUES ( 3, ) ; INSERT INTO AREA BONIFICA( codice, d a t a I n i z i o ) VALUES ( 4, ) ; INSERT INTO PUNTO CONTROLLO( id, t i p o l o g i a, profmax, dimensione, area ) VALUES ( 1, acqua, n u l l, n u l l, 1 ) ; INSERT INTO PUNTO CONTROLLO( id, t i p o l o g i a, profmax, dimensione, area ) VALUES ( 2, t e r r e n o, n u l l, n u l l, 1 ) ; INSERT INTO PUNTO CONTROLLO( id, t i p o l o g i a, profmax, dimensione, area ) VALUES ( 3, n u l l, 5, n u l l, 2 ) ; INSERT INTO PUNTO CONTROLLO( id, t i p o l o g i a, profmax, dimensione, area ) VALUES ( 4, n u l l, n u l l, 4. 4, 2 ) ; INSERT INTO PUNTO CONTROLLO( id, t i p o l o g i a, profmax, dimensione, area ) VALUES ( 5, n u l l, 6. 2, n u l l, 3 ) ; INSERT INTO PUNTO CONTROLLO( id, t i p o l o g i a, profmax, dimensione, area ) VALUES ( 6, n u l l, n u l l, 1 0, 3 ) ; INSERT INTO PUNTO CONTROLLO( id, t i p o l o g i a, profmax, dimensione, area ) VALUES ( 7, n u l l, 3. 4, n u l l, 4 ) ; INSERT INTO PUNTO CONTROLLO( id, t i p o l o g i a, profmax, dimensione, area ) VALUES ( 8, n u l l, n u l l, 1 7, 4 ) ; INSERT INTO PUNTO CONTROLLO( id, t i p o l o g i a, profmax, dimensione, area ) VALUES ( 9, t e r r e n o, n u l l, n u l l, 4 ) ; INSERT INTO SOSTANZA(nome, l i m i t e, p e r i c o l o s i t a ) VALUES ( piombo, 1 0 0, 5 ) ; INSERT INTO SOSTANZA(nome, l i m i t e, p e r i c o l o s i t a ) VALUES ( cadmio, 1 5, 8 ) ; INSERT INTO SOSTANZA(nome, l i m i t e, p e r i c o l o s i t a ) VALUES ( mercurio, 5, 7 ) ; INSERT INTO SOSTANZA(nome, l i m i t e, p e r i c o l o s i t a ) VALUES ( z i n c o, 1 5 0, 4 ) ; INSERT INTO SOSTANZA(nome, l i m i t e, p e r i c o l o s i t a ) VALUES ( n i t r a t i, 0, 1 0 ) ; area contaminata 1 INSERT INTO ANALISI( data, ora, p u n t o c o n t r o l l o ) VALUES ( , 1000, 1 ) ; INSERT INTO ANALISI( data, ora, p u n t o c o n t r o l l o ) VALUES ( , 1000, 1 ) ; INSERT INTO ANALISI( data, ora, p u n t o c o n t r o l l o ) VALUES ( , 1000, 2 ) ; INSERT INTO ANALISI( data, ora, p u n t o c o n t r o l l o ) VALUES ( , 1000, 2 ) ; area contaminata 2 INSERT INTO ANALISI( data, ora, p u n t o c o n t r o l l o ) VALUES ( , 1000, 3 ) ; INSERT INTO ANALISI( data, ora, p u n t o c o n t r o l l o ) VALUES ( , 1000, 4 ) ; 9

10 area contaminata 3 INSERT INTO ANALISI( data, ora, p u n t o c o n t r o l l o ) VALUES ( , 1000, 5 ) ; INSERT INTO ANALISI( data, ora, p u n t o c o n t r o l l o ) VALUES ( , 1000, 6 ) ; area contaminata 4 INSERT INTO ANALISI( data, ora, p u n t o c o n t r o l l o ) VALUES ( , 1000, 7 ) ; INSERT INTO ANALISI( data, ora, p u n t o c o n t r o l l o ) VALUES ( , 1000, 8 ) ; INSERT INTO ANALISI( data, ora, p u n t o c o n t r o l l o ) VALUES ( , 1000, 9 ) ; INSERT INTO RILEVAMENTO( d a t a a n a l i s i, o r a a n a l i s i, p u n t o c o n t r o l l o, sostanza, v a l o r e, contaminazione ) VALUES ( , 1000, 1, piombo, 1 2 0, n u l l ) ; INSERT INTO RILEVAMENTO( d a t a a n a l i s i, o r a a n a l i s i, p u n t o c o n t r o l l o, sostanza, v a l o r e, contaminazione ) VALUES ( , 1000, 1, piombo, 8 0, n u l l ) ; INSERT INTO RILEVAMENTO( d a t a a n a l i s i, o r a a n a l i s i, p u n t o c o n t r o l l o, sostanza, v a l o r e, contaminazione ) VALUES ( , 1000, 2, piombo, 2 0 0, n u l l ) ; INSERT INTO RILEVAMENTO( d a t a a n a l i s i, o r a a n a l i s i, p u n t o c o n t r o l l o, sostanza, v a l o r e, contaminazione ) VALUES ( , 1000, 2, piombo, 9 0, n u l l ) ; INSERT INTO RILEVAMENTO( d a t a a n a l i s i, o r a a n a l i s i, p u n t o c o n t r o l l o, sostanza, v a l o r e, contaminazione ) VALUES ( , 1000, 3, cadmio, 2 0, n u l l ) ; INSERT INTO RILEVAMENTO( d a t a a n a l i s i, o r a a n a l i s i, p u n t o c o n t r o l l o, sostanza, v a l o r e, contaminazione ) VALUES ( , 1000, 4, cadmio, 1 2, n u l l ) ; INSERT INTO RILEVAMENTO( d a t a a n a l i s i, o r a a n a l i s i, p u n t o c o n t r o l l o, sostanza, v a l o r e, contaminazione ) VALUES ( , 1000, 5, n i t r a t i, 1, n u l l ) ; INSERT INTO RILEVAMENTO( d a t a a n a l i s i, o r a a n a l i s i, p u n t o c o n t r o l l o, sostanza, v a l o r e, contaminazione ) VALUES ( , 1000, 6, n i t r a t i, 2, n u l l ) ; INSERT INTO RILEVAMENTO( d a t a a n a l i s i, o r a a n a l i s i, p u n t o c o n t r o l l o, sostanza, v a l o r e, contaminazione ) VALUES ( , 1000, 7, n i t r a t i, 0, n u l l ) ; INSERT INTO RILEVAMENTO( d a t a a n a l i s i, o r a a n a l i s i, p u n t o c o n t r o l l o, sostanza, v a l o r e, contaminazione ) VALUES ( , 1000, 8, piombo, 1 4 0, n u l l ) ; INSERT INTO RILEVAMENTO( d a t a a n a l i s i, o r a a n a l i s i, p u n t o c o n t r o l l o, sostanza, v a l o r e, contaminazione ) VALUES ( , 1000, 9, piombo, 9 8, n u l l ) ; INSERT INTO AZIENDA( c o d i c e F i s c a l e, denominazione, via, numero, comune ) VALUES ( , B o n i f i c a S r l, Via Roma, 5, Udine ) ; INSERT INTO AZIENDA( c o d i c e F i s c a l e, denominazione, via, numero, comune, p e r s o n a R i f e r i m e n t o ) VALUES ( , EBFVG Spa, Via Milano, 1 0, T r i e s t e, Mario Rossi ) ; INSERT INTO TELEFONO( numero, azienda ) VALUES ( , ) ; INSERT INTO TELEFONO( numero, azienda ) VALUES ( , ) ; INSERT INTO TELEFONO( numero, azienda ) VALUES ( , ) ; INSERT INTO TIPO( id, d e s c r i z i o n e ) VALUES ( 1, messa i n s i c u r e z z a d emergenza ) ; 10

11 INSERT INTO TIPO VALUES ( 2, messa i n s i c u r e z z a permanente ) ; INSERT INTO TIPO( d e s c r i z i o n e, i d ) VALUES ( r i p r i s t i n o ambientale, 3 ) ; INSERT INTO TIPO VALUES ( 4, misure d i s i c u r e z z a ) ; INSERT INTO TIPO VALUES ( 5, p r e v e n z i o n e ) ; INSERT INTO INTERVENTO( area, codice, d a t a I n i z i o, datafine, t i p o ) VALUES ( 1, 1, , , 1 ) ; INSERT INTO INTERVENTO( area, codice, d a t a I n i z i o, datafine, t i p o ) VALUES ( 1, 2, , , 2 ) ; INSERT INTO INTERVENTO( area, codice, d a t a I n i z i o, datafine, t i p o ) VALUES ( 2, 1, , , 1 ) ; INSERT INTO INTERVENTO( area, codice, d a t a I n i z i o, datafine, t i p o ) VALUES ( 2, 2, , , 2 ) ; INSERT INTO INTERVENTO( area, codice, d a t a I n i z i o, datafine, t i p o ) VALUES ( 3, 1, , , 3 ) ; INSERT INTO INTERVENTO( area, codice, d a t a I n i z i o, datafine, t i p o ) VALUES ( 4, 1, , , 1 ) ; INSERT INTO ESEGUE( area, c o d i c e I n t e r v e n t o, azienda ) VALUES ( 1, 1, ) ; INSERT INTO ESEGUE( area, c o d i c e I n t e r v e n t o, azienda ) VALUES ( 1, 2, ) ; INSERT INTO ESEGUE( area, c o d i c e I n t e r v e n t o, azienda ) VALUES ( 2, 1, ) ; INSERT INTO ESEGUE( area, c o d i c e I n t e r v e n t o, azienda ) VALUES ( 2, 2, ) ; INSERT INTO ESEGUE( area, c o d i c e I n t e r v e n t o, azienda ) VALUES ( 3, 1, ) ; INSERT INTO ESEGUE( area, c o d i c e I n t e r v e n t o, azienda ) VALUES ( 4, 1, ) ; Inserimento dei dati spaziali UPDATE AREA BONIFICA SET the geom=st PolygonFromText ( POLYGON(( , , , ) ), 3004) WHERE c o d i c e =1; UPDATE AREA BONIFICA SET the geom=st PolygonFromText ( POLYGON(( , , , , ) ),3004) WHERE c o d i c e =2; UPDATE AREA BONIFICA SET the geom=st PolygonFromText ( POLYGON(( , , , ) ), 3004) WHERE c o d i c e =3; UPDATE AREA BONIFICA SET the geom=st PolygonFromText ( POLYGON(( , , , , ) ),3004) WHERE c o d i c e =4; UPDATE AREA BONIFICA SET the geom=st PolygonFromText ( POLYGON(( , , , ) ), 3004) WHERE c o d i c e =1; 11

12 Figura 5: Mappa dei dati inseriti UPDATE AREA BONIFICA SET the geom=st PolygonFromText ( POLYGON(( , , , , ) ),3004) WHERE c o d i c e =2; UPDATE AREA BONIFICA SET the geom=st PolygonFromText ( POLYGON(( , , , ) ), 3004) WHERE c o d i c e =3; UPDATE AREA BONIFICA SET the geom=st PolygonFromText ( POLYGON(( , , , , ) ),3004) WHERE c o d i c e =4; s i t o 1 UPDATE PUNTO CONTROLLO SET the geom=st PointFromText ( POINT( ),3004) WHERE i d =1; UPDATE PUNTO CONTROLLO SET the geom=st PointFromText ( POINT( ),3004) WHERE i d =2; s i t o 2 UPDATE PUNTO CONTROLLO SET the geom=st PointFromText ( POINT( ),3004) WHERE i d =3; UPDATE PUNTO CONTROLLO SET the geom=st PointFromText ( POINT( ),3004) WHERE i d =4; s i t o 3 UPDATE PUNTO CONTROLLO SET the geom=st PointFromText ( POINT( ),3004) WHERE i d =5; UPDATE PUNTO CONTROLLO SET the geom=st PointFromText ( POINT( ),3004) WHERE i d =6; s i t o 4 12

13 UPDATE PUNTO CONTROLLO SET the geom=st PointFromText ( POINT( ),3004) WHERE i d =7; UPDATE PUNTO CONTROLLO SET the geom=st PointFromText ( POINT( ),3004) WHERE i d =8; UPDATE PUNTO CONTROLLO SET the geom=st PointFromText ( POINT( ),3004) WHERE i d =9; 4.3 Interrogazione dei dati Determinare l identificatore dei siti contaminati che sono stati identificati prima del 1 gennaio 2008: SELECT c o d i c e FROM AREA BONIFICA WHERE d a t a I n i z i o < Determinare l identificatore dei siti contaminati attualmente chiuse: SELECT c o d i c e FROM AREA BONIFICA WHERE datafine IS NOT NULL; Determinare l identificatore dei siti contaminati attualmente chiuse: SELECT c o d i c e FROM AREA BONIFICA WHERE datafine IS NOT NULL; Determinare la denominazione delle aziende che hanno eseguito interventi sull area di bonifica con codice 1: SELECT AZIENDA. denominazione FROM ESEGUE, AZIENDA WHERE ESEGUE. azienda=azienda. c o d i c e F i s c a l e AND ESEGUE. area =1; SELECT AZIENDA. denominazione FROM ESEGUE JOIN AZIENDA ON ESEGUE. azienda=azienda. c o d i c e F i s c a l e WHERE ESEGUE. area =1; Determinare il numero di rilevazioni effettuate: SELECT COUNT( ) a s n u m e r o R i l i e v i FROM RILEVAMENTO; Determinare il numero di sostanze che sono state rilevate: SELECT COUNT(DISTINCT s o s t a n z a ) a s numerosostanze FROM RILEVAMENTO; Determinare il numero di rilevamenti effettuati per ogni sostanza: SELECT sostanza, COUNT( ) FROM RILEVAMENTO GROUP BY s o s t a n z a ; Determinare le sostanze che hanno almeno 2 rilevamenti: 13

14 SELECT sostanza, COUNT( ) FROM RILEVAMENTO GROUP BY s o s t a n z a HAVING COUNT( ) >1; SELECT DISTINCT s o s t a n z a FROM RILEVAMENTO AS R1, RILEVAMENTO AS R2 WHERE R1. s o s t a n z a=r2. s o s t a n z a AND (R1. d a t a a n a l i s i <>R2. d a t a a n a l i s i OR R1. o r a a n a l i s i <>R2. o r a a n a l i s i OR R1. p u n t o c o n t r o l l o <>R2. p u n t o c o n t r o l l o ) ; Determinare il valore massimo rilevato per il piombo: SELECT MAX( v a l o r e ) FROM RILEVAMENTO WHERE s o s t a n z a= piombo ; Determinare la data, i nomi e i valori delle sostanze rilevate con valori oltre il limite consentito sull area di bonifica con codice 2 (considerare il caso con e senza l attributo contaminazione nella tabella RILEVAMENTO): SELECT RILEVAMENTO. d a t a a n a l i s i, RILEVAMENTO. sostanza, RILEVAMENTO. v a l o r e FROM PUNTO CONTROLLO AS P JOIN RILEVAMENTO AS R ON P. i d=r. p u n t o c o n t r o l l o JOIN SOSTANZA AS S ON R. s o s t a n z a=s. nome WHERE P. area=2 AND S. l i m i t e <R. v a l o r e ; SELECT RILEVAMENTO. d a t a a n a l i s i, RILEVAMENTO. sostanza, RILEVAMENTO. v a l o r e FROM PUNTO CONTROLLO AS P JOIN RILEVAMENTO AS R ON P. i d=r. p u n t o c o n t r o l l o WHERE P. area=2 AND R. contaminazione ; Determinare la denominazione delle aziende che hanno eseguito interventi sia sull area 1 che sulla 2: SELECT denominazione FROM AZIENDA JOIN ESEGUE ON c o d i c e F i s c a l e=azienda WHERE area=1 INTERSECT SELECT denominazione FROM AZIENDA JOIN ESEGUE ON c o d i c e F i s c a l e=azienda WHERE area =2; SELECT denominazione FROM AZIENDA WHERE c o d i c e F i s c a l e IN (SELECT azienda FROM ESEGUE WHERE area =1) AND c o d i c e F i s c a l e IN (SELECT azienda FROM ESEGUE WHERE area =2) ; 14

15 SELECT denominazione FROM AZIENDA WHERE EXISTS (SELECT FROM ESEGUE WHERE area=1 AND c o d i c e F i s c a l e= azienda ) AND EXISTS (SELECT FROM ESEGUE WHERE area=2 AND c o d i c e F i s c a l e= azienda ) ; Determinare la denominazione delle aziende che hanno eseguito interventi sull area 1 ma non sulla 2: SELECT denominazione FROM AZIENDA JOIN ESEGUE ON c o d i c e F i s c a l e=azienda WHERE area=1 EXCEPT SELECT denominazione FROM AZIENDA JOIN ESEGUE ON c o d i c e F i s c a l e=azienda WHERE area =2; SELECT denominazione FROM AZIENDA WHERE c o d i c e F i s c a l e IN (SELECT azienda FROM ESEGUE WHERE area =1) AND c o d i c e F i s c a l e NOT IN (SELECT azienda FROM ESEGUE WHERE area =2) ; SELECT denominazione FROM AZIENDA WHERE EXISTS (SELECT FROM ESEGUE WHERE area=1 AND c o d i c e F i s c a l e= azienda ) AND NOT EXISTS (SELECT FROM ESEGUE WHERE area=2 AND c o d i c e F i s c a l e=azienda ) ; Determinare la denominazione delle aziende che hanno eseguito interventi sull area 1 o sulla 2: SELECT denominazione FROM AZIENDA JOIN ESEGUE ON c o d i c e F i s c a l e=azienda WHERE area=1 OR area =2; SELECT denominazione FROM AZIENDA JOIN ESEGUE ON c o d i c e F i s c a l e=azienda WHERE area=1 UNION SELECT denominazione FROM AZIENDA JOIN ESEGUE ON c o d i c e F i s c a l e=azienda WHERE area =2; SELECT denominazione FROM AZIENDA WHERE c o d i c e F i s c a l e IN (SELECT azienda FROM ESEGUE WHERE area =1) OR c o d i c e F i s c a l e IN (SELECT azienda FROM ESEGUE WHERE area =2) ; 15

16 SELECT denominazione FROM AZIENDA WHERE EXISTS (SELECT FROM ESEGUE WHERE area=1 AND c o d i c e F i s c a l e= azienda ) OR EXISTS (SELECT FROM ESEGUE WHERE area=2 AND c o d i c e F i s c a l e= azienda ) ; Determinare per ogni area di bonifica i relativi punti di controllo: SELECT FROM a r e a b o n i f i c a a s a JOIN p u n t o c o n t r o l l o a s p ON a. c o d i c e=p. area ; Interrogazioni spaziali Determinare la geometria delle diverse aree di bonifica: SELECT codice, a s t e x t ( the geom ) FROM a r e a b o n i f i c a ; Determinare l area delle diverse aree di bonifica: SELECT codice, s t a r e a ( the geom ) FROM a r e a b o n i f i c a ; Determinare l area complessiva delle aree di bonifica: SELECT SUM( s t a r e a ( the geom ) ) FROM a r e a b o n i f i c a ; SELECT s t a r e a (ST UNION( the geom ) ) FROM a r e a b o n i f i c a ; Determinare la distanza fra le diverse aree di bonifica: SELECT s1. codice, s2. codice, ST Distance ( s1. the geom, s2. the geom ) AS d i s t a n z a FROM a r e a b o n i f i c a a s s1, a r e a b o n i f i c a a s s2 WHERE s1. codice <s2. c o d i c e ; Determinare per ogni area di bonifica i punti di controllo in esse contenute: SELECT FROM a r e a b o n i f i c a a s a JOIN p u n t o c o n t r o l l o a s p ON a. c o d i c e=p. area WHERE ST contains ( a. the geom, p. the geom ) ; Determinare il buffer di dimensione 100 rispetto alle aree di bonifica attualmente aperte: SELECT codice, a s t e x t ( s t b u f f e r ( the geom, 100) ) FROM a r e a b o n i f i c a WHERE d a t a f i n e IS NULL; Dopo il caricamento dei dati dei comuni della regionr FVG da shapefile (Figura 6), determinare i siti che intersecano il Comune di Udine: 16

17 Figura 6: Interfaccia per l importazione di file shape SELECT s. c o d i c e FROM a r e a b o n i f i c a a s s, COMUNI FVG 2009Polygon a s c WHERE nome= Udine and ST overlaps ( s. the geom, c. the geom ) ; Determinare i siti che sono contenuti nel Comune di Udine: SELECT s. c o d i c e FROM a r e a b o n i f i c a a s s, COMUNI FVG 2009Polygon a s c WHERE nome= Udine and ST within ( s. the geom, c. the geom ) ; 4.4 Trigger In fase di progettazione logica era stato deciso di mantenere l attributo derivato contaminazione. Per poter gestire la consistenza dei valori ad esso associato bisogna utilizzare i trigger. Un primo trigger ha il compito di settare/modificare il valore dell attributo ogni qualvolta venga inserito un nuovo rilevamento o aggiornato uno precedentemente inserito. CREATE OR REPLACE FUNCTION r i l e v a m e n t o c o n t a m i n a z i o n e ( ) RETURNS t r i g g e r AS $BODY$ DECLARE lim numeric ( 5, 2 ) ; BEGIN SELECT l i m i t e INTO lim FROM SOSTANZA 17

18 WHERE nome=new. s o s t a n z a ; IF lim>new. v a l o r e THEN new. contaminazione := f a l s e ; ELSE new. contaminazione := t r u e ; END IF ; RETURN new ; END; $BODY$ LANGUAGE p l p g s q l ; CREATE TRIGGER t r i l e v a m e n t o c o n t a m i n a z i o n e BEFORE INSERT OR UPDATE ON r i l e v a m e n t o FOR EACH ROW EXECUTE PROCEDURE r i l e v a m e n t o c o n t a m i n a z i o n e ( ) ; Un secondo trigger può variare il valore dell attributo contaminazione dei rilevamenti precedentemente inseriti nel momento in cui si varia un valore limite. Tale trigger potrebbe comunque essere valutato non necessario. CREATE OR REPLACE FUNCTION s o s t a n z a c o n t a m i n a z i o n e ( ) RETURNS t r i g g e r AS $BODY$ BEGIN UPDATE r i l e v a m e n t o SET contaminazione = ( v a l o r e >new. l i m i t e ) WHERE s o s t a n z a=new. nome ; RETURN new ; END; $BODY$ LANGUAGE p l p g s q l ; CREATE TRIGGER t s o s t a n z a c o n t a m i n a z i o n e AFTER UPDATE ON s o s t a n z a FOR EACH ROW EXECUTE PROCEDURE s o s t a n z a c o n t a m i n a z i o n e ( ) ; Per la verifica dei due trigger precedenti si possono utilizzare le seguenti istruzioni: s e l e c t from r i l e v a m e n t o ; update r i l e v a m e n t o s e t v a l o r e =120 where v a l o r e =120; s e l e c t from r i l e v a m e n t o ; s e l e c t from s o s t a n z a j o i n r i l e v a m e n t o on nome=s o s t a n z a ; update s o s t a n z a s e t l i m i t e =200 where nome= piombo ; s e l e c t from s o s t a n z a j o i n r i l e v a m e n t o on nome=s o s t a n z a ; Analogamente si devono utilizzare dei trigger per la gestione dei vincoli spaziali imposti dalla relazione spaziale controlla fra le entità AREA BON IF ICA e P U N T O CON T ROLLO. Si riporta a scopo esemplificativo l esempio relativo al trigger che in fase di inserimento/modifica di un punto di controllo verifica che la sua geometria sia contenuta o ad una distanza inferiore di 200 metri dall area di bonifica a cui è associato: CREATE OR REPLACE FUNCTION p u n t o c o n t r o l l o c o n t r o l l a ( ) RETURNS t r i g g e r AS $BODY$ DECLARE num i n t e g e r ; BEGIN SELECT COUNT( ) INTO num FROM AREA BONIFICA 18

19 WHERE c o d i c e=new. area AND ( s t c o n t a i n s ( the geom, new. the geom ) OR s t d i s t a n c e ( the geom, new. the geom ) <=200) ; IF num=0 THEN RAISE EXCEPTION Vincolo s p a z i a l e non s o d d i s f a t t o ; ELSE RETURN new ; END IF ; END; $BODY$ LANGUAGE p l p g s q l ; CREATE TRIGGER t p u n t o c o n t r o l l o c o n t r o l l a BEFORE INSERT OR UPDATE ON p u n t o c o n t r o l l o FOR EACH ROW EXECUTE PROCEDURE p u n t o c o n t r o l l o c o n t r o l l a ( ) ; Per verificare il precedente trigger è sufficiente eseguire i seguenti aggiornamenti. Nel primo caso i vincoli spaziali non sono soddisfatti ed il trigger blocca l aggiornamento, nel secondo caso l aggiornamento viene eseguito vista la soddisfazione del vincolo: UPDATE p u n t o c o n t r o l l o SET area=4 WHERE i d =1; UPDATE p u n t o c o n t r o l l o SET area=1 WHERE i d =1; 4.5 Viste Creare la vista che determina per ognuna delle aree di bonifica attive l area di analisi ad essa associata (un buffer di 200 metri rispetto all area): c r e a t e view AREE BUFFER 200 AS SELECT codice, s t b u f f e r ( the geom, 200) FROM a r e a b o n i f i c a WHERE d a t a f i n e IS NULL; INSERT INTO geometry columns ( f t a b l e c a t a l o g, f t a b l e s c h e m a, f t a b l e n a m e, f geometry column, coord dimension, s r i d, type ) VALUES (, p u b l i c, a r e a b u f f e r 2 0 0, s t b u f f e r, 2, 3004, POLYGON ) ; 19

20 5 Visualizzazione dei dati spaziali mediante sistemi GIS Molti sistemi GIS utilizzano come sorgente dei dati basi di dati spaziali e permettono quindi la loro visualizzazione, oltre che la possibilità di effettuare tutta una serie di operazioni. Sfruttando il sistema gvsig si possono creare delle viste analoghe a quelle rappresentate in Figura 7 in cui sono stati integrati layer raster e vettoriali. Figura 7: Visualizzazione dei dati spaziali da gvsig. 20

21 Sfruttando la vista AREE BUF F ER 200 precedentemente creata è possibile visualizzare un ulteriore layer come segue: Figura 8: Visualizzazione di una vista con i buffer da gvsig. Analogo risultato si può ottenere attraverso i geo-processi messi a disposizione da gvsig. In Figura 9 sono visualizzati i parametri la configurazione del processo mentre in Figura 10 si può vedere la visualizzazione del layer risultato. 21

22 Figura 9: Geo-processo di buffer in gvsig. Figura 10: Visualizzazione del risulato di un geo-processo di buffermediante gvsig. 22

Caso di Studio: SITI CONTAMINATI

Caso di Studio: SITI CONTAMINATI UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Agraria CORSO DI LAUREA IN SCIENZE E TECNOLOGIE DELL AMBIENTE E DEL TERRITORIO Caso di Studio: SITI CONTAMINATI L Anagrafe dei siti da bonificare, come strumento

Dettagli

Caso di Studio: SITI CONTAMINATI

Caso di Studio: SITI CONTAMINATI Caso di Studio: SITI CONTAMINATI L Anagrafe dei siti da bonificare, come strumento delle Regioni per la gestione delle implicazioni di natura tecnica, amministrativa, finanziaria, su tale tipologia di

Dettagli

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 20 luglio 2011 1 Progettazione

Dettagli

Caso di Studio: ANAGRAFE AZIENDE AGRICOLE

Caso di Studio: ANAGRAFE AZIENDE AGRICOLE UNIVERSITÀ DEGLI STUDI DI UDINE Dipartimento di Scienze Agrarie CORSO DI LAUREA IN SCIENZE E TECNOLOGIE DELL AMBIENTE E DEL TERRITORIO Caso di Studio: ANAGRAFE AZIENDE AGRICOLE 1 Descrizione del dominio

Dettagli

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

Dettagli

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

Dettagli

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

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 6 MARZO 2015 Tempo: 2h30m Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 6 MARZO 2015 Tempo: 2h30m Si consideri il seguente schema di base di dati, che vuole memorizzare alcune informazioni relative a Twitter. TWEET

Dettagli

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: BASI DI DATI ING. INFORMATICA PROVA PRATICA 10 LUGLIO 2013 SOLUZIONI Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: PAZIENTE(CodFiscale, Cognome, Nome,

Dettagli

CORSO di INFORMATICA e ARCHIVIAZIONE

CORSO 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 CORSO di INFORMATICA e ARCHIVIAZIONE Caso di Studio - 2011 1

Dettagli

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 28/06/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione

Dettagli

Informatica documentale Laurea in Scienze della Comunicazione Prova scritta del 25 giugno Cognome e nome: Matricola:

Informatica documentale Laurea in Scienze della Comunicazione Prova scritta del 25 giugno Cognome e nome: Matricola: Informatica documentale Laurea in Scienze della Comunicazione Prova scritta del 25 giugno 2012 Cognome e nome: Matricola: Parte prima Domanda 1 Domanda 2 Domanda 3 Totale Istruzioni: È vietato portare

Dettagli

Caso di Studio: ANAGRAFE ZOOTECNICA SUINA

Caso di Studio: ANAGRAFE ZOOTECNICA SUINA UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Agraria CORSO DI LAUREA IN SCIENZE E TECNOLOGIE DELL AMBIENTE E DEL TERRITORIO Caso di Studio: ANAGRAFE ZOOTECNICA SUINA 1 Descrizione del dominio applicativo

Dettagli

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

Dettagli

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,

Dettagli

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

Dettagli

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

Dettagli

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

Dettagli

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:

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 9 Raffaella Gentilini 1 / 41 Sommario 1 DBMS Attivi e Triggers 2 2 / 41 DBMS Attivi DBMS Attivi I DBMS tradizionale sono passivi: Eseguono delle operazioni solo

Dettagli

Vincoli, procedure e regole attive in SQL. SQL: vincoli, trigger 1

Vincoli, procedure e regole attive in SQL. SQL: vincoli, trigger 1 Vincoli, procedure e regole attive in SQL SQL: vincoli, trigger 1 Qualità dei dati Qualità dei dati: correttezza, completezza, attualità In molte applicazioni reali i dati sono di scarsa qualità (5% -

Dettagli

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

Dettagli

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

σ data 15/12/2013 data 20/12/2014 Dato lo schema: Basi di Dati Prof. Alfredo Pulvirenti A.A. 2014-2015 Prova in itinere 18 dicembre 2014 (A) EVENTO(id, titolo, data, categoria, costo_partecipazione, idcatering) ORGANIZZATORE(id,idevento)

Dettagli

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: BASI DI DATI INGEGNERIA INFORMATICA PROVA PRATICA 29 GIUGNO 2015 SOLUZIONI Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: PAZIENTE(CodFiscale, Cognome,

Dettagli

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

Dettagli

A.A. 2018/2019. Esercitazione 11. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE

A.A. 2018/2019. Esercitazione 11. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE A.A. 2018/2019 Esercitazione 11 Strutturazione di Istruzioni in Linguaggio SQL [ Possibili Soluzioni ] Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Esercizio 1 Scrivere

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 2 Vincoli di integrità Proprietà che devono essere soddisfatte da ogni istanza della base di dati. Il soddisfacimento è definito rispetto al

Dettagli

PARTITIONING PARTITIONING. 27/11/08 /home/scotty/enrico/corso web/finale/architettura/partit page 1

PARTITIONING PARTITIONING. 27/11/08 /home/scotty/enrico/corso web/finale/architettura/partit page 1 PARTITIONING PARTITIONING 27/11/08 /home/scotty/enrico/corso web/finale/architettura/partit page 1 PARTITIONING Cos'è il partitioning Metodi per eseguire il partitioning Partition setup Partition table

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Esercitazione PostgreSQL Dopo aver lanciato il client grafico pgadmin III di PostgreSQL svolgere le operazioni descritte nel seguito, tenendo presenti i suggerimenti forniti

Dettagli

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: BASI DI DATI INGEGNERIA INFORMATICA PROVA PRATICA 20 GIUGNO 2014 SOLUZIONI Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: PAZIENTE(CodFiscale, Cognome,

Dettagli

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

Corso di Basi di Dati A.A. 2015/2016 Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2015/2016 - Esercizi Tiziana Catarci, Andrea Marrella Ultimo aggiornamento : 06/04/2016 Esercizio 1 Dare

Dettagli

Operazioni scatenanti. Nozione ed uso. Sintassi. Esempio

Operazioni scatenanti. Nozione ed uso. Sintassi. Esempio Nozione ed uso Operazioni eseguite automaticamente ogni volta che avviene un certo evento Uso: Gestione di vincoli di integrità: Per fallimento Per modifica Auditing: Sicurezza Statistiche Valori derivati

Dettagli

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: BASI DI DATI INGEGNERIA INFORMATICA PROVA PRATICA 25 SETTEMBRE 2014 SOLUZIONI Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: PAZIENTE(CodFiscale, Cognome,

Dettagli

SQL /10/2016 Basi di dati - SQL 1

SQL /10/2016 Basi di dati - SQL 1 SQL 24-27/10/2016 Basi di dati - SQL 1 Esercitazioni pratiche Per SQL è possibile (e fondamentale) svolgere esercitazioni pratiche Verranno anche richieste copme condizione per svolgere le prove parziali

Dettagli

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)

Dettagli

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

Dettagli

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

Dettagli

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

PROVA SCRITTA DI TECNOLOGIA DATABASE 02/12/2004 Corso di Laurea Specialistica in Ingegneria Informatica - NOD PROF. PROVA SCRITTA DI TECNOLOGIA DATABASE 02/12/2004 Corso di Laurea Specialistica in Ingegneria Informatica - NOD PROF. SONIA BERGAMASCHI Esercizio 1 (punti 20) Dato il seguente schema relazionale: FOTOGRAFO(CODF,NOME,NAZIONE)

Dettagli

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: BASI DI DATI INGEGNERIA INFORMATICA PROVA PRATICA 26 LUGLIO 2014 SOLUZIONI Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: PAZIENTE(CodFiscale, Cognome,

Dettagli

Basi di Dati - Informatica umanistica Esercitazione (Lab)

Basi di Dati - Informatica umanistica Esercitazione (Lab) Basi di Dati - Informatica umanistica Esercitazione (Lab) a.a. 2017-2018 Vinícius Monteiro de Lira (vinicius.monteirodelira@isti.cnr.it) Esercitazione Mini-project! openflights.org Esercitazione (Summary)

Dettagli

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

Dettagli

Basi di dati I Prova di autovalutazione 1 novembre 2016 Soluzioni

Basi di dati I Prova di autovalutazione 1 novembre 2016 Soluzioni Basi di dati I Prova di autovalutazione 1 novembre 2016 Soluzioni Domanda 1 Si consideri una base di dati sulle relazioni R 1 (A, B, C) R 2 (D, E, F ) Scrivere interrogazioni in SQL equivalenti alle seguenti

Dettagli

Prova Scritta di Basi di Dati

Prova Scritta di Basi di Dati Prova Scritta di Basi di Dati 1 Luglio 2008 COGNOME: NOME: MATRICOLA: Si prega di risolvere gli esercizi direttamente sui fogli del testo, negli spazi indicati. Usare il foglio protocollo solo per la brutta

Dettagli

Primo Compitino di Basi di Dati

Primo Compitino di Basi di Dati Primo Compitino di Basi di Dati 19 Aprile 2004 Svolgere gli esercizi direttamente sul foglio del testo Usare fogli aggiuntivi solo in mancanza di spazio. NOME: COGNOME: MATRICOLA: Esercizio Punti previsti

Dettagli

Corso di. Basi di Dati I. 9. Esercitazioni in SQL: Check, asserzioni, viste

Corso di. Basi di Dati I. 9. Esercitazioni in SQL: Check, asserzioni, viste Corso di Basi di Dati 9. Esercitazioni in SQL: Check, asserzioni, viste A.A. 2016 2017 Check Come abbiamo visto, SQL permette di specificare vincoli sugli attributi e le tabelle attraverso il comando check

Dettagli

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

Esame di Basi di Dati SOLUZIONE APPELLO 14/06/2011 Esame di Basi di Dati SOLUZIONE APPELLO 14/06/2011 1. Si effettui la progettazione concettuale della base di dati secondo la specifica che segue fornendo un diagramma ER. Si vuole realizzare una base di

Dettagli

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,

Dettagli

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

PROVA SCRITTA DI TECNOLOGIA DATABASE 14/12/2005 Corso di Laurea Specialistica in Ingegneria Informatica - NOD PROF. PROVA SCRITTA DI TECNOLOGIA DATABASE 14/12/2005 Corso di Laurea Specialistica in Ingegneria Informatica - NOD PROF. SONIA BERGAMASCHI Esercizio 1 (punti 20) Dato il seguente schema relazionale: GIORNALISTA(CF,NOME,NAZIONE)

Dettagli

Triggers Esercitazione 1

Triggers Esercitazione 1 Triggers Esercitazione 1 Nel seguente documento vengono mostrati alcuni esempi di trigger e di funzioni pgplsql. Si ricorda che i trigger vengono eseguiti al verificarsi di certe condizioni definite dal

Dettagli

SQL. SQL come Data Manipulation Language - Inserimento, cancellazione e aggiornamento di righe

SQL. SQL come Data Manipulation Language - Inserimento, cancellazione e aggiornamento di righe SQL SQL come Data Manipulation Language - Inserimento, cancellazione e aggiornamento di righe Operazioni di aggiornamento Abbiamo visto come creare tabelle e come interrogarle. Vedremo ora come popolarle

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2017/2018 1 Settima parte Interrogazione di una

Dettagli

Basi di dati attive. Paolo Atzeni. Basi di dati attive

Basi di dati attive. Paolo Atzeni. Basi di dati attive Basi di dati attive Paolo Atzeni Basi di dati attive BD con componente per la gestione di regole Evento- Condizione-Azione (regole di produzione): eventi: normalmente modifiche della base di dati valuta

Dettagli

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

Dettagli

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. Pierluigi.Pierini@technolabs.it Università degli Studi di L Aquila Dipartimento di Informatica Technolabs S.p.A. R&D Department

Dettagli

A.A. 2018/2019. Esercitazione 12. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE

A.A. 2018/2019. Esercitazione 12. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE A.A. 2018/2019 Esercitazione 12 Strutturazione di Istruzioni in Linguaggio SQL [ Possibili Soluzioni ] Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Esercizio 1 Scrivere

Dettagli

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

Basi di dati I 19 settembre 2016 Tempo a disposizione: un ora e 45 minuti. Tempo a disposizione: un ora e 45 minuti. Cognome: Nome: Matricola: Domanda 1 (15%) Considerare la relazione Stipendi(Matricola,StipLordo,Tasse,Netto,OK) Spiegare (sinteticamente ma in modo chiaro) quali

Dettagli

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:

Dettagli

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

Dettagli

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: BASI DI DATI INGEGNERIA INFORMATICA PROVA PRATICA 10 GIUGNO 2015 SOLUZIONI Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: PAZIENTECodFiscale, Cognome,

Dettagli

Basi di Dati Attive. Basi di Dati Attive

Basi di Dati Attive. Basi di Dati Attive Basi di Dati Passive le politiche di reazione nei vincoli d integrità referenziale sono il primo esempio della necessità di introdurre un comportamento reattivo nelle basi di dati mettendo a fattor comune

Dettagli

SQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL))

SQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) SQL PER LA DEFINIZIONE DI BASI DI DATI 1 SQL non è solo un linguaggio di interrogazione (Query Language), ma Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) CREATE SCHEMA

Dettagli

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

Dettagli

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,

Dettagli

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: BASI DI DATI INGEGNERIA INFORMATICA PROVA PRATICA 20 LUGLIO 2015 SOLUZIONI Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: PAZIENTECodFiscale, Cognome,

Dettagli

SQL PER LA DEFINIZIONE DI BASI DI DATI

SQL PER LA DEFINIZIONE DI BASI DI DATI SQL PER LA DEFINIZIONE DI BASI DI DATI SQL non è solo un linguaggio di interrogazione (Query Language), ma Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) CREATE SCHEMA

Dettagli

Progetto Basi di Dati

Progetto Basi di Dati Grigoras Valentin Progetto Basi di Dati 1. ABSTRACT La palestra è una struttura che offre diversi corsi dal lunedì al sabato, dalle 09:00 alle 23:00, i quali si adeguano sempre di più ai bisogni e alle

Dettagli

BASE DI DATI. Esercizi Progettazione concettuale Progettazione logica Concetti avanzati SQL: Raggruppamento Nidificazione

BASE DI DATI. Esercizi Progettazione concettuale Progettazione logica Concetti avanzati SQL: Raggruppamento Nidificazione BASE DI DAI Esercizi Progettazione concettuale Progettazione logica Concetti avanzati SQL: Raggruppamento Nidificazione Informatica Umanistica Università di Pisa Esercizio: Agenzia immobiliare Si considerino

Dettagli

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)

Dettagli

Università degli Studi de L Aquila A. A Prof. Giuseppe Della Penna. Software House GRUPPO 19 CANALE A. A cura di:

Università degli Studi de L Aquila A. A Prof. Giuseppe Della Penna. Software House GRUPPO 19 CANALE A. A cura di: Università degli Studi de L Aquila A. A. 2001-2002 Prof. Giuseppe Della Penna PROGETTO DI LABORATORIO DI BASI DI DATI Software House GRUPPO 19 CANALE A A cura di: Giovanni Gasparri Paolo Palleschi Carmine

Dettagli

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

Dettagli

2011 Politecnico di Torino 1

2011 Politecnico di Torino 1 SQL per le applicazioni Esercitazione PHP e MySQL Svolgimento D B M G Passi di risoluzione creazione e popolamento della base di dati Creazione di un script SQL Passo 2 creazione di una query d interrogazione

Dettagli

Le Basi di Dati Attive

Le Basi di Dati Attive Le Basi di Dati Attive Basi di dati: Architetture e linee di evoluzione - Seconda edizione Capitolo 5 Appunti dalle lezioni SQL in Linguaggi di programmazione L uso diretto dell interprete SQL è tipicamente

Dettagli

Basi di Dati: Elementi

Basi di Dati: Elementi Basi di Dati: Elementi Docente: Prof. Pierangela Samarati Appello di Maggio online - 22 Maggio 2010 Tempo a disposizione 2:00h Soluzioni Domanda 1) Illustrare e commentare le diverse fasi del ciclo di

Dettagli

Prova Scritta di Basi di Dati

Prova Scritta di Basi di Dati Prova Scritta di Basi di Dati 27 Giugno 2007 COGNOME: NOME: MATRICOLA: Si prega di risolvere gli esercizi direttamente sui fogli del testo, negli spazi indicati. Usare il foglio protocollo solo per la

Dettagli

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

Dettagli

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto SQL Università degli Studi di Salerno Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto A.A. 2005/2006 Select La forma di select cui siamo arrivati

Dettagli

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

Dettagli

SQL Esempi. 24/10-7/11/2016 Basi di dati - SQL 1

SQL Esempi. 24/10-7/11/2016 Basi di dati - SQL 1 SQL Esempi 24/10-7/11/2016 Basi di dati - SQL 1 Esercitazioni pratiche Per SQL è possibile (e fondamentale) svolgere esercitazioni pratiche Verranno anche richieste copme condizione per svolgere le prove

Dettagli

ESEMPIO DI TRIGGER PER IL CONTROLLO DELLE PROPRIETÀ COPERTURA DI UNA GERARCHIA (ARGOMENTO SVOLTO IN CLASSE IL 25 MAGGIO 2011)

ESEMPIO DI TRIGGER PER IL CONTROLLO DELLE PROPRIETÀ COPERTURA DI UNA GERARCHIA (ARGOMENTO SVOLTO IN CLASSE IL 25 MAGGIO 2011) ESEMPIO DI TRIGGER PER IL CONTROLLO DELLE PROPRIETÀ COPERTURA DI UNA GERARCHIA (ARGOMENTO SVOLTO IN CLSE IL 25 MAGGIO 2011) Dato il seguente schema E/R consideriamo solo le due gerarchie relative a MANAGER/SEGRETARIA/IMPIEGATO

Dettagli

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

Dettagli

Corso di. Basi di Dati I. 10. Esercitazioni in SQL: Complementi

Corso di. Basi di Dati I. 10. Esercitazioni in SQL: Complementi Corso di Basi di Dati 10. Esercitazioni in SQL: Complementi A.A. 2016 2017 Funzioni condizionali Vediamo qualche altro comando utile di SQL. Il comando coalesce ammette come argomento una sequenza di espressioni

Dettagli

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

Dettagli

Esercizio con attributo cross-dimensionale - transazionale

Esercizio con attributo cross-dimensionale - transazionale Esercizio con attributo cross-dimensionale - transazionale TIPO (,CITTA) DI QTY CITTA (,ANNO) SCONTRINO(NSC, :) (,TIPO) VENDITA IN VENDITA(NSC:SCONTRINO,:, :,QTY,PU) IN PU NSC ANNO SCONTRINO DEL Viene

Dettagli

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: BASI DI DATI INGEGNERIA INFORMATICA PROVA PRATICA 31 GENNAIO 2015 SOLUZIONI Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: PAZIENTE(CodFiscale, Cognome,

Dettagli

Interrogazioni nidificate

Interrogazioni nidificate Interrogazioni nidificate Nella clausola where si possono utilizzare valori prodotti da altre istruzioni select utilizzando any (qualsiasi) o all (tutti) insieme agli operatori di confronto Trovare nome,

Dettagli

Fondamenti di Informatica 2 Simulazione d esame dell 11 Dicembre 2009

Fondamenti di Informatica 2 Simulazione d esame dell 11 Dicembre 2009 Esercizio 1 (6 punti) Date le seguenti strutture dati: int elementi[5]; int numeroelementi; Vettore; int elementi[5][5]; int numerorighe; int numerocolonne; Matrice; Fondamenti di Informatica 2 Simulazione

Dettagli

Informatica per le Scienze Umane - Corso di Laurea in Lettere Appello del Docente: Mirco Nanni. Soluzione

Informatica per le Scienze Umane - Corso di Laurea in Lettere Appello del Docente: Mirco Nanni. Soluzione Informatica per le Scienze Umane - Corso di Laurea in Lettere Appello del 18.01.2008 - Docente: Mirco Nanni Soluzione Parte 1: modello relazionale, SQL Si consideri la seguente base di dati relazionale

Dettagli

Cap. 7 -Trigger e loro uso

Cap. 7 -Trigger e loro uso 1 SOMMARIO 2 Introduzione... 3 Definizione standard di trigger... 10 Cap. 7 -Trigger e loro uso Uso dei trigger e integrità referenziale... 18 Comportamento attivo delle BD Si realizza disponendo di un

Dettagli

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

Dettagli

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: BASI DI DATI ING. INFMATICA PROVA PRATICA 10 FEBBRAIO 2014 SOLUZIONI Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: PAZIENTE(CodFiscale, Cognome, Nome,

Dettagli

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à

Dettagli

Archivi e basi di dati - ing. M. Cossentino. Settore. Traccia 1. Traccia 200. Settore non polarizzato

Archivi e basi di dati - ing. M. Cossentino. Settore. Traccia 1. Traccia 200. Settore non polarizzato Settore Traccia 1 Traccia 200 Settore non polarizzato '! " # $ % & ( ) * + + ' ' ' !"#"$%, & &'(("% '&)'' ''"* - -. / / / 0/!- "-, (0 #- / / / 0/ --- + 1 ' # $ + 2 13 ,, - 4 '. & 56 2 '/!!! "7&% 8, 9 /'"'0'1'&'

Dettagli

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,

Dettagli

Basi di Dati. Esercitazione SQL. 18 maggio 2007

Basi di Dati. Esercitazione SQL. 18 maggio 2007 Basi di Dati Esercitazione SQL 18 maggio 2007 1 Considerando la seguente base di dati: Fornitori (CodiceFornitore, Nome, Indirizzo, Città) Prodotti (CodiceProdotto, Nome, Marca, Modello) Catalogo (CodiceFornitore,

Dettagli

Esercitazione 4 SQL.

Esercitazione 4 SQL. Esercitazione 4 SQL foglia@iet.unipi.it DB Riferimento Il database di riferimento è il database UNIPI, creare una nuova istanza di database sul server e caricare i dati CREATE TABLE 1. Creare una tabella

Dettagli

Fondamenti di Informatica A. A / 1 9

Fondamenti di Informatica A. A / 1 9 Fondamenti di Informatica Prof. Marco Lombardi A. A. 2 0 1 8 / 1 9 Concetti Introduttivi 1/2 SQL (Structured Query Language) permette di manipolare i dati, interrogare un database relazionale e modellarne

Dettagli

ESERCITAZIONE: AZIENDA

ESERCITAZIONE: AZIENDA ESERCITAZIONE: AZIENDA Homework 24 ottobre 2002 Emanuel Weitschek emanuel@dia.uniroma3.it Prerequisiti (software) PostgreSQL pgadmin Driver JDBC Ambito Si consideri una base di dati che contiene informazioni

Dettagli

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

Dettagli