RISOLUZIONE APPELLI DI SISTEMI INFORMATIVI

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "RISOLUZIONE APPELLI DI SISTEMI INFORMATIVI"

Transcript

1 RISOLUZIONE APPELLI DI SISTEMI INFORMATIVI a cura di E. Di Sciascio ed E. Tinelli

2 CONSIDERAZIONI PRELIMINARI... 3 APPELLO 28 LUGLIO Esercizio a... 4 Esercizio b... 6 Esercizio c... 7 Esercizio d... 8 APPELLO 17 FEBBRAIO Esercizio a... 9 Esercizio b Esercizio c Esercizio d APPELLO 12 FEBBRAIO Esercizio a Esercizio b Esercizio c Esercizio d Esempi di Normalizzazione ) Appello 7 Aprile ) Appello 23 Giugno ) Appello 28 Settembre ESEMPI di query SQL ) Appello 21 Novembre ) Appello 28 Settembre ) Appello 24 Settembre 2005 ed Esempi vari... 25

3 CONSIDERAZIONI PRELIMINARI 1. Si osservi che generalmente non esiste una soluzione unica per la risoluzione di un appello. Pertanto le risoluzioni qui proposte rappresentano esclusivamente un esempio di buone pratiche, ma non escludono altre risoluzioni formalmente e sostanzialmente corrette. In questo eserciziario, pertanto, si illustra una delle possibili soluzioni. 2. L esercizio b va svolto scrivendo le CREATE TABLE corrispondenti a ciascuna relazione del modello E-R dell esercizio a. Per semplicità, in questo eserciziario, riportiamo il risultato del mapping in forma tabellare ed esplicitiamo in SQL solamente le relazioni più complesse. 3. Quando nell esercizio a si individua un attributo calcolato (o attributo derivato) è possibile (ma non necessario) scrivere nell esercizio b, senza ricorrere all uso dei trigger, la query SQL che servirebbe per calcolare il suddetto attributo. 4. Per business rules si intendono quelle regole che è necessario verificare e che non possono essere espresse nel modello E-R. Generalmente tali regole possono essere espresse in SQL nell esercizio b mediante check, assertion e trigger. 5. L esercizio c può essere svolto secondo i seguenti 2 approcci: - trovare prima la chiave della tabella(anche procedendo per tentativi) e quindi le eventuali dipendenze piene dalla chiave, le dipendenze parziali e/o transitive dalla chiave; - trovare tutte le dipendenze funzionali in base alla semantica dei dati ed alle ipotesi del problema e poi individuare la chiave della tabella. In questo eserciziario si utilizza il secondo approccio.

4 APPELLO 28 LUGLIO 2006 Esercizio a Si progetti uno schema concettuale Entità-Relazioni per lo scenario più sotto descritto. Una base di dati deve essere utilizzata per gestire gli ordini di un azienda che produce PC ed organizzarne la produzione. Bisogna tener traccia dei dettaglianti che effettuano gli ordini dei PC e dei fornitori che forniscono i componenti necessari all azienda per assemblare i PC. Sia i dettaglianti che i fornitori sono caratterizzati dai seguenti dati: partita iva, ragione sociale, indirizzo, telefono ed . Sia i PC che i loro componenti sono caratterizzati da un codice univoco, un nome ed un prezzo. Inoltre, per i componenti è necessario memorizzare il fornitore di riferimento, mentre per i PC il numero di pezzi (minore o uguale a 30) ed i componenti che li costituiscono. Bisogna verificare anche che il numero di pezzi sia inferiore a 20 se il prezzo del PC è inferiore a 1000 euro. È necessario, infine, tenere traccia dei seguenti eventi: - gli ordini dei PC da parte dei dettaglianti caratterizzati dalla data ed ora dell ordine, dalla data di consegna pattuita, dal tipo di pagamento (anticipato, alla consegna, a 30 gg) e dai PC ordinati con le relative quantità; - il processo di assemblaggio di un PC caratterizzato dalla data ed ora di inizio del processo, dall ora di fine e dal dipendente che si occupa dell assemblaggio. Ciascun dipendente è caratterizzato dai seguenti dati: codice fiscale, nome, cognome, data di nascita e di assunzione. Indicare le cardinalità delle relazioni e un identificatore per ciascuna entità. Osservazioni: 1)Le due entità fornitore e dettagliante sono caratterizzate dagli stessi dati ma non è necessario modellare una gerarchia costituita nel seguente modo: - entità padre: azienda - entità figlie: fornitore e dettagliante. Il motivo è il seguente: le altre entità del modello fanno riferimento all entità fornitore oppure all entità dettagliante ma mai ad una generica azienda, pertanto la gerarchia doveva risolversi portando i figli nel padre. Il risultato è quindi quello di avere nel modello E-R due entità distinte fornitore e dettagliante ciascuna con i sui attributi e le sue relazioni. 2) Le due entità PC e componente sono caratterizzate da alcuni dati in comune, in particolare dalla chiave codice, ma non è necessario modellare una gerarchia costituita nel seguente modo: - entità padre: prodotto - entità figlie: PC e componente. Considerando che un pc ed un componente non sono materialmente la stessa cosa (difatti un pc è costituito dall insieme dei componenti) e che le altre entità del modello fanno sempre riferimento all entità PC oppure all entità componente ma mai ad un generico prodotto, una eventuale gerarchia doveva risolversi portando i figli nel padre. Anche in questo caso il risultato è quello di avere nel modello E-R due entità distinte PC e componente ciascuna con i sui attributi e le sue relazioni.

5 Business rules: 1. il numero di pezzi deve essere minore o uguale a 30; 2. il numero di pezzi deve essere inferiore a 20 quando il prezzo del PC è inferiore a 1000 euro; 3. il tipo di pagamento può assumere i seguenti 3 valori: anticipato, alla consegna, a 30 gg.

6 Esercizio b Si definiscano le relazioni (tabelle) risultanti in SQL, avendo cura di esplicitare i vincoli di integrità. DETTAGLIANTE ( PIVA, ragione_sociale, indirizzo, Tel, ) FORNITORE ( PIVA, ragione_sociale, indirizzo, Tel, ) PC ( codice, nome, prezzo, N_pezzi ) COMPONENTE ( codice, nome, prezzo, PIVA_fornitore ) PC_componente ( codicepc, codicecomp ) ORDINE ( data, ora, PIVA_dett, data_consegna, tipo_pagamento ) ORDINE_PC ( data, ora, PIVA_dett, codicepc, quantità ) DIPENDENTE ( CF, nome, cognome, data_nascita, data_assunzione ) ASSEMBLAGGIO ( data_in, ora_in, CF_dipendente, codicepc, ora_fine ) CREATE TABLE PC ( codice char (8) primary key, nome varchar(30) NOT NULL, prezzo numeric (7,2) NOT NULL, N_pezzi int check ( N_pezzi < = 30 ), check ( N_pezzi >=20 OR (N_pezzi <20 AND prezzo< 1000 )) ) CREATE TABLE ORDINE ( data date, ora time, PIVA_dett char (11) references dettagliante(piva), data_consegna date, tipo_ pagamento varchar (13) check (tipo_pagamento IN ( anticipato, alla consegna, a 30 gg ), primary key (data, ora, PIVA_dett) ) CREATE TABLE ORDINE_PC ( data date, ora time, PIVA_dett char(11), codicepc char(8) references PC(codice), quantità smallint NOT NULL, primary key (data, ora, PIVA_dett, codice PC), foreign key (data, ora, PIVA_dett) references ORDINE (data, ora, PIVA_dett) )

7 Esercizio c Si vuole realizzare un database relativo alla organizzazione dei provini delle Agenzie di casting italiane. E stata a tal fine costruita, da un inesperto progettista, una unica tabella descritta dai seguenti attributi: (PIVA_agenzia, nome_agenzia, indirizzo, tel, CF_partecipante, nome, cognome, data_nascita, e_mail, codice_materiale_partecipante, descr_materiale, num_foto, città_provino, nome_hotel_provino, data_provino, ora_provino, tipo_provino, esito_provino) Nell ipotesi che ciascun provino è organizzato da un agenzia e che una stessa persona possa partecipare a più provini, se ne determini la chiave e si individuino, esplicitandole, le dipendenze funzionali. Sulla base di queste si proceda alla normalizzazione in 3 forma normale, preservando le dip. Funzionali. Dominio\semantica dei dati: organizzazione dei provini delle Agenzie di casting italiane. Ipotesi della traccia: ciascun provino è organizzato da un agenzia ed una stessa persona può partecipare a più provini Il dominio dei dati e le ipotesi forniscono le seguenti considerazioni: il dominio dei dati indica che è necessario individuare le agenzie ed i provini mentre secondo le ipotesi della traccia chi li organizza e chi vi partecipa. Primo passo: trovare tutte le dipendenze funzionali in accordo al dominio ed alle ipotesi. Passare alla seconda forma normale individuando eventuali attributi composti. In questo esercizio l attributo indirizzo può essere considerato composto dai seguenti attributi: via, N_civico e CAP 1) PIVA_agenzia nome_agenzia, via, N_civico, CAP, tel 2) CF_partecipante nome, cognome, data_nascita, , codice_materiale_partecipante 3) codice_materiale_partecipante descr_materiale, num_foto Ipotesi: consideriamo che un agenzia in una città possa organizzare solo 1 provino al giorno. 4) PIVA_agenzia, città_provino, data_provino nome_hotel_provino, tipo_provino Ipotesi: consideriamo ora_provino come l ora in cui inizia la prova di ciascun partecipante. 5) PIVA_agenzia, città_provino, data_provino, CF_partecipante ora_provino, esito_provino Secondo passo: individuare la chiave della tabella. In base alle dipendenze trovate ipotizziamo come chiave della tabella PIVA_agenzia, città_provino, data_provino, CF_partecipante Se tutte le dipendenze precedenti possono essere classificate rispetto alla suddetta chiave in uno dei seguenti modi: dipendenza piena (la dip. 5); dipendenza parziale (la dip. 1, 2, 4);

8 dipendenza transitiva (la dip. 3); allora l esercizio è svolto correttamente. Le tabelle risultanti sono: AGENZIA (PIVA_agenzia, nome_agenzia, via, N_civico, CAP, tel) PARTECIPANTE (CF_partecipante, nome, cognome, data_nascita, , codice_materiale_partecipante) MATERIALE (codice_materiale_partecipante, descr_materiale, num_foto) PROVINO (PIVA_agenzia, città_provino, data_provino, nome_hotel_provino, tipo_provino) PARTECIPA_PROVINO (PIVA_agenzia, città_provino, data_provino, CF_partecipante, ora_provino, esito_provino) Esercizio d Date le seguenti relazioni: PROGETTO(Codice, nome, importo_mensile, data_inizio, data_consegna) DIPENDENTE(CF, nome, cognome, data_nascita, data_assunzione) LAVORA_SU(Codice, CF, num_ore, ruolo) esprimere in SQL le seguenti interrogazioni: 1) Estrarre i responsabili dei progetti con un importo annuale superiore a euro ed un numero di ore complessivo superiore a SELECT distinct CF FROM LAVORA_SU natural join PROGETTO WHERE importo_mensile*12 > AND ruolo = responsabile AND codice IN ( SELECT codice FROM LAVORA_SU GROUP BY codice HAVING sum(num_ore) > 1000 ) 2) Per ciascun dipendente, estrarre il numero di progetti su cui lavora attualmente con qualifica di programmatore. SELECT CF, count(*) FROM LAVORA_SU natural join PROGETTO WHERE ruolo = programmatore AND data_inizio <= 28/07/2006 AND data_consegna >= 28/07/2006 GROUP BY CF

9 APPELLO 17 FEBBRAIO 2006 Esercizio a Si progetti uno schema concettuale Entità-Relazioni per lo scenario più sotto descritto. Una base di dati deve essere utilizzata dal comune di Bari per gestire alcuni dati relativi ai suoi cittadini. Ciascun cittadino è caratterizzato da un codice fiscale, dal nome e dal cognome, dalla data e dal comune di nascita, dal numero di telefono e dalla residenza. Inoltre, per ciascun cittadino, interessa conoscere i seguenti dati che ne definiscono il percorso formativo: occupazione attuale, titolo di studio con relativa votazione, elenco degli eventuali attestati posseduti con relativa data di conseguimento. Per gestire la sezione Anagrafe del comune, è necessario memorizzare i seguenti dati: i genitori di ciascun cittadino, i matrimoni e la relativa data, considerando che ciascun cittadino può sposarsi più volte ma non con la stessa persona. Per gestire la sezione Catasto del comune, è necessario memorizzare le proprietà di ciascun cittadino che sono caratterizzate da un identificativo catastale, una descrizione, un valore economico ed una categoria catastale (unità abitativa, unità commerciale, terreno). Per l unità abitativa si deve tener traccia del numero di vani,mentre, per l unità commerciale ed il terreno, la superficie (espressa in mq). Per gestire la sezione Sanità del comune, è necessario memorizzare le malattie particolarmente infettive da cui è attualmente, oppure è stato affetto, ciascun cittadino indicando, per ognuna, la data di inizio della cura e l eventuale data di guarigione. Ciascuna malattia è identificata da un nome univoco, una descrizione, una classe (con valore non superiore a 4) e dal principio attivo che la cura. Si ipotizzi che nessun cittadino possa avere, per più di una volta, la stessa malattia. Indicare le cardinalità delle relazioni e un identificatore per ciascuna entità. Osservazioni: Le ipotesi della traccia su matrimonio (ciascun cittadino può sposarsi più volte ma non con la stessa persona) e malattia (nessun cittadino può avere, per più di una volta, la stessa malattia) ci permettono di utilizzare delle relazioni N : N. L entità PERCORSO FORMATIVO non è necessaria poichè è possibile assegnare tutti i suoi attributi e relazioni direttamente all entità CITTADINO. L espressione eventuale guarigione della traccia indica che il campo data_guarigione può essere NULL. La specifica che la superficie è espressa in mq è un indicazione per il tipo di dato in SQL da utilizzare per il campo mq nell esercizio b.

10 Risoluzione della gerarchia: Aggiungere un attributo tipo (unità abitativa, terreno, unità commerciale) all entità PROPRIETÀ e portare gli attributi dei figli (N_vani, mq) nell entità padre. Per essere più precisi dovremmo aggiungere un ulteriore vincolo (check) chiedendo che: - N_vani ha un valore quando tipo = unità abitativa - Mq ha un valore quando tipo = terreno oppure tipo = unità commerciale Business rules: 1. la classe non può assumere un valore superiore a tipo può assumere solo i 3 valori: unità abitativa, terreno, unità commerciale.

11 Esercizio b Si definiscano le relazioni (tabelle) risultanti in SQL, avendo cura di esplicitare i vincoli di integrità. CITTADINO (CF, nome, cognome, data_nascita, comune_ nascita, residenza, tel, CF_padre, CF_madre) MATRIMONIO (CF_marito, CF_moglie, data) PERCORSO_FORMATIVO ( CF, occupazione, titolo, voto) ATTESTATO ( ID, NOME) PERCORSO_ATTESTATO ( CF, ID, data) PROPRIETÀ (ID_catasto, descrizione, valore, tipo, N_vani, mq, CF_proprietario) MALATTIA ( nome, descrizione, classe) CITTADINO_MALATTIA ( CF, malattia, data_inizio, data_guarigione) CREATE TABLE CITTADINO ( CF char(16) primary key, nome varchar(30), cognome varchar(20), data_nascita date, comune_nascita varchar(50), residenza varchar(100), tel varchar(15), CF_padre char(16) references CITTADINO(CF), CF_madre char(16) references CITTADINO(CF) ) CREATE TABLE PERCORSO_FORMATIVO ( CF char(16) primary key, occupazione varchar(50), titolo varchar(50), voto smallint, foreign key(cf) references CITTADINO(CF) ) CREATE TABLE PROPRIETÀ ( ID_catasto char(10) primary key, descrizione varchar(100), valore numeric(9,2), tipo varchar (17) check (tipo IN ( unità abitativa, terreno, unità commerciale ), N_vani smallint, mq float, CF_proprietario char(16) references CITTADINO(CF), check ( (N_vani IS NOT NULL AND tipo = unità abitativa ) OR (mq IS NOT NULL AND tipo IN ( terreno, unità commerciale )) ) )

12 Esercizio c Si vuole realizzare un database relativo alla alle programmazioni dei films delle reti televisive italiane. E stata a tal fine costruita, da un inesperto progettista, una unica tabella descritta dai seguenti attributi: (cod_film, titolo, regista, anno_produzione, data_programmazione_film, ora_inizio, ora_fine, nome_retetv, tipo_rete, cod_pubblicità, nome_pubblicità, ora_trasmissione_pubblicità, durata) Considerando che alla programmazione di un film possono essere assegnate le stesse pubblicità, si determini la chiave della tabella e si individuino, esplicitandole, le dipendenze funzionali. Sulla base di queste si proceda alla normalizzazione in 3 forma normale, preservando le dip. Funzionali. Dominio\semantica dei dati: programmazioni dei films delle reti televisive italiane. Ipotesi della traccia: alla programmazione di un film possono essere assegnate le stesse pubblicità Il dominio dei dati e le ipotesi forniscono le seguenti considerazioni: il dominio dei dati indica che è necessario individuare i films, le reti televisive e le relative programmazioni mentre secondo le ipotesi della traccia le pubblicità e quando vengono trasmesse all interno di un film in programmazione. Primo passo: trovare tutte le dipendenze funzionali in accordo al dominio ed alle ipotesi. Passare alla seconda forma normale individuando eventuali attributi composti. 1) cod_film titolo, regista, anno_produzione 2) nome_retetv tipo_rete 3) cod_pubblicità nome_pubblicità, durata Ipotesi: consideriamo che un film non possa essere trasmesso su una stessa rete più volte al giorno. 4) cod_film, nome_retetv, data_programmazione_film ora_inizio, ora_fine Ipotesi: consideriamo l ipotesi della traccia. 5) cod_film, nome_retetv, data_programmazione_film, ora_trasmissione_pubblicità cod_pubblicità Secondo passo: individuare la chiave della tabella. Si verifichi che, se la chiave della tabella è cod_film, nome_retetv, data_programmazione_film, ora_trasmissione_pubblicità, tutte le dipendenze funzionali precedenti possono essere classificate rispetto alla suddetta chiave in uno dei seguenti modi: dipendenza piena, dipendenza parziale, dipendenza transitiva. Le tabelle risultanti sono: FILM (cod_film, titolo, regista, anno_produzione) RETE (nome_retetv, tipo_rete) PUBBLICITÀ (cod_pubblicità, nome_pubblicità, durata)

13 PROGRAMMAZIONE_FILM (cod_film, nome_retetv, data_programmazione_film, ora_inizio, ora_fine) PROGRAMMAZIONE_PUBBLICITÀ (cod_film, nome_retetv, data_programmazione_film, ora_trasmissione_pubblicità, cod_pubblicità) Esercizio d Date le seguenti relazioni: PERSONA(CF, nome, cognome, data_nascita) CORSA(N_linea, ora_partenza, comune_partenza, ora_arrivo, comune_arrivo, num_km) PRENOTAZIONE(codice, data_prenotazione, CF, N_linea, ora_partenza, costo) esprimere in SQL le seguenti interrogazioni: 1) Estrarre il comune di partenza, il comune di arrivo e la durata di tutte le corse prenotate da Mario Rossi. SELECT comune_partenza, comune_arrivo, ora_arrivo ora_partenza FROM CORSA WHERE (N_linea, ora_partenza) IN ( SELECT N_linea, ora_partenza FROM PRENOTAZIONE natural join PERSONA WHERE nome = Mario AND cognome = Rossi ) 2) Estrarre i viaggiatori che hanno prenotato una stessa corsa almeno 2 volte ma mai una corsa in partenza da Bari. SELECT * FROM Persona WHERE CF IN ( SELECT distinct P1.CF FROM PRENOTAZIONE P1, PRENOTAZIONE P2 WHERE P1.N_linea = P2.N_linea AND P1.ora_partenza = P2.ora_partenza AND P1.CF = P2.CF AND P1.codice <> P2.codice ) AND CF NOT IN ( SELECT distinct CF FROM PRENOTAZIONE natural join CORSA WHERE comune_partenza = Bari )

14 APPELLO 12 FEBBRAIO 2008 Esercizio a Si progetti uno schema concettuale Entità-Relazioni per lo scenario più sotto descritto. Una base di dati deve essere utilizzata per gestire il calendario delle partite del prossimo campionato di calcio di serie A e di serie B. Bisogna, pertanto, tener traccia delle seguenti informazioni: gli stadi italiani, le squadre di calcio, i calciatori tesserati e le partite disputate. In particolare, si consideri che: i calciatori che partecipano al campionato sono caratterizzati dai seguenti dati: numero di tessera, nome e cognome, data e paese di nascita. A ciascun giocatore è associato eventualmente un fan club di cui si vuole tener traccia mediante i seguenti dati: numero di iscritti, data di creazione, quota di partecipazione e sito internet; gli stadi utilizzati durante il campionato che sono caratterizzati dai seguenti dati: codice alfanumerico univoco, nome, capienza e città; le squadre che partecipano al campionato che sono caratterizzate dai seguenti dati: identificativo univoco, nome ed eventuale numero di scudetti vinti. Per gestire il calendario è necessario tener traccia delle partite disputate, che possono essere di serie A oppure di serie B, e che sono, inoltre, caratterizzate dai seguenti dati: data della partita, ora di inizio ed ora di fine, punteggio parziale alla fine del primo tempo e punteggio finale. Si osservi che è necessario verificare che ciascun punteggio sia costituito da una sequenza di caratteri di questo tipo 0:0. A ciascuna partita bisogna, inoltre, associare lo stadio di riferimento, la squadra che gioca in casa, la squadra ospite, l arbitro della partita, di cui si conoscono i soli dati anagrafici, i calciatori della prima squadra ed i calciatori della seconda. Infine, per ciascun calciatore, sia esso della prima o della seconda squadra, è necessario tener traccia del ruolo e dell eventuale numero di reti segnato in ogni partita e di un campo che indichi se il calciatore giochi come capitano in ciascuna delle partite disputate. Indicare le cardinalità delle relazioni e un identificatore per ciascuna entità.

15 N.B. era possibile anche considerare l entità FUN CLUB come entità debole dall entità CALCIATORE senza chiave parziale Business rules: 1) punt_parziale e punt_finale devono essere stringhe di testo di questo tipo _:_ 2) serie può assumere i valori A oppure B ; 3) capitano può assumere solo due valori (vero/falso oppure sì/no) 4) il codice dello stadio è alfanumerico

16 Esercizio b Si definiscano le relazioni (tabelle) risultanti in SQL, avendo cura di esplicitare i vincoli di integrità. Si riportano per brevità la definizione SQL solamente delle seguenti tabelle: FUN CLUB, PARTITA e GIOCA_CASA CREATE TABLE FUN CLUB ( URL char(30) primary key, N_tessera char(8) references GIOCATORE (N_tessera), data_creazione date, N_iscritti int, quota_iscrizione numeric(6,2) ) CREATE TABLE PARTITA ( data date, codstadio char(8) references STADIO (codice), ora_in time, ora_fin time, punt_parziale char(3) check( punt_parziale LIKE _:_ ), punt_finale char(3) check( punt_finale LIKE _:_ ), serie char(1) check( serie IN ( A, B )), CFarbitro char(16) references ARBITRO (CF), squadra_ospite int references SQUADRA (codice), squadra_casa int references SQUADRA (codice), primary key (data, codstadio) ) CREATE TABLE GIOCA_CASA ( N_tessera char(8) references CALCIATORE (N_tessera), data date, codstadio char(8), ruolo varchar(30), capitano bit, N_reti, primary key (N_tessera, data, codstadio) foreign key(data, codstadio) references PARTITA(data, codstadio) )

17 Esercizio c Si vuole realizzare un database relativo alla gestione delle consegne di una società di trasporti. E stata a tal fine costruita, da un inesperto progettista, un unica tabella descritta dai seguenti attributi: (Targa_mezzo, data_immatricolazione, modello, N_patente, nome, cognome, data_nascita, livello_servizio, data_consegna, N_ord_consegna, N_colli_consegnati, PIVA_dettagliante, ragione_sociale, via, civico, città, provincia) Nell ipotesi che un dettagliante possa ricevere una sola consegna al giorno e che l attributo N_ord_consegna indica il numero progressivo assegnato a ciascun dettagliante/consegna per definire l ordine delle consegne, se ne determini la chiave e si individuino, esplicitandole, le dipendenze funzionali. Sulla base di queste si proceda alla normalizzazione in 3 forma normale, preservando le dip. Funzionali. IPOTESI 1 - dettagliante possa ricevere una sola consegna al giorno IPOTESI 2 - N_ord_consegna indica il numero progressivo assegnato a ciascun dettagliante/consegna per definire l ordine delle consegne (1) Targa_mezzo data_immatricolazione, modello (2) N_patente nome, cognome, data_nascita, livello_servizio Si osservi che il livello di servizio poteva anche essere associato ad ogni consegna piuttosto che al conducente (3) PIVA_dettagliante ragione_sociale, via, civico, città (4) Città provincia (nell ipotesi che fissata la città determino univocamente la provincia) Per le ipotesi della traccia posso identificare univocamente una consegna con data_consegna e piva_dettagliante (IPOTESI 1) oppure con data_consegna e N_ord_consegna (IPOTESI 2). In particolare se fisso (soluzione A) (Data_consegna, piva_dettagliante) determino univocamente il numero d ordine della relativa consegna (in termini di dipendenze funzionali avrò Data_consegna, piva_dettagliante N_ord_consegna) mentre se fisso (soluzione B) (Data_consegna, N_ord_consegna) determino univocamente la piva_dettagliante associata alla relativa consegna (in termini di dipendenze funzionali avrò Data_consegna, N_ord_consegna piva_dettagliante) In accordo alla soluzione A ottengo la seguente dipendenza funzionale (5) Data_consegna, piva_dettagliante N_ord_consegna, N_colli_consegnati, targa_mezzo, N_patente

18 La chiave della tabella risulta essere in questo caso (soluzione A): Data_consegna, piva_dettagliante Infine, si poteva anche ipotizzare che il numero d ordine delle consegne fosse sempre lo stesso e non venisse calcolato di giorno in giorno. In questo caso l attributo N_ord_consegna andava associato direttamente alla piva_dettagliante (PIVA_dettagliante ragione_sociale, via, civico, città, N_ord_consegna) e l unica chiave possibile per la tabella diventava quella in accordo alla soluzione A Esercizio d Date le seguenti relazioni: CLIENTE (CodCliente, nome, cognome, gg_nascita, mm_nascita, aa_nascita) PRODOTTO (CodProdotto, nome) ACQUISTO (CodAcquisto, gg_acquisto, mm_acquisto, aa_acquisto, ora_acquisto, CodCliente) PRODOTTI_ACQUISTATI(CodAcquisto, CodProdotto, Num_pezzi) esprimere in SQL le seguenti interrogazioni: 1) Estrarre in ordine alfabetico i dati dei clienti che hanno fatto un acquisto il giorno del loro compleanno. SELECT distinct Cliente.* FROM Cliente natural join Acquisto WHERE gg_nascita=gg_acquisto AND mm_nascita=mm_acquisto ORDER BY cognome, nome Oppure SELECT * FROM Cliente C WHERE codcliente IN ( SELECT distinct codcliente FROM Acquisto WHERE mm_acquisto = C.gg_nascita AND mm_acquisto = C.mm_nascita) ORDER BY cognome, nome Oppure SELECT * FROM Cliente C WHERE (gg_nascita, mm_nascita) IN ( SELECT gg_acquisto, mm_acquisto FROM Acquisto WHERE codcliente = C.codCliente ) ORDER BY cognome, nome

19 2) Selezionare i prodotti per i quali nel 2007 è stato venduto un numero di pezzi complessivo superiore a SELECT * FROM Prodotto WHERE codprodotto IN ( SELECT codprodotto FROM Acquisto natural join Prodotti_acquistati WHERE aa_acquisto = 2007 GROUP BY codprodotto HAVING sum(num_pezzi) > 4000) Esempi di Normalizzazione 1) Appello 7 Aprile 2006 Si vuole realizzare un database relativo alla gestione delle chiamate di assistenza di un call center. E stata a tal fine costruita, da un inesperto progettista, un unica tabella descritta dai seguenti attributi: (cod_operatore, nome, cognome, tipo_operatore, data_chiamata, ora_inizio, ora_fine, CF_cliente, nome, cognome, data_nascita, tipo_pagamento_assistenza, cod_assistenza, descrizione_cod_assistenza, costo_assistenza_chiamata) Ipotesi della traccia: ciascuna chiamata può soddisfare più problemi di assistenza 1. cod_operatore nome, cognome, tipo_operatore 2. CF_cliente nome, cognome, data_nascita 3. cod_assistenza descrizione_cod_assistenza Osservazione: Un operatore in un certo istante prenderà una sola chiamata e quindi fissati operatore, data ed ora risultano univocamente definiti anche il cliente che effettua la chiamata e l ora di fine della stessa 4. cod_operatore, data_chiamata, ora_inizio ora_fine, CF_cliente Osservazione: secondo quanto indicato dalla traccia una stessa chiamata può risolvere più problemi di assistenza ossia fissata la chiamata è possibile avere N codici di assistenza diversi ed analogamente fissato un codice di assistenza questo può riferirsi ad N chiamate diverse pertanto si ottiene la seguente ultima dipendenza 5. cod_operatore, data_chiamata, ora_inizio, cod_assistenza tipo_pagamento, costo_assistenza_chiamata

20 Osservazione: Si è considerato il caso più generale in cui il costo_assistenza_chiamata sia il costo associato ad un problema di assistenza risolto durante una particolare chiamata Chiave della tabella: cod_operatore, data_chiamata, ora_inizio, cod_assistenza dipendenza piena (la dip. 5); dipendenza parziale (la dip. 1, 3, 4 ); dipendenza transitiva (la dip. 2).

21 2) Appello 23 Giugno 2006 Si vuole realizzare un database relativo alla gestione delle valutazioni delle prove di un concorso. E stata a tal fine costruita, da un inesperto progettista, un unica tabella descritta dai seguenti attributi: (CF_partecipante, nome_p, cognome_p, data_nascita, laurea, num_titoli, CF_commissario, nome_c, cognome_c, titolo_c, codice_elaborato, ora_consegna, num_pagine, puntegg_elaborato, data_valutazione, ora_valutazione, punteggio_commissario) Ipotesi della traccia: ciascun elaborato è valutato da più commissari 1. CF_partecipante nome_p, cognome_p, data_nascita, laurea, num_titoli, codice_elaborato 2. CF_commissario nome_c, cognome_c, titolo_c 3. codice_elaborato ora_consegna, num_pagine, puntegg_elaborato Osservazione: consideriamo l ipotesi della traccia ed il fatto che è plausibile supporre che un commissario valuti un elaborato una sola volta e che tale valutazione avverrà in una certa data ed ora 4. CF_partecipante, CF_commissario punteggio_commissario, data_valutazione, ora_valutazione Chiave della tabella: CF_partecipante, CF_commissario dipendenza piena (la dip. 4); dipendenza parziale (la dip. 1, 2 ); dipendenza transitiva (la dip. 3).

22 3) Appello 28 Settembre 2006 Si vuole realizzare un database relativo alla gestione dei contratti di affitto dei posti auto di un autosilo. E stata a tal fine costruita, da un inesperto progettista, un unica tabella descritta dai seguenti attributi: (N_patente, data_rilascio, nome, cognome, cellulare, N_targa, modello, colore, anno_immatricolazione, stato_auto, num_piano, num_box, data_inizio_contratto, data_fine_contratto, prezzo_affitto) 1. N_patente data_rilascio, nome, cognome, cellulare 2. N_targa modello, colore, anno_immatricolazione 3. num_box num_piano 4. N_targa, data_inizio_contratto data_fine_contratto, prezzo_affitto, N_patente, num_box, stato_auto Osservazione: Si è considerato il caso più generale in cui il proprietario varia nel tempo altrimenti si poteva anche far dipendere N_patente da N_targa Chiave della tabella: N_targa, data_inizio_contratto dipendenza piena (la dip. 4); dipendenza parziale (la dip. 2); dipendenza transitiva (la dip. 1,3).

23 ESEMPI di query SQL 1) Appello 21 Novembre 2006 d) Date le seguenti relazioni: CONTROLLORE (CF, nome, cognome, data_nascita, codice) CONTROLLO_AZIENDA (data_controllo, CF_controllore, ora, azienda_riferimento) RISULTATI_ANALISI_BOVINO ((Data_controllo, CF_controllore, ID_bovino, proteine, lattosio, grasso) esprimere in SQL le seguenti interrogazioni: 1) Estrarre i dati relativi a 2 controlli: il primo è quello in data odierna ed il secondo è quello immediatamente precedente. I soluzione che considera un ordine temporale basato solo sulla data SELECT * FROM controllo_azienda WHERE data_controllo = ' ' OR data_controllo = (SELECT max(data_controllo) FROM controllo_azienda WHERE data_controllo < ' ') II soluzione che considera un ordine temporale basato sulla data e sull ora select * from controllo_azienda where data_controllo = ' ' AND ora=(select max(ora) from controllo_azienda where data_controllo = ' ') UNION select * from controllo_azienda where (data_controllo, ora) = (select max(data_controllo),max(ora) from controllo_azienda where (data_controllo = ' ' AND ora1 < (select ora from controllo_azienda where (data_controllo, ora) = (select max(data_controllo), max(ora) from controllo_azienda where data_controllo = ' '))) OR (data_controllo = (select max(data_controllo) from controllo_azienda where data_controllo < ' ')) )

24 2) Estrarre i controllori che hanno partecipato a controlli per cui si è avuto un valor medio in grasso pari a 4.5 ed un valor medio in proteine superiore a 4. SELECT * FROM controllore Where CF IN (SELECT distinct CF_controllore FROM risultati_analisi_bovino GROUP BY data_controllo, CF_controllore HAVING avg(grasso) = 4.5 AND avg (proteine) > 4) 2) Appello 28 Settembre 2006 d) Date le seguenti relazioni: GIOCATORE (N_tessera, nome, cognome, data_nascita, squadra_attuale) PARTITA (Codice, squadra1, squadra2, campionato, punteggio1, punteggio2) GIOCATA (Codice, N_tessera, num_reti) esprimere in SQL la seguente interrogazione: 1) Estrarre i dati del capocannoniere del campionato 2004/2005. SELECT * FROM giocatore WHERE N_tessera IN ( SELECT N_tessera FROM partita NATURAL JOIN giocata WHERE campionato = ' ' GROUP BY N_tessera HAVING sum(num_reti) >= ALL (SELECT sum(num_reti) FROM partita NATURAL JOIN giocata WHERE campionato = ' ' GROUP BY N_tessera))

25 3) Appello 24 Settembre 2005 ed Esempi vari Date le seguenti relazioni: GUIDATORE ( CF, nome, cognome, età, N_patente) AUTO ( Targa, data_immatricolazione, modello, CF_guidatore) INCIDENTE ( Codice, anno, data_ora_riferimento, indirizzo, num_auto_coinvolte, num_feriti) AUTO_INCIDENTE ( Codice, anno, targa) esprimere in SQL le seguenti interrogazioni: 1) Selezionare, per ciascun incidente, l età media dei guidatori coinvolti. SELECT Codice,anno,avg(eta) FROM guidatore,auto,auto_incidente WHERE CF=CF_guidatore AND auto.targa=auto_incidente.targa GROUP BY Codice,anno; 2) Selezionare il numero di auto coinvolte ed il numero di feriti del primo e dell ultimo incidente (su base temporale) memorizzati nella base di dati. SELECT num_auto_coinvolte, num_feriti, data_ora_riferimento FROM incidente WHERE data_ora_riferimento = (select max(data_ora_riferimento) from incidente) OR data_ora_riferimento = (select min(data_ora_riferimento) from incidente) Oppure SELECT num_auto_coinvolte, num_feriti FROM incidente WHERE data_ora_riferimento >= ALL (select data_ora_riferimento from incidente) OR data_ora_riferimento <= ALL (select data_ora_riferimento from incidente) 3) Estrarre i guidatori che hanno fatto il maggior numero di incidenti SELECT distinct CF, nome, cognome FROM guidatore,auto,auto_incidente WHERE CF=CF_guidatore AND auto.targa=auto_incidente.targa GROUP BY CF HAVING count(*) >= ALL (SELECT count(*) FROM guidatore,auto,auto_incidente WHERE CF=CF_guidatore AND auto.targa=auto_incidente.targa GROUP BY CF);

26 4) Mostrare i guidatori che non sono mai stati coinvolti in incidenti. SELECT * FROM guidatore WHERE CF NOT IN (SELECT distinct CF_guidatore FROM auto natural join auto_incidente) 5) Selezionare le auto e l età del relativo guidatore che non hanno fatto più di due incidenti. SELECT Targa, modello, eta FROM guidatore,auto WHERE CF=CF_guidatore AND targa IN (SELECT targa FROM auto_incidente GROUP BY targa HAVING count(*) <=2);

RISOLUZIONE APPELLI DI SISTEMI INFORMATIVI

RISOLUZIONE APPELLI DI SISTEMI INFORMATIVI RISOLUZIONE APPELLI DI SISTEMI INFORMATIVI a cura di E. Di Sciascio ed E. Tinelli CONSIDERAZIONI PRELIMINARI... 3 APPELLO 28 LUGLIO 2006... 4 Esercizio a... 4 Esercizio b... 6 Esercizio c... 7 Esercizio

Dettagli

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

a) Si progetti uno schema concettuale Entità-Relazioni per lo scenario più sotto descritto. RISOLUZIONE APPELLO SISTEMI INFORMATIVI DEL 12/02/2007 a Si progetti uno schema concettuale Entità-Relazioni per lo scenario più sotto descritto. Una base di dati deve essere utilizzata per gestire il

Dettagli

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

Corso di Basi di Dati A.A. 2014/2015 Corso di Laurea in Ingegneria Gestionale Sapienza - Università di Roma Corso di Basi di Dati A.A. 2014/2015 Esercitazione su Progettazione Logica Tiziana Catarci, Andrea Marrella Ultimo aggiornamento :

Dettagli

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

Esercitazione 8 Mercoledì 21 gennaio 2015 (2 ore) DDL e progettazione Esercitazione 8 Mercoledì 21 gennaio 2015 (2 ore DDL e progettazione Testi degli esercizi Esercizio 1 (Tema d esame del 20 settembre 2012 Si consideri il seguente schema di base di dati che vuole tenere

Dettagli

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

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 21 LUGLIO 2015 Tempo: 2h30m Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 21 LUGLIO 2015 Tempo: 2h30m Si consideri il seguente schema di base di dati, che vuole memorizzare informazioni relative a pubblicazioni su riviste

Dettagli

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

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1 Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1 Si consideri il seguente schema di base di dati che vuole tenere traccia delle attività di un autofficina. MECCANICO (CodiceFiscale,

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 Corso di Laura in Informatica Umanistica

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

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

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

Prova scritta. Mercoledì 11 Febbraio 2009. Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2007/2008 Mercoledì 11 Febbraio 2009 Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2007/2008 Prova scritta Esercizio 1 (8 punti). Si vuole progettare una base di dati per un albergo che

Dettagli

Volumi di riferimento

Volumi di riferimento Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di

Dettagli

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

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 9 SETTEMBRE 2015 Tempo: 2h30m Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 9 SETTEMBRE 2015 Tempo: 2h30m Si consideri il seguente schema di base di dati, che vuole memorizzare informazioni relative a un sito di affitto

Dettagli

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

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare

Dettagli

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

Esercitazione 7 Progettazione concettuale. Versione elettronica: L07.progConcettuale.pdf Esercitazione 7 Progettazione concettuale Sistemi Informativi T Versione elettronica: L07.progConcettuale.pdf Esercizi di progettazione concettuale In questi esercizi vengono proposti degli estratti di

Dettagli

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

Prova scritta. Giovedì 02 Ottobre 2008. Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2007/2008 Giovedì 02 Ottobre 2008 Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2007/2008 Prova scritta Esercizio 1 (8 punti). Si vuole progettare una base di dati per uno stabilimento

Dettagli

Composizione. Tipo. Pubblicità. Numero ripetizioni. (1,N) (1,1) Composizione. Tipo. Messaggio promozionale. Codice. Azienda. Prodotto.

Composizione. Tipo. Pubblicità. Numero ripetizioni. (1,N) (1,1) Composizione. Tipo. Messaggio promozionale. Codice. Azienda. Prodotto. Diagramma ER Giorno Ora fine Composizione Palinsesto Informazione Fiction Spettacolo Giornalista Restrizione Messaggio promozionale spazio Interruzione allocazione Azienda Posizione Pubblicità Prodotto

Dettagli

Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006. Esercizi entità relazione risolti. a cura di Angela Campagnaro 802749

Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006. Esercizi entità relazione risolti. a cura di Angela Campagnaro 802749 Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006 Esercizi entità relazione risolti a cura di Angela Campagnaro 802749 Indice: Esercizio 1: Un insieme di officine 1.1 Testo esercizio.3

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

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:

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: Gestione dei dati e della conoscenza, 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: Si vuole modellare

Dettagli

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

Prova scritta. Mercoledì 23 Luglio 2008. Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2007/2008 Mercoledì 23 Luglio 2008 Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2007/2008 Prova scritta Esercizio 1 (8 punti). Si vuole progettare una base di dati per una catena di ristoranti

Dettagli

Informatica (Basi di Dati)

Informatica (Basi di Dati) Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof.

Dettagli

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

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014 Database Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014 Cos'è un database? È una struttura di dati composta da tabelle a loro volta composte da campi. Caratteristiche

Dettagli

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

SQL. DDL e vincoli. Basi di Dati 1 Esercitazione 4. Matteo Picozzi http://home.dei.polimi.it/picozzi {picozzi@elet.polimi.it} SQL DDL e vincoli Basi di Dati 1 Esercitazione 4 Matteo Picozzi http://home.dei.polimi.it/picozzi {picozzi@elet.polimi.it} DDL e vincoli 2 create table NomeTabella ( NomeAttributo Dominio [ ValoreDiDefault

Dettagli

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1 Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1 Si considerino le seguenti specifiche relative alla realizzazione della base di dati di una facoltà e si definisca

Dettagli

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

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7 ESEMPI DI QUERY SQL Dati di esempio... 2 Query su una sola tabella... 2 Esempio 1 (Ordinamento)... 2 Esempio 2 (Scelta di alcune colonne)... 3 Esempio 3 (Condizioni sui dati)... 3 Esempio 4 (Condizioni

Dettagli

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

1. Schema concettuale della base di dati Lo schema concettuale (o statico) è uno dei due schemi del progetto concettuale di un sistema informativo. Esame di Stato Istituto Tecnico Industriale Proposta di soluzione della seconda prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico: 2003-2004 1. Schema concettuale della base di dati Lo schema

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

BASI DI DATI e SISTEMI INFORMATIVI LABORATORIO Esercizi di SQL (esercizi raccolti dalla rete e rivisti) D.Gubiani ESERCIZIO 1 Consideriamo la base di dati di un agenzia che organizza banchetti e contiene

Dettagli

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

1.Tutte 2.Spesso P.IVAe le CF volte che si visualizza i dati un fornitore si mostranoanche. La mensa. La mensa Ristrutturare Osservazioni seguenti che possano indicazioni emergere lo schema sulle ER operazioni della slide frequenti successiva e indicando tenendo presenti i vincoli le 1.Tutte 2.Spesso P.IVAe le

Dettagli

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

Esprimere in algebra (ottimizzata), calcolo relazionale la seguente query: Basi di dati: appello 16/02/10 i consideri il seguente schema di base di dati che vuole tenere traccia delle informazioni relative ai partecipanti a gare podistiche in Lombardia CORSA (Codice, Nome, IndirizzoPartenza,

Dettagli

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome. Prof. Francesco Accarino Raccolta di esercizi modello ER Esercizio 1 Un università vuole raccogliere ed organizzare in un database le informazioni sui propri studenti in relazione ai corsi che essi frequentano

Dettagli

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi

Dettagli

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

Esame di Stato Istituto Tecnico Industriale Soluzione della Seconda Prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico: 2002-2003 Esame di Stato Istituto Tecnico Industriale Soluzione della Seconda Prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico: 2002-2003 Il primo punto richiede l analisi e lo sviluppo del progetto

Dettagli

Si formulino le seguenti interrogazioni tramite il linguaggio SQL:

Si formulino le seguenti interrogazioni tramite il linguaggio SQL: Informatica per le Scienze Umane - Corso di Laurea in Lettere Appello del 15.01.2009 - Docente: Massimo Coppola Modello Relazionale e SQL Si consideri la seguente base di dati relativa alla redazione di

Dettagli

Prova Scritta di Basi di Dati

Prova Scritta di Basi di Dati Prova Scritta di Basi di Dati 25 Luglio 2006 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

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

Compito Basi di Dati. Tempo concesso: 90 minuti 08 Giugno 2006 Nome: Cognome: Matricola: Compito Basi di Dati. Tempo concesso: 90 minuti 08 Giugno 2006 Nome: Cognome: Matricola: Esercizio 1 Si considerino le seguenti specifiche relative alla realizzazione di un sistema di gestione di uno studio

Dettagli

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

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,

Dettagli

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

ARCHIVI E DATABASE (prof. Ivaldi Giuliano) ARCHIVI E DATABASE (prof. Ivaldi Giuliano) Archivio: è un insieme di registrazioni (o records) ciascuna delle quali è costituita da un insieme prefissato di informazioni elementari dette attributi (o campi).

Dettagli

Esercitazione di Basi di Dati

Esercitazione di Basi di Dati Esercitazione di Basi di Dati Corso di Fondamenti di Informatica 6 Maggio 2004 Come costruire una ontologia Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza

Dettagli

Basi di dati 9 febbraio 2010 Compito A

Basi di dati 9 febbraio 2010 Compito A Basi di dati 9 febbraio 2010 Compito A Domanda 0 (5%) Leggere e rispettare le seguenti regole: Scrivere nome, cognome, matricola (se nota), corso di studio e lettera del compito (ad esempio, A) sui fogli

Dettagli

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: Il modello relazionale I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: 1. forniscono sistemi semplici ed efficienti per rappresentare

Dettagli

Basi di dati. Esercizi sul modello E.R.

Basi di dati. Esercizi sul modello E.R. Basi di dati Esercizi sul modello E.R. Esercizio 1, testo (1) Si vuole modellare un sistema per la gestione di visite mediche da svolgersi in diversi ambulatori medici Ogni visita è svolta in uno ed un

Dettagli

Esercitazione di Basi di Dati

Esercitazione di Basi di Dati Esercitazione di Basi di Dati Corso di Fondamenti di Informatica 15/22 Aprile 2004 Progettazione di un Database (DB) Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione,

Dettagli

COGNOME MATRICOLA. Con vincoli di integrita referenziale: INTERVENTO.CodTecnico à TECNICO.Codice INTERVENTO.MatCaldaia à CALDAIA.

COGNOME MATRICOLA. Con vincoli di integrita referenziale: INTERVENTO.CodTecnico à TECNICO.Codice INTERVENTO.MatCaldaia à CALDAIA. NOME COGNOME MATRICOLA ESERCIZIO 1 (15 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad un azienda che fornisce assistenza caldaie a domicilio: TECNICO(Codice, Nome,

Dettagli

M733 ESAME DI STATO DI ISTITUTO TECNICO COMMERCIALE CORSO DI ORDINAMENTO

M733 ESAME DI STATO DI ISTITUTO TECNICO COMMERCIALE CORSO DI ORDINAMENTO Seconda prova scritta Ministero dell Istruzione, dell Università e della Ricerca M733 ESAME DI STATO DI ISTITUTO TECNICO COMMERCIALE CORSO DI ORDINAMENTO Indirizzo: PROGRAMMATORI Tema di: INFORMATICA GENERALE

Dettagli

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO 20 SETTEMBRE 2012

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO 20 SETTEMBRE 2012 Prof. L. Tanca e F. A. Schreiber APPELLO 20 SETTEMBRE 2012 Si consideri il seguente schema di base di dati che vuole tenere traccia delle attività di una piscina nell anno 2012/2013. VASCA (CodVasca, Profondità)

Dettagli

Esercizio sui data base "Gestione conti correnti"

Esercizio sui data base Gestione conti correnti Database "Gestione conto correnti" Testo del quesito La banca XYZ vuole informatizzare le procedure di gestione dei conti correnti creando un archivio dei correntisti (Cognome, Nome, indirizzo, telefono,

Dettagli

DATABASE RELAZIONALI

DATABASE RELAZIONALI 1 di 54 UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II DIPARTIMENTO DI DISCIPLINE STORICHE ETTORE LEPORE DATABASE RELAZIONALI Dott. Simone Sammartino Istituto per l Ambiente l Marino Costiero I.A.M.C. C.N.R.

Dettagli

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi Università degli Studi di L Aquila Facoltà di Ingegneria Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi Prof. Gaetanino Paolone Dott. Ottavio Pascale a.a.2003-2004 Progetto Campo

Dettagli

Basi Di Dati, 09/12/2003

Basi Di Dati, 09/12/2003 Basi Di Dati, 09/12/2003 Una concessionaria di auto nuove ed usate vuole automatizzare alcune delle sue attività. L attività che la concessionaria vuole automatizzare riguarda la gestione delle auto nuove,

Dettagli

Capitolo 13. Interrogare una base di dati

Capitolo 13. Interrogare una base di dati Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 2.2 Comandi sulle tabelle 1 Prerequisiti Introduzione ai DB Tabelle, relazioni e attributi Chiave primaria Chiave esterna Vincoli di integrità 2 1 Introduzione

Dettagli

CAPITOLO 7 ESERCIZI SUL MODELLO ER

CAPITOLO 7 ESERCIZI SUL MODELLO ER CAPITOLO 7 (le soluzioni sono riportate da pag. 6 in poi) ESERCIZI SUL MODELLO ER Esercizio 1 Considerate lo schema ER in Figura 1: lo schema rappresenta varie proprietà di uomini e donne. a) Correggete

Dettagli

Modello E-R. Modello relazionale

Modello E-R. Modello relazionale 1 - Cinema Hollywood Si deve progettare una base di dati a supporto della programmazione cinematografica della catena di cinema Hollywood. Al momento dell acquisto di un film da proiettare vengono memorizzati

Dettagli

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

Impresa di raccolta e riciclaggio di materiali metallici e di rifiuti. Impresa di raccolta e riciclaggio di materiali metallici e di rifiuti. Indice Cognome Nome Matr.xxxxxx email Cognome Nome Mat. Yyyyyy email Argomento Pagina 1. Analisi dei requisiti 1 a. Requisiti espressi

Dettagli

Database 3 affitto veicoli. Testo del quesito

Database 3 affitto veicoli. Testo del quesito Database 3 affitto veicoli Testo del quesito La società salento trasporti dispone di diversi tipi di veicoli (moto, auto, furgoni, camion, ) che affitta ai propri clienti. La società vuole informatizzare

Dettagli

Soluzione dell esercizio del 12 Febbraio 2004

Soluzione dell esercizio del 12 Febbraio 2004 Soluzione dell esercizio del 12/2/2004 1 Soluzione dell esercizio del 12 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. 2. Modello concettuale

Dettagli

Basi di dati I. Esercitazione proposta

Basi di dati I. Esercitazione proposta Basi di dati I Esercitazione proposta Premessa Viene richiesta la realizzazione di una piccola base di dati, attraverso un processo di progettazione concettuale e logica e con la realizzazione di alcune

Dettagli

Esercizi di progettazione. Basi di dati 2005-2006

Esercizi di progettazione. Basi di dati 2005-2006 Esercizi di progettazione Basi di dati 2005-2006 Esercizio Compagnia aerea Si progetti la base di dati per una compagnia aerea. Elemento principale della compagnia sono i voli di linea. Ogni volo è caratterizzato

Dettagli

Capitolo 8. Esercizio 8.1

Capitolo 8. Esercizio 8.1 Capitolo 8 Esercizio 8.1 Si consideri lo schema Entità-Relazione ottenuto come soluzione dell esercizio 7.4. Fare delle ipotesi sul volume dei dati e sulle operazioni possibili su questi dati e, sulla

Dettagli

Progettazione di un DB....in breve

Progettazione di un DB....in breve Progettazione di un DB...in breve Cosa significa progettare un DB Definirne struttura,caratteristiche e contenuto. Per farlo è opportuno seguire delle metodologie che permettono di ottenere prodotti di

Dettagli

(a) Trovare le informazioni dei viaggi di durata inferiore ai 15 giorni select * from Viaggio where Durata <15

(a) Trovare le informazioni dei viaggi di durata inferiore ai 15 giorni select * from Viaggio where Durata <15 Esercizi SQL 1. Dato il seguente schema di base di dati relazionale: TURISTA(CF, Nome, Cognome, DataNascita, Telefono) VIAGGIO(Codice, NomeLocalità, Durata, Costo, DataPartenza) PRENOTAZIONE(Turista, Viaggio,

Dettagli

MODELLO E/R. Modellazione dei dati

MODELLO E/R. Modellazione dei dati MODELLO E/R Maria Mirto Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli elementi caratterizzanti e i legami intercorrenti

Dettagli

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

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. (Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System

Dettagli

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 25 Marzo 03 Nome: Cognome: Matricola: Esercizio 1

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 25 Marzo 03 Nome: Cognome: Matricola: Esercizio 1 Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 25 Marzo 03 Nome: Cognome: Matricola: Esercizio 1 Si considerino le seguenti specifiche relative alla realizzazione della base di dati di un circolo

Dettagli

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

Dettagli

Esame Di Stato A.S. 2004/2005 Istituto Tecnico Commerciale Corso Sperimentale Progetto Mercurio Corso di Ordinamento - Programmatori

Esame Di Stato A.S. 2004/2005 Istituto Tecnico Commerciale Corso Sperimentale Progetto Mercurio Corso di Ordinamento - Programmatori Esame Di Stato A.S. 2004/2005 Istituto Tecnico Commerciale Corso Sperimentale Progetto Mercurio Corso di Ordinamento - Programmatori Telelavoro ed e-commerce, due mini-rivoluzioni, stentano a svilupparsi

Dettagli

Introduzione alla teoria dei database relazionali. Come progettare un database

Introduzione alla teoria dei database relazionali. Come progettare un database Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare

Dettagli

Prova scritta del corso di Basi di dati attive 17 Dicembre 1999. Agenzia

Prova scritta del corso di Basi di dati attive 17 Dicembre 1999. Agenzia Prova scritta del corso di Basi di dati attive 17 Dicembre 1999 Si desidera automatizzare la gestione dei banchetti organizzati da un agenzia di pubbliche relazioni. Le specifiche del sistema informativo,

Dettagli

Associazioni. Informatica. Associazioni. Associazioni. Associazioni. Attributi. Possono esistere associazioni diverse che coinvolgono le stesse entità

Associazioni. Informatica. Associazioni. Associazioni. Associazioni. Attributi. Possono esistere associazioni diverse che coinvolgono le stesse entità Informatica Possono esistere associazioni diverse che coinvolgono le stesse entità Lezione 7 Lavora a Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione

Dettagli

Concetti preliminari teorici per il corso di Access Avanzato - Sc.Elem Falcone - PON 2010 - Prof. M. Simone

Concetti preliminari teorici per il corso di Access Avanzato - Sc.Elem Falcone - PON 2010 - Prof. M. Simone Concetti preliminari per il corso di Access di database e di DBMS Un database è un insieme ben organizzato di informazioni distribuite su più tabelle all interno dello stesso file e gestite da un apposito

Dettagli

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

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi Vogliamo creare una struttura per permettere di memorizzari i voti della classe in tutte le materie Per fare questo untilizziamo tre tabelle Alunni,materie,voti Alunni Materie Voti Creo un record per ogni

Dettagli

Definizione di domini

Definizione di domini Definizione di domini Come nei linguaggi ad alto livello (es. C) è possibile definire nuovi domini (tipi di dati) a partire da quelli predefiniti, anche se il costruttore è più limitato. create domain

Dettagli

Soluzioni dei temi dell, Esame di Stato

Soluzioni dei temi dell, Esame di Stato Soluzioni dei temi dell, Esame di Stato Indirizzo: RAGIONIERI PROGRAMMATORI Progetto Mercurio Tema di: INFORMATICA - 2000 Le tecnologie informatiche e telematiche, in particolare quelle legate a Internet,

Dettagli

Elena Baralis 2013 Politecnico di Torino 1

Elena Baralis 2013 Politecnico di Torino 1 Modello relazionale Docente M2170 Fondamenti di informatica Verdi M4880 Sistemi di elaborazione Bianchi F0410 Basi di dati Neri Docenti Nome Dipartimento Telefono Verdi Informatica 123456 Bianchi Elettronica

Dettagli

Progettazione di Basi di Dati

Progettazione di Basi di Dati Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello

Dettagli

MODELLO RELAZIONALE. Introduzione

MODELLO RELAZIONALE. Introduzione MODELLO RELAZIONALE Introduzione E' stato proposto agli inizi degli anni 70 da Codd finalizzato alla realizzazione dell indipendenza dei dati, unisce concetti derivati dalla teoria degli insiemi (relazioni)

Dettagli

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

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione SQL DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE SQL è più di un semplice linguaggio di interrogazione! Linguaggio di definizione dati (Data-definition language, DDL):! Crea/distrugge/modifica relazioni

Dettagli

Introduzione al corso

Introduzione al corso Introduzione al corso Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: introduzione.pdf Sistemi Informativi L-B Docente Prof. Paolo Ciaccia

Dettagli

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

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: storia SQL SQL: concetti base originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia il DML ne esistono varie versioni vediamo gli aspetti essenziali,

Dettagli

Attributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota

Attributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota Attributi e domini Assumiamo un universo infinito numerabile U = {A 0, A 1, A 2...} di attributi. Denotiamo gli attributi con A, B, C, B 1, C 1... e gli insiemi di attributi con X, Y, Z, X 1,... per brevità

Dettagli

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

Basi di Dati. Progettazione del Modello ER. K. Donno - Progettazione del Modello ER Basi di Dati Progettazione del Modello ER Dai requisiti allo schema ER Entità, relazioni e attributi non sono fatti assoluti dipendono dal contesto applicativo Nella pratica si fa spesso uso di una strategia

Dettagli

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

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

Dettagli

Lezione V. Aula Multimediale - sabato 29/03/2008

Lezione V. Aula Multimediale - sabato 29/03/2008 Lezione V Aula Multimediale - sabato 29/03/2008 LAB utilizzo di MS Access Definire gli archivi utilizzando le regole di derivazione e descrivere le caratteristiche di ciascun archivio ASSOCIAZIONE (1:1)

Dettagli

Basi di Dati corso C Esercitazione 18/12/2002 Autonoleggio tempo: 3 ore

Basi di Dati corso C Esercitazione 18/12/2002 Autonoleggio tempo: 3 ore Basi di Dati corso C Esercitazione 18/12/2002 Autonoleggio tempo: 3 ore Si vuole progettare una base di dati per conto di una società convenzionata con un aeroporto, che gestisce il noleggio di automobili

Dettagli

Corso di Basi di Dati. Progettazione di Database: Esercizi Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/

Corso di Basi di Dati. Progettazione di Database: Esercizi Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ Corso di Basi di Dati Progettazione di Database: Esercizi Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ Esercizio 0 Si vuole realizzare una base di dati per la gestione di un agenzia immobiliare

Dettagli

Secondo Compitino di Basi di Dati

Secondo Compitino di Basi di Dati Secondo Compitino di Basi di Dati 10 Giugno 2004 NOME: COGNOME: MATRICOLA: Esercizio Punti previsti 1 18 2 12 3 3 Totale 33 Punti assegnati Esercizio 1 (Punti 18) Si vuole realizzare un applicazione per

Dettagli

Lezione 2. Il modello entità relazione

Lezione 2. Il modello entità relazione Lezione 2 Il modello entità relazione Pag.1 Introduzione alla progettazione delle basi di dati 1. Analisi dei requisiti Quali sono le entità e le relazioni dell organizzazione? Quali informazioni su queste

Dettagli

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Maschere e Query Le Maschere (1/2) Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Le maschere sono simili a moduli cartacei: ad ogni campo corrisponde un etichetta

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

Basi di Dati e Microsoft Access

Basi di Dati e Microsoft Access Basi di Dati e Microsoft Access Lun: 16-18 e Mer: 14-17 Alessandro Padovani padoale@email.it Database: definizione Un database (DB) è una collezione di informazioni organizzata in gruppi, che consentono

Dettagli

MAX, SUM, AVG, COUNT)

MAX, SUM, AVG, COUNT) INTRODUZIONE A SQL Definizione di tabelle e domini Alcuni vincoli di integrità Struttura base SELECT FROM WHERE Funzioni di aggregazione (MIN, MAX, SUM, AVG, COUNT) Query da più tabelle (FROM R1, Rk) Join

Dettagli

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema Pagina: 1 e-travel ING SW Progetto di Ingegneria del Software e-travel Requisiti Utente Specifiche Funzionali del Sistema e Pagina: 2 di 9 Indice dei contenuti 1 INTRODUZIONE... 3 1.1 SCOPO DEL DOCUMENTO...

Dettagli

Fasi del progetto ( 1 )

Fasi del progetto ( 1 ) Progetto 2004-2005 2005 Esercitazione delle lezioni 2, 3 e 4. 1 Fasi del progetto ( 1 ) Analisi dettagliata delle specifiche fornite dal committente. Questa fase è fondamentale per capire a fondo quali

Dettagli

BASE DI DATI: sicurezza. Informatica febbraio 2015 5ASA

BASE DI DATI: sicurezza. Informatica febbraio 2015 5ASA BASE DI DATI: sicurezza Informatica febbraio 2015 5ASA Argomenti Privatezza o riservatezza Vincoli di integrità logica della base di dati intrarelazionali interrelazionali Principio generale sulla sicurezza

Dettagli

Progettazione di una base di dati Ufficio della Motorizzazione

Progettazione di una base di dati Ufficio della Motorizzazione Corso di Gestione dell Informazione Studenti NON frequentanti A.A. 2008/2009 1 Scopo del progetto Progettazione di una base di dati Ufficio della Motorizzazione Si vuole realizzare un applicazione base

Dettagli

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL. Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL. 2ELHWWLYL GD UDJJLXQJHUH SHU JOL VWXGHQWL alla fine dell esercitazione gli studenti dovranno essere in grado di: 1. utilizzare

Dettagli

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Dettagli