Compito Basi di Dati. Tempo concesso: 2 ore 18 Febbraio 2013 Nome: Cognome: Matricola:

Documenti analoghi
Si definisca il relativo schema E/R (nella metodologia proposta a lezione) e si evidenzino eventuali vincoli inespressi e attributi derivati.

Compito Basi di Dati. Tempo concesso : 90 minuti 21 Gennaio 05 Nome: Cognome: Matricola: Esercizio 1

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

Compito DA e BD. Tempo concesso: 90 minuti 21 gennaio 04 Nome: Cognome: Matricola: Esercizio 1

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 28 Giugno 05 Nome: Cognome: Matricola: Esercizio 1

Compito Sistemi Informativi LS. Tempo concesso : 90 minuti 14 luglio 2010 Nome: Cognome: Matricola:

Compito Basi di Dati. Tempo concesso: 90 minuti 15 Febbraio 2007 Nome: Cognome: Matricola:

Compito Basi di Dati. Tempo concesso : 90 minuti 28 aprile 2005 Nome: Cognome: Matricola:

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 22 Giugno 04 Nome: Cognome: Matricola:

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 26 Giugno 07 Nome: Cognome: Matricola: Esercizio 1

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 27 Marzo 07 Nome: Cognome: Matricola:

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 14 Dicembre 04 Nome: Cognome: Matricola:

COGNOME MATRICOLA. STUDENTE(Codice, Nome, Cognome, LuogoNascita) CDL (Codice, Nome, PunteggioMinimo) QUIZ(CodiceCorso, CodiceStudente, Punteggio)

Si considerino le seguenti specifiche relative alla realizzazione di un sistema informativo per la comunità scientifica di ricerca paleontologica.

Si considerino le seguenti specifiche relative alla realizzazione di un sistema informativo per la gestione di un sito di blog.

Esame Informatica Generale 13/04/2016 Tema A

Si considerino le seguenti specifiche per la realizzazione di un sito web per la gestione di abbonamenti a riviste di vario genere..

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad una piattaforma di gestione di gare podistiche:

una chiave primaria o secondaria => B+tree primario o secondario (NL,g e h diversi) clustered o unclustered => ho un piano di accesso diverso!!

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella i dati di un sistema di gestione di campionati di basket.

Basi di dati: appello 14/07/06

Si considerino le seguenti specifiche relative alla realizzazione di un sistema informativo per un concessionario di automobili.

COGNOME MATRICOLA. Con vincoli di integrità referenziale: RECENSIONE.NomeUtente à UTENTE.Username RECENSIONE.TitoloSerie à SERIETV.

Basi di Dati: Corso di laboratorio

ed SQL 10 Novembre 2009

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

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

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

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

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor

Master Universitario di Primo livello in ECONOMIA DELLO SVILUPPO E DEI BENI E DELLE ATTIVITÀ CULTURALI Anno Accademico 2014/2015

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

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

Basi di Dati: Corso di laboratorio

Basi di dati: appello 04/07/06

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

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

Esempio di database relazionale con l utilizzo del prodotto MySQL

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

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

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative all amministrazione di un condominio:

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad un negozio di libri online:

BASI DATI: algebra relazionale

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

Laboratorio di Basi di Dati

ESERCIZI DI MODELLAZIONE E-R

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

PROGETTAZIONE DI DATABASE Linguaggio SQL

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella i dati di società di assicurazioni che erogano polizze sanitarie.

Memorizzazione di una relazione

Basi di Dati: Corso di laboratorio

<Nome Tabella>.<attributo>

ESERCIZI DI MODELLAZIONE E-R

Basi di Dati: Elementi


Pag Politecnico di Torino 1

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

Interrogazioni nidificate

DIPARTIMENTO DI SCIENZE BIOLOGICHE GEOLOGICHE E AMBIENTALI CHIEDE

Domanda di partecipazione alla selezione di. FIGURE DI PIANO: Facilitatore e Referente per la valutazione. l sottoscritt nat a

DOMANDA PER ATTRIBUZIONE CONTRATTO PER ATTIVITA D INSEGNAMENTO BANDO N. 5 Contratti. Il/la sottoscritto/a CHIEDE

ESAME di INFORMATICA e ARCHIVIAZIONE

Sistemi di Elaborazione delle Informazioni (C.I. 15) Basi di dati Introduzione teorica

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

Schema di curriculum vitae

LA PROGETTAZIONE CONCETTUALE

SQl come DML: Esercitazione

Interrogazioni nidificate

ATTESTATO DI CERTIFICAZIONE DELLE COMPETENZE

Laboratorio di Basi di Dati

Prima prova di verifica del 4/11/2009

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

La gestione delle interrogazioni

Basi di dati: appello 07/02/06

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

Persona(CodiceFiscale, Cognome, Nome, DataDiNascita, LuogoDiNascita, Indirizzo)

Basi di Dati. Esercitazione Algebra Relazionale. 16 maggio 2008

Business Intelligence

DataBase Management System - DBMS

formulare in SQL una interrogazione per ciascuno dei seguenti punti:

Laboratorio di Basi di Dati

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

F O R M A T O E U R O P E O P E R I L C U R R I C U L U M V I T A E

TABELLA DEI TITOLI e DELLE ESPERIENZE PROFESSIONALI

Laboratorio di Basi di Dati prova totale 20 febbraio 2013

All UFFICIO PERSONALE COMUNE DI MONTE ARGENTARIO P.le dei Rioni n PORTO S.STEFANO (GR) Il/La sottoscritto/a

INFORMAZIONI PERSONALI ESPERIENZA LAVORATIVA MINISTERO DEL LAVORO- IN SERVIZIO PRESSO LA DIREZIONE REGIONALE DEL LAVORO PUGLIA

F ORMATO EUROPEO PER IL CURRICULUM VITAE

F ORMATO EUROPEO PER IL CURRICULUM VITAE

Università degli Studi di Bari Facoltà di Giurisprudenza

BD: prima prova di verifica del 5/11/2012

Fondamenti di Informatica 2

Società Newstudio-Net, Via Lecce 9, Catania. Collaboratore nella progettazione e programmazione

AVVISO PUBBLICO DI SELEZIONE PER ATTIVITA DI SUPPORTO INDIVIDUALE ALLA DIDATTICA DEGLI STUDENTI DISABILI

Estensioni del linguaggio SQL per interrogazioni OLAP

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

MASTER di II Livello. Diritto del Lavoro, Diritto Sindacale, della Previdenza e della Sicurezza Sociale

Cognome Nome. Nato a il. conseguito presso l Accademia di Belle Arti di Palermo in data CHIEDE

Tipo di impiego Istruttore Direttivo Principali mansioni e responsabilità Responsabile dei servizi demografici, statistici e servizi cimiteriali

Basi di dati Appello del Soluzione del compito B

Transcript:

Compito Basi di Dati. Tempo concesso: 2 ore 18 Febbraio 2013 Nome: Cognome: Matricola: Esercizio 1 Si considerino le seguenti specifiche relative alla realizzazione della base dati a supporto di un applicativo commissionato da un centro di collocamento inter-universitario. Si definisca il relativo schema E/R (nella metodologia proposta a lezione). Si evidenzino eventuali vincoli inespressi e attributi derivati. Un centro di collocamento inter-universitario vuole realizzare un software per la gestione del collocamento degli studenti iscritti agli atenei afferenti. Ogni studente è identificato da una matricola, codice alfanumerico univoco all interno dell ateneo di provenienza; dello studente interessano poi nome, cognome, luogo e data di nascita, indirizzo di residenza, recapito telefonico e recapito e-mail. Di ogni ateneo, identificato da un codice univoco, si vogliono memorizzare nome, indirizzo e recapito di un referente. Di ogni studente deve essere possibile elaborare in modo automatico un curriculum vitae in formato PDF che comprenda, oltre ai dati anagrafici, una serie di abilità ad esso riconducibili, che possono essere di tre distinte tipologie (titoli di studio, esperienze lavorative, competenze generiche). Per le competenze generiche interessa memorizzare solo una descrizione testuale. Per ogni esperienza lavorativa interessa invece memorizzare il datore di lavoro, un recapito per la verifica delle referenze, la mansione svolta, la data di assunzione e di licenziamento (ove presente). Ogni titolo di studio deve essere caratterizzato da una votazione, una descrizione, un anno di iscrizione e un anno di conseguimento. I titoli di studio possono appartenere a cinque tipologie: dottorato di ricerca, master, laurea specialistica, laurea, diploma di maturità. Ogni abilità associata a uno studente conferisce un punteggio che concorre a formare un punteggio detto student rank. In particolare vengono conferiti 0,5 punti per ogni competenza generica, 1 punto per le esperienze lavorative da 3 a 6 mesi, 2 punti per le esperienze lavorative da 6 mesi a 2 anni, 3 punti per le esperienze lavorative oltre i 2 anni. I punteggi relativi ai titoli di studio sono i seguenti: dottorato di ricerca (3), master (1), laurea specialistica (2), laurea (1), diploma di maturità (1). Il software deve poter ordinare gli studenti in base al ranking e deve mantenere lo storico di tutte le esperienze lavorative e dei titoli di studio conseguiti.

ATENEO CodiceAteneo Nome Indirizzo Recapito id: CodiceAteneo 0-N Afferisce 1-1 STUDENTE Matricola Nome Cognome Luogo di nascita Data di nascita Residenza Telefono E-mail id: Afferisce.ATENEO Matricola 1-N Possiede 1-1 ABILITA' CodiceAbilità id: CodiceAbilità TIPO TITOLO Nome id: Nome 0-N Ha P 1-1 COMPETENZA GENERICA Descrizione ESPERIENZA LAVORATIVA Datore di lavoro Recapito Mansione Data assunzione Data licenziamento[0-1] TITOLO DI STUDIO Descrizione Votazione Anno iscrizione Anno conseguimento

Esercizio 2 Descrivere l organizzazione di un B+-tree, evidenziando anche le differenze rispetto alla struttura B-tree. È data la query: SELECT città, COUNT(codAppartamento) FROM APPARTAMENTO WHERE numerocamere >= 2 AND prezzogiornaliero BETWEEN 100 AND 150 GROUP BY città sulla relazione: APPARTAMENTO (codappartamento, indirizzo, città, mq, prezzogiornaliero) numerocamere, referente, telefono, sulla quale sono costruiti due indici: uno clustered su città (NL città = 171) e uno unclustered su numerocamere (NL numerocamere = 170). Si calcoli la selettività dei predicati e si determini il miglior piano di accesso per la risoluzione della query tenendo conto dei seguenti dati: NP = 4500, NT = 30000 NK città = 25, NK numerocamere = 4 prezzogiornaliero [50, 200], mq [35,100], numerocamere [2,5] Len(città) = 20 byte, Len(mq) = 4 byte, Len(numeroCamere) = 4 byte, Len(codAppartamento) = 4 byte Len(prezzoGiornaliero) = 4 byte, Len(TID) = 4 byte D = 1Kb, u=0.69 Si ipotizzi di utilizzare l algoritmo Sort-Merge a Z=3 vie per l eventuale ordinamento del risultato. Si indichi infine il numero atteso di tuple nel risultato della query. Svolgimento ( ) ( ) ( ) ( ) ( ) ( ) ( )

non conviene perché non ci sono predicati su città i il file dati è già ordinato su questo attributo (per il group by). : non conviene perché la selettività su numerocamere è 1 (tutte) e bisognerebbe anche sommare il costo di ordinamento. Il numero atteso di tuple è ( ).

Esercizio 3 Si consideri il seguente schema relazionale e le relative istanze di esempio: PRODOTTO (Categoria, Sottocategoria, Prezzo) Istanze di esempio: PRODOTTO (Olio, Lampante, 2.36) (Olio, Vergine, 2.56) (Olio, Extravergine, 3.09) (Caffè, Arabica, 17.81) (Caffè, Robusta, 10.32) (Zucchero, Barbabietola, 1.15) (Zucchero, Canna bianco, 2.12) (Zucchero, Canna grezzo, 1.90) (The, Verde, 26.22) (The, Nero, 40.00) (The, Oolong, 49.80) 1. Dato il precedente schema relazionale: a) Scrivere un espressione di algebra relazionale che visualizzi i nomi delle sottocategorie dei prodotti di categoria Olio. 2. Dato il precedente schema relazionale: a) Scrivere una query SQL che visualizzi, per ogni categoria, il prodotto di prezzo minore. (Il risultato deve contenere le voci Categoria, Sottocategoria, Prezzo). b) Scrivere una query SQL che visualizzi, per ogni categoria, i due prodotti di prezzo minore. (Il risultato deve contenere le voci Categoria, Sottocategoria, Prezzo). c) Scrivere un espressione LINQ che selezioni le categorie che contengono almeno 2 prodotti, visualizzandole in ordine decrescente rispetto al numero di prodotti. Il risultato deve contenere le voci (Categoria, NumeroProdotti). Opzionale: Scrivere una query SQL che visualizzi, per ogni categoria, i due prodotti di prezzo minore, senza l utilizzo di query innestate, assumendo che sulla base di dati esistano solo le 4 categorie riportate nelle istanze di esempio (Olio, Caffè, Zucchero, The). (Il risultato deve contenere le voci Categoria, Sottocategoria, Prezzo). 1. Sottocategorie = π Sottocategoria (σ Categoria= Olio (PRODOTTO)) 2. a) SELECT P1.Categoria, P1.Sottocategoria, P1.Prezzo AS P1 WHERE P1.Prezzo = ( SELECT MIN(Prezzo) AS P2 WHERE P2.Categoria = P1.Categoria ) b)

SELECT P1.Categoria, P1.Sottocategoria, P1.Prezzo AS P1 WHERE ( SELECT COUNT(*) AS P2 WHERE P2.Categoria = P1.Categoria AND P2.Prezzo <= P1.prezzo ) <= 2 c) var result = ( from p in PRODOTTO group p by new { Categoria } into g where g.count() >= 2 order by g.count() descending select new {Categoria = g.key, NumeroProdotti = g.count()} ); Opzionale WHERE Categoria = Olio UNION ALL WHERE Categoria = Caffè UNION ALL WHERE Categoria = Zucchero UNION ALL WHERE Categoria = The