Basi di dati Appello del Soluzione del compito B
|
|
|
- Ernesto Deluca
- 8 anni fa
- Просмотров:
Транскрипт
1 Basi di dati Appello del Soluzione del compito B Anno Accademico 2011/12
2 Problema 1 - Schema ER (0,7) Palestra Ubicata Comune NumAbitanti Categoria Nome Attrezzistica SportSquadra AnnoApertura Valore DirettaDa (0,1) CF Utente Risiede Persona Sesso NumAnni Fornitura Utenza ClienteGold Attrezzo Usato Utilizzo Utente Utenza gold Sconto (0,1) Modello Peso Riparazione Ditta Ora Data Costo NumVolte NumDip
3 Categoria Palestra Ubicata Comune (0,1) (0,1) Problema 2 - Schema ER ristrutturato (1) (0,7) NumAbitanti Nome Attrezzistica Fornitura Attrezzo Modello AnnoApertura Peso ISA-AP ISA-SP SportSquadra Valore Riparazione Usato NumVolte DirettaDa Ditta (0,1) CF Utente Utenza Risiede Persona Utilizzo Sesso Ora Data Costo NumDip (0,1) ISA-GP NumAnni ClienteGold Utente Utenza gold Sconto (0,1)
4 Problema 2 - Schema ER ristrutturato (2) Vincoli esterni: (Vincolo di generalizzazione) ogni istanza di Palestra partecipa o alla relazione ISA-AP o alla relazione ISA-SP, ma non a tutte e due. Per ogni istanza <Utilizzo:u,ClienteGold:g> di UtenzaGold, detta p l istanza di Persona tale che <ClienteGold:g,Persona:p> è istanza di ISA-GP, si ha che <Utilizzo:u,Persona:p> è istanza di Utenza.
5 Problema 2 - Schema logico dalla traduzione Palestra(codice, comune, categoria) foreign key: Palestra[comune] Comune[codice] Comune(codice, nome, numabitanti) SportSquadra(codice, comune, valore) foreign key: SportSquadra[codice,comune] Palestra[codice,comune] Attrezzistica(codice, comune, annoapertura) foreign key: Attrezzistica[codice,comune] Palestra[codice,comune] DirettaDa(codice, comune, persona) foreign key: DirettaDa[codice,comune] SportSquadra[codice,comune] foreign key: DirettaDa[persona] Persona[CF] chiave: persona Persona(CF, sesso) foreign key: Persona[CF] Risiede[persona] Risiede(persona, comune) foreign key: Risiede[persona] Persona[CF] foreign key: Risiede[comune] Comune[codice] Attrezzo(codice, codpalestra, codcomune, modello, peso) foreign key: Attrezzo[codPalestra,codComune] Palestra[codice,comune] Ditta(codice, numdipendenti)
6 Problema 2 - Schema logico dalla traduzione Riparazione(codice, codpalestra, codcomune, ditta, numvolte) foreign key: Riparazione[codice,codPalestra,codComune] Attrezzo[codice,codPalestra,codComune] foreign key: Riparazione[ditta] Ditta[codice] Utilizzo(codice, codpalestra, codcomune, ora, data, costo) foreign key: Utilizzo[codice,codPalestra,codComune] Attrezzo[codice,codPalestra,codComune] foreign key: Utilizzo[codice,codPalestra,codComune,ora,data] Utenza[codice,codPalestra,codComune,ora,data] Utenza(codice, codpalestra, codcomune, ora, data, persona) foreign key: Utenza[codice,codPalestra,codComune,ora,data] Utilizzo[codice,codPalestra,codComune,ora,data] foreign key: Utenza[persona] Persona[CF] ClienteGold(CF,numAnni) foreign key: ClienteGold[CF] Persona[CF] UtenzaGold(codice, codpalestra, codcomune, ora, data, clientegold, sconto) foreign key: UtenzaGold[codice,codPalestra,codComune,ora,dataClienteGold] Utenza[codice,codPalestra,codComune,ora,data,persona] foreign key: UtenzaGold[clienteGold] ClienteGold[CF]
7 Problema 2 - Schema logico dalla traduzione Vincoli esterni: 1. Palestra[codice,comune] Attrezzistica[codice,comune] SportSquadra[codice,comune] 2. Attrezzistica[codice,comune] SportSquadra[codice,comune] = 3. Nessun valore che compare in Comune[codice] compare più di 7 volte in Palestra[comune]; questo vincolo si può rappresentare in SQL inserendo nella create table di Comune il vincolo: check (7 >= select count(*) from Palestra where Palestra.comune = codice)
8 Problema 2 Ristrutturazione schema logico Per rispondere alla indicazione che dato un attrezzo, una data ed un ora, si vuole spesso conoscere la persona che ha utilizzato quell attrezzo in quella data e in quell ora, occorre accorpare la relazione Utenza nella relazione Utilizzo (e quindi trasformare la foreign key che prima era definita tra Utenza e Persona in una foreign key tra Utilizzo e Persona e trasformare la foreign key che prima era definita tra UtenzaGold e Utenza in una foreign key tra UtenzaGold e Utilizzo ): Utilizzo(codice, codpalestra, codcomune, ora, data, costo, persona) foreign key: Utilizzo[codice,codPalestra,codComune] Attrezzo[codice,codPalestra,codComune] foreign key: Utilizzo[persona] Persona[CF] UtenzaGold(codice, codpalestra, codcomune, ora, data, clientegold, sconto) foreign key: UtenzaGold[codice,codPalestra,codComune,ora,dataClienteGold] Utilizzo[codice,codPalestra,codComune,ora,data,persona] foreign key: UtenzaGold[clienteGold] ClienteGold[CF]
9 Problema 2 - Schema logico finale Palestra(codice, comune, categoria) foreign key: Palestra[comune] Comune[codice] Comune(codice, nome, numabitanti) SportSquadra(codice, comune, valore) foreign key: SportSquadra[codice,comune] Palestra[codice,comune] Attrezzistica(codice, comune, annoapertura) foreign key: Attrezzistica[codice,comune] Palestra[codice,comune] DirettaDa(codice, comune, persona) foreign key: DirettaDa[codice,comune] SportSquadra[codice,comune] foreign key: DirettaDa[persona] Persona[CF] chiave: persona Persona(CF, sesso) foreign key: Persona[CF] Risiede[persona] Risiede(persona, comune) foreign key: Risiede[persona] Persona[CF] foreign key: Risiede[comune] Comune[codice] Attrezzo(codice, codpalestra, codcomune, modello, peso) foreign key: Attrezzo[codPalestra,codComune] Palestra[codice,comune] Ditta(codice, numdipendenti)
10 Problema 2 - Schema logico finale Riparazione(codice, codpalestra, codcomune, ditta, numvolte) foreign key: Riparazione[codice,codPalestra,codComune] Attrezzo[codice,codPalestra,codComune] foreign key: Riparazione[ditta] Ditta[codice] Utilizzo(codice, codpalestra, codcomune, ora, data, costo, persona) foreign key: Utilizzo[codice,codPalestra,codComune] Attrezzo[codice,codPalestra,codComune] foreign key: Utilizzo[persona] Persona[CF] ClienteGold(CF,numAnni) foreign key: ClienteGold[CF] Persona[CF] UtenzaGold(codice, codpalestra, codcomune, ora, data, clientegold, sconto) foreign key: UtenzaGold[codice,codPalestra,codComune,ora,dataClienteGold] Utilizzo[codice,codPalestra,codComune,ora,data,persona] foreign key: UtenzaGold[clienteGold] ClienteGold[CF] Vincoli esterni: 1. Palestra[codice,comune] Attrezzistica[codice,comune] SportSquadra[codice,comune] 2. Attrezzistica[codice] SportSquadra[codice] = 3. Nella create table di Comune: check (7 >= select count(*) from Palestra where Palestra.comune = codice)
11 Problema 3 Si consideri uno schema relazionale in cui la relazione Fiera(, Mese, Anno, Città, Direttore) memorizza, per un insieme di fiere, il codice della fiera, il mese, l anno e la città in cui si è tenuta, e la relazione Persona(CF, CittàResidenza) memorizza il codice fiscale e la città di residenza di un insieme di persone. 1. Per ogni fiera del 2009 tenutasi nella città di residenza del direttore, calcolare il codice della fiera ed il mese in cui si è tenuta. Soluzione: È sufficiente un banale join tra Fiera e Persona. select Fiera., Fiera.Mese! from!fiera, Persona! where Fiera.Direttore = Persona.CF and!!fiera.città = Persona.CittàResidenza and!!fiera.anno= 2009!
12 Problema 3 2. Calcolare le città in cui non si sono tenute fiere prima del Soluzione: Si calcola il complemento dell insieme delle città in cui si è tenuta almeno una fiera prima del Come insieme delle città si considera l unione delle città che compaiono nella relazione Fiera (attributo Città ) con quelle che compaiono nella relazione Persona (attributo CittàResidenza ). select Fiera.Città! from!fiera! where Fiera.Città not in!!!( select Fiera.Città!!!!from Fiera!!!!where!Anno < 1998 )! union! select Persona.CittàResidenza! from!persona! where Persona.CittàResidenza not in!!!( select Fiera.Città!!!!from Fiera!!!!where!Anno < 1998 )!
13 Problema 3 3. Si chiamano eterogenee le fiere tenute in un città diversa dalla città di residenza del direttore. Per ogni città in cui si sono tenute almeno 20 fiere eterogenee dal 2002, calcolare quante sono state le fiere eterogenee tenute dal 2002 in poi in tale città. Soluzione: Le fiere eterogenee si calcolano con un join tra Fiera e Persona su Fiera.Città <> Persona.Città e su Fiera.Direttore=Persona.CF. È sufficiente selezionare le tuple delle fiere eterogenee che hanno Anno maggiore o uguale di 2002, aggregare tali tuple su Città, ed usare la clausola having per filtrare solo i gruppi che hanno almeno 20 tuple (siccome è chiave per Fiera non serve usare la clausola distinct nel conteggio). select Fiera.Città, count(fiera.)! From Fiera, Persona! where Fiera.Direttore = Persona.CF and! Fiera.Città <> Persona.CittàResidenza and!!fiera.anno >= 2002! group by Fiera.Città! having count(fiera.) >=20!
14 Problema 4 Un vincolo di integrità è una condizione che si esprime a livello di schema della base di dati e che si intende debba essere soddisfatta da tutte le istanze della base di dati. Il vincolo di integrità dal 2000 in poi, nella città di Roma non si possono tenere fiere nel mese di dicembre è un vincolo intra-relazionale, e più in particolare un vincolo di tupla, che si esprime in SQL mediante la seguente clausola check dentro la create table relativa alla tabella Fiera : create table Fiera(...!...! check (Città <> Roma or Anno < 2000 or Mese <> Dicembre )!...! )!
Basi di dati. Appello del Soluzione Compito A. Anno Accademico 2006/07. Problema 1
Basi di dati Appello del 04-12-2006 Soluzione Compito A Anno Accademico 2006/07 Problema 1 Si richiede di progettare lo schema concettuale Entità-Relazione di un'applicazione relativa alla gestione delle
Esercitazione 7 Correzione della prova di autovalutazione
Esercitazione 7 Correzione della prova di autovalutazione Basi di dati - prof. Silvio Salza - a.a. 2017-2018 E7-1 Specifiche dello schema ER Si vuole progettare una base di dati che rappresenta l'organizzazione
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
Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 1 OTTOBRE 2015 Tempo: 2h30m
Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 1 OTTOBRE 2015 Tempo: 2h30m Si consideri il seguente schema di base di dati, che vuole memorizzare informazioni relative ai viaggi di lavoro
Esame di Basi di Dati, SOLUZIONE APPELLO 09/06/2009
Esame di Basi di Dati, SOLUZIONE APPELLO 09/06/2009 1. Si effettui la progettazione concettuale della base di dati secondo la specifica che segue fornendo un diagramma ER. Un azienda che gestisce gli eventi
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:
Esercitazione 3 SQL 2
Esercitazione 3 SQL 2 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E3-1 Schema della base di dati Persone (Nome, Sesso, Anno, Città) Discendenza (Genitore, Figlio) Stato (Città, Inizio, Fine, Stato)
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
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
Esprimere in algebra (ottimizzata), calcolo relazionale la seguente query:
Basi di dati: appello 07/02/11 Si consideri il seguente schema di base di dati che vuole tenere traccia delle informazioni relative ad un sistema per il pagamento automatico del pedaggio autostradale.
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
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
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)
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)
Lezione 4. Dallo schema ER al relazionale
Lezione 4 Dallo schema ER al relazionale Pag.1 Insieme di entità ER e tabelle relazionali CREATE TABLE ( CHAR(15), CHAR(20), INTEGER, PRIMARY KEY ()) Pag.2 Traduzione di relazioni ER (segue) dal r rid
Verifica di Informatica. Cognome e Nome: Classe 5ª Ci, Data
Verifica di Informatica Cognome e Nome: Classe 5ª Ci, Data Progettare la base di dati di una palestra. E necessario memorizzare le informazioni relative ai clienti che riguardano: codice fiscale, cognome
Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti.
Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti. Cognome: Nome: Matricola: Domanda 1 (20%) Considerare la base di dati relazionale contenente le seguenti relazioni:
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,
SQL Esercizi DML Blocco 1
SQL Esercizi DML Blocco 1 Si consideri il seguente schema di base di dati che vuole tenere traccia di alcune informazioni riguardanti gli studenti di un'università. Studenti(Matricola, NomeS, CognomeS,
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,
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,
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
Progettazione concettuale usando il modello Entità-Relazione (ER)
Progettazione concettuale usando il modello Entità-Relazione (ER) 1 Introduzione alla progettazione delle basi di dati Progettazione concettuale (in questa fase si usa il modello ER) Quali sono le entità
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
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
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,
Basi di Dati. Esercitazione 1: Interrogazioni in SQL. K. Donno - Interrogazioni in SQL
Basi di Dati Esercitazione 1: Interrogazioni in SQL DB di riferimento per esempi Consideriamo i seguenti schemi di una base di dati relazionale: PremioProduzione, DataAssunzione) Viene data la seguente
Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor
Interrogare una base di dati: algebra relazionale e SQL Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Contesto didattico Il seguente materiale didattico è
Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2
Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2 Vincoli di integrita 2 Cosa e un vincolo di integrita E una proprieta sempre valida
Basi di dati. Esercitazione 1 sulla progettazione concettuale e sulla ristrutturazione dello schema concettuale. Anno Accademico 2018/2019
Basi di dati Esercitazione 1 sulla progettazione concettuale e sulla ristrutturazione dello schema concettuale Anno Accademico 2018/2019 Maurizio Lenzerini Specifica dei requisiti Si richiede di effettuare
Left Join, Right Join, Full Join
Left Join, Right Join, Full Join Consideriamo il solito schema di database dell'ultima verifica. Ipotizziamo inoltre che tra le due relazioni sia impostato un vincolo di Integrità Referenziale. Modello
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,
Business Intelligence
Business Intelligence Esercitazione di Laboratorio N. 1 L esercitazione ha come obiettivo l interrogazione di una base di dati relazionale mediante query SQL su un DBMS Oracle XE. Schema logico della basi
QL (Query Language) Alice Pavarani
QL (Query Language) Alice Pavarani QL Query Language Linguaggio di interrogazione dei dati, permette di: Interrogare la base di dati per estrarre informazioni Elaborare i dati Il risultato di un interrogazione
SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini
SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA 3. Panoramica su SQL Prof. Mauro Giacomini Sommario Introduzione Istruzione SELECT Tipi di Join Subquery Comandi DML Creazione delle tabelle Introduzione
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,
Esercitazione 3. Vincoli di integrità. Approccio Procedurale
Esercitazione 3 Vincoli di integrità Approccio Procedurale Dalla progettazione concettuale alla realizzazione del database su MySQL Progettazione concettuale Requisiti Progettazione logica Schema concettuale
SQL [2] Concetti avanzati di SQL. Esempi di interrogazioni
SQL [2] Concetti avanzati di SQL 2 Esempi di interrogazioni 3 Esempi di interrogazioni 4 Esempi di interrogazioni 5 Confronti che coinvolgono NULL NULL può voler dire: valore sconosciuto (esiste ma non
8 SQL : Check, Asserzioni,Viste
Corso di Laurea in Ingegneria Gestionale SAPIENZA Università di Roma Esercitazioni del corso di Basi di Dati Prof.ssa Catarci e Prof.ssa Scannapieco Anno Accademico 2011/2012 8 SQL : Check, Asserzioni,Viste
ed SQL 10 Novembre 2009
Basi di Dati Esercitazione Algebra Relazionale ed SQL 10 Novembre 2009 Fornitori (CodiceFornitore, Nome, Indirizzo, Città) Prodotti (CodiceProdotto, Nome, Marca, Modello) Catalogo (Fornitore, Prodotto,
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
Progettazione logica
Progettazione logica Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E- R in modo corretto ed efficiente. Richiede
Databases. Esercizi su Query SQL
Databases Esercizi su Query SQL Diversi approcci, diversi stili Se siete tipi logici, pensate prima alle espressioni in algebra relazionale, e quindi trasformatele in query SQL. Se siete più smanettoni,
Esame Informatica Generale 13/04/2016 Tema A
Esame Informatica Generale 13/04/2016 Tema A! 1/! Quesito 1 (punteggio 2) Si considerino le seguenti istruzioni del linguaggio c/c++. int x[100]; void fz(int[], double[], double*); // puntatori void fz(int[],
Il linguaggio SQL: raggruppamenti
Il linguaggio SQL: raggruppamenti Sistemi Informativi T Versione elettronica: 04.3.SQL.gruppi.pdf Informazioni di sintesi Quanto sinora visto permette di estrarre dal DB informazioni che si riferiscono
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:
Basi di dati: appello 08/03/06
Basi di dati: appello 08/03/06 Si consideri il seguente schema di base di dati che vuole tenere traccia delle rappresentazioni di un gruppo di compagnie teatrali: COMPAGNIA (nome, cfdirettore, città_sede)
