Esercizio ER 1. Soluzione ER 1



Похожие документы
Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1

Progetto Gestione dei Data Base Turistici PROGETTO 1

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

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO 20 SETTEMBRE 2012 Tempo a disposizione: 2 ore 30 minuti

Soluzione esercizio 1: schema E-R

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

Laboratorio n 7 del Ing. Dario Cogliati

Informatica (Basi di Dati)

Esercitazione di Basi di Dati

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

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

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

ESAME di INFORMATICA e ARCHIVIAZIONE

Compito Basi di Dati. Tempo concesso: 90 minuti 18 Gennaio 2007 Nome: Cognome: Matricola:

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

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

Modello E-R. Modello relazionale

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

Corso di Basi di Dati. Progettazione di Database: Esercizi Home page del corso:

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

Capitolo 13. Interrogare una base di dati

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

Volumi di riferimento

Basi di dati I. Esercitazione proposta

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

Modello dei Dati ENTITÀ-RELAZIONE (ENTITY-RELATIONSHIP) é l insieme di concetti, simboli, regole che useremo per rappresentare il modello concettuale

Basi di Dati Corso di Laura in Informatica Umanistica

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

Basi di dati. Esercitazione ER. Paolo Papotti. Esercizio giugno 2005

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

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

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

Progettazione di un DB....in breve

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

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

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

Le Basi di Dati. Le Basi di Dati

LABORATORIO di INFORMATICA

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

M733 ESAME DI STATO DI ISTITUTO TECNICO COMMERCIALE CORSO DI ORDINAMENTO

DATABASE RELAZIONALI

S Q L E S E R C I Z I

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

Esercizi di progettazione concettuale di una base di dati

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Progettazione di una base di dati Ufficio della Motorizzazione

Progettare una base di dati che permetta di gestire il problema descritto nel seguito, nei seguenti punti:

Esercizio 1. Cognome e nome:... Matricola:...

Esercizi di progettazione. Basi di dati

Esame di Basi di Dati, SOLUZIONE APPELLO 12/01/2010

Esercitazione di Basi di Dati

Esercitazione su SQL

INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3

ESAME di INFORMATICA e ARCHIVIAZIONE

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

Progetto di basi di dati Laboratorio di diagnosi mediche

Progettazione e realizzazione di un applicativo Web Annunci Immobiliari

Basi di Dati. Esercizi di SQL (2) - Soluzioni

Introduzione alla progettazione. Metodologie e modelli per la progettazione di basi di dati. Il ciclo di vita dei sistemi informativi

Basi di Dati. Esercitazione SQL. Ing. Paolo Cappellari

SQL. Linguaggio di interrogazione per basi di dati relazionali. Relazione = tabella con attributi (a 1, a 2,, a n ): Funzionalità principali di SQL:

Database 1 biblioteca universitaria. Testo del quesito

Il database management system Access

DIPARTIMENTO IMPIEGATO PROGETTO SEDE. (0,1) (1,1) DIREZIONE Cognome. Codice. Telefono (0,1) (1,N) AFFERENZA. Stipendio (0,N) Nome (1,1) Età

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

Ricorsione in SQL-99. Introduzione. Idea di base

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

Basi di dati 9 febbraio 2010 Compito A

Basi di dati. Le funzionalità del sistema non vanno però ignorate

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

Basi di dati. Esercizi sul modello E.R.

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:

Il seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto:

Esercizio 2 (15 punti). Si consideri una base di dati che contiene le informazioni relative a uno zoo, descritte dal seguente schema relazionale:

Si formulino le seguenti interrogazioni tramite il linguaggio SQL:

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26

Esercitazione 28 Gennaio 2013

N ######/02 Seconda prova scritta *$$$$$21115* *$$$$$21115* *$$$$$21115* *$$$$$21115* A T T E N Z I O N E

Secondo Compitino di Basi di Dati

Data management a.a Il linguaggio SQL

database: modello entityrelationship

Esercizio data base "Biblioteca"

Operazioni sui database

Prova Scritta di Basi di Dati

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 23 Settembre 03 Nome: Cognome: Matricola:

Lezione 2. Il modello entità relazione

Capitolo 7. Esercizio 7.1

Introduzione ai database relazionali

Progetto Motorizzazione. Si vuole realizzare un'applicazione base di dati per la gestione di un ipotetico ufficio della motorizzazione.

Appello di BD del Corso di laurea in Informatica del 9/1/2007 Compito e soluzioni

Progettazione di Database. Un Esempio

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

Gestione Voti Scolastici

Progettazione di Basi di Dati

Esercitazione ER e Algebra Relazionale

Gestione del workflow

CORSO I.F.T.S. "TECNICHE PER LA PROGETTAZIONE E LA GESTIONE DI DATABASE. Matricola 2014LA0033 DISPENSE DIDATTICHE MODULO DI PROGETTAZIONE SOFTWARE

Basi di dati 30 settembre 2010 Compito A

Progettaz. e sviluppo Data Base

Laboratorio n 7 del Ing. Dario Cogliati

Транскрипт:

Esercizio ER 1 Si vuole rappresentare una base di dati per una stazione radio. Nella stazione radio lavorano conduttori, tecnici, e personale amministrativo, per ciascuno dei quali si vuol tenere traccia del codice fiscale e dei dati anagrafici. Per il personale amministrativo si vuole memorizzare la qualifica, e per i tecnici la specializzazione. Conduttori e tecnici sono assegnati ad una o più trasmissioni della radio. Per ogni trasmissione, caratterizzata da un nome, si vuole tenere traccia dell'orario e del giorno a cui viene trasmessa. In ogni trasmissione vengono trasmessi dei brani musicali, per i quali si vuole tenere traccia del titolo e del numero progressivo all'interno dell'lp a cui appartengono. Per ogni LP, si vuole tenere traccia del titolo, del codice, della casa discografica, e degli autori. Inoltre, a una trasmissione possono partecipare uno o più ospiti in studio, per i quali si vuole tenere traccia del codice fiscale, del nome e, se noti, dei numeri di telefono, e della data in cui partecipano alla trasmissione. Si assuma che un brano non venga mai trasmesso due volte nella stessa trasmissione, e che un ospite non partecipi mai due volte alla stessa trasmissione. Descrivere con un diagramma Entità-Relazione lo schema concettuale di una base dati per lo scenario descritto. Costruire, a partire dallo schema concettuale derivato al punto precedente, lo schema logico relazionale per la stessa base di dati. (Facoltativo) Rimuovere l'assunzione circa i brani, e considerare (sia nel progetto concettuale che in quello logico) anche il caso in cui un brano venga trasmesso più volte, in date diverse, durante la medesima trasmissione. Soluzione ER 1

AMMINISTRATIVO(CF, DatiAnagr, Qualifica) TECNICO(CF, DatiAnagr, Specializzazione) CONDUTTORE(CF, DatiAnagr) TRASMISSIONE(Nome, Giorno, Ora) ASSEGNATO TECNICO(CF, NomeTrasm) ASSEGNATO CONDUTTORE(CF, NomeTrasm) LP(Cod, Titolo, CasaDisc) AUTORE(CodLP, NomeAutore) BRANO(CodLP, Titolo, NProgr) OSPITE(CF, Nome) NTEL OSPITE(CF, Numero) TRASMESSO(NomeTrasm, Titolo, CodLP, Data) INVITATO(NomeTrasm, CF, Data) Esercizio ER 2 Si vuole rappresentare una base di dati per la gestione del programma di una manifestazione di concerti di musica classica. I concerti proposti nel programma sono caratterizzati da titolo e descrizione. Ogni concerto è composto da un certo numero di pezzi musicali, ognuno caratterizzato da un titolo e da uno o più autori. Inoltre, per ogni concerto si conosce l'ordine in cui sono rappresentati i pezzi che fanno parte del programma. L'esecutore di ogni concerto è identificato da un codice, ed è caratterizzato da nome e stato di provenienza. L'esecutore può essere un'orchestra oppure un solista. Nel caso delle orchestre si memorizzano il nome del direttore e il numero di elementi nell'orchestra, mentre nel caso dei solisti si considera lo strumento suonato. Per le orchestre, inoltre, si memorizzano i componenti (un orchestrale può suonare in una sola orchestra), identificati da un codice univoco all'interno dell'orchestra, e caratterizzati da nome, data di nascita e lo strumento suonato. I concerti sono tenuti in sale da concerto, identificate da un codice univoco e caratterizzate da nome, indirizzo, capienza massima, numero di posti a sedere, ed eventualmente da uno o più numeri di telefono. Ogni concerto può essere programmato in una o più date (ma mai nella stessa sala). Per ogni programmazione di un concerto è noto il prezzo del biglietto, che può essere diverso per programmazioni diverse dello stesso concerto. Descrivere con un diagramma Entità-Relazione lo schema concettuale di una base dati per lo scenario descritto. Costruire, a partire dallo schema concettuale derivato al punto precedente, lo schema logico relazionale per la stessa base di dati. (Facoltativo) Rimuovere l'assunzione circa le sale, e considerare (sia nel progetto concettuale che in quello logico) anche il caso in cui un concerto possa avere luogo anche più volte, in date diverse, nella stessa sala.

Soluzione ER 2 CONCERTO(TitoloC, Descr) SOLISTA(Cod, Nome, Stato, Strumento) ORCHESTRA(Cod, Nome, Stato, NomeDirettore, NElementi) COMPONENTE(Cod, CodOrchestra, Nome, DataN, Strumento) ORCHESTRA ESEGUE(CodConcerto, CodOrchestra) SOLISTA ESEGUE(CodConcerto, CodSolista) SALA(Cod, Nome, Indirizzo, NPostiSedere, CapienzaMax) NTEL SALA(Numero, CodSala) HA LUOGO(CodConcerto, CodSala, Data, PrezzoBiglietto) Esercizi SQL 1. Sia dato il seguente schema relazionale: LP(CodLP, Titolo, CodAutore, Anno, CasaDiscografica) AUTORE(CodAutore, Nome) a) Visualizzare l anno di registrazione dell LP Nuvole di F. de Andrè. b) Visualizzare il titolo degli LP registrati dai Pearl Jam dal 1990 in avanti. c) Visualizzare il nome degli autori che hanno registrato LP con una sola casa discografica, realizzando tale interrogazione mediante il costrutto NOT EXISTS. 2. Sia dato il seguente schema relazionale: LAVORA-IN(CodImpiegato, CodUfficio) IMPIEGATO(CodImpiegato, Nome, Titolo, Stipendio) a) Visualizzare nome e codice di tutti gli impiegati che percepiscono uno stipendio mensile superiore ai 2.000.000 di lire. b) Visualizzare il nome e il codice di tutti gli impiegati che condividono l ufficio con il Rag. Fantozzi.

c) Visualizzare il nome di tutti gli impiegati che condividono l ufficio con esattamente un altra persona che ha inoltre stipendio maggiore del loro. 3. Sia dato il seguente schema relazionale: STUDENTI(Matr, Nome, AnnoIscr) ESAMI(CodCorso, Matr, Data, Voto) PIANO-STUDI(Matr, CodCorso, Anno) a) Visualizzare il nome di tutti gli studenti che hanno superato l esame di tutti i corsi indicati nel loro piano di studi. Soluzioni SQL 1. (a) SELECT Anno WHERE Titolo = "Nuvole" AND Nome = "De Andre " AND LP.CodAutore = Autore.CodAutore; (b) SELECT Titolo WHERE Nome = "Pearl Jam" AND LP.CodAutore = Autore.CodAutore; AND Anno >= 1990; (c) SELECT Nome WHERE LP.CodAutore = Autore.CodAutore FROM LP AS LP2 WHERE LP2.CodAutore = Autore.CodAutore AND LP.CasaDiscografica <> LP2.CasaDiscografica); 2. (a) SELECT Nome, CodImpiegato FROM Impiegato AS I WHERE Stipendio > 2.000.000; (b) SELECT Nome, CodImpiegato FROM Impiegato WHERE Nome <> "Fantozzi" AND CodImpiegato IN (SELECT CodImpiegato FROM LavoraIn WHERE CodUfficio = (SELECT CodUfficio FROM LavoraIn AS L, Impiegato AS I WHERE Nome = "Fantozzi" AND Titolo = "Rag." AND L.CodImpiegato = I.CodImpiegato)) L interrogazione (equivalente) con il join è assai più complessa: SELECT I2.Nome, I2.CodImpiegato FROM Impiegato AS I1, Impiegato AS I2

LavoraIn AS L1, LavoraIn AS L2 WHERE I1.Nome = "Fantozzi" AND I2.Nome <> "Fantozzi" AND I1.Titolo = "Rag." AND I1.CodImpiegato = L1.CodImpiegato AND L1.CodUfficio = L2.CodUfficio AND L2.CodImpiegato = I2.CodImpiegato; In pratica, I1 e L1 sono impiegate per determinare l ufficio di Fantozzi, mentre I2 e L2 sono impiegate per trovare i nomi dei suoi compagni di ufficio. (c) SELECT I1.Nome FROM Impiegato AS I1, Impiegato AS I2 LavoraIn AS L1, LavoraIn AS L2 WHERE I1.CodImpiegato = L1.CodImpiegato AND L1.CodUfficio = L2.CodUfficio AND L2.CodImpiegato = I2.CodImpiegato AND I2.Stipendio > I1.Stipendio FROM Impiegato AS I3, LavoraIn AS L3 WHERE L1.CodUfficio = L3.CodUfficio AND L3.CodImpiegato <> L2.CodImpiegato AND L3.CodImpiegato <> L1.CodImpiegato); 3. (a) SELECT Nome FROM Studenti WHERE NOT EXISTS FROM PianoStudi FROM Esame WHERE Esame.Matr = Studenti.Matr AND PianoStudi.Matr = Studenti.Matr AND Esame.CodCorso = PianoStudi.CodCorso));