Basi di dati I Prova di autovalutazione 30 ottobre 2014

Documenti analoghi
Interrogazioni nidificate

SELECT FROM ORDER BY SELECT FROM ORDER BY DESC DESC SELECT FROM ORDER BY DESC DESC SELECT FROM WHERE SELECT FROM WHERE AND SELECT FROM WHERE AND

ESERCITAZIONE 4 Giovedì 13 novembre 2014 (3 ore) SQL

Interrogazioni nidificate

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

Basi di dati: appello 21/09/12

Basi di Dati Corso di Laura in Informatica Umanistica

Basi di dati: appello 28/02/06

Esempio di database relazionale con l utilizzo del prodotto MySQL

CAPITOLO 4 ESERCIZI SU SQL

Basi di Dati Corso di Laurea in Informatica Umanistica

Esercizio 4.1. Soluzione:

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:

Basi di dati: appello 08/03/06

SQL: definizione schema

Cognome Nome Matricola Ordin.

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

Linguaggi Formali. Π nome (Π nome,c.f. (correttore c.f=c.f._correttore σ n_capitolo=5 bozza

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

CREATE TABLE Nome ( Attributo Tipo [Vincolo {, Vincolo }] {, Attributo Tipo [Vincolo {, Vincolo }]} [, VincoloDiTabella {, VincoloDiTabella}] )

Prova del 14/09/09. Considerare la seguente descrizione di un campeggio:

Capitolo 4. Soluzione: Soluzione: Create domain STRING as character varying (256) default sconosciuto not null

Esercitazione su SQL

GESTIONE ESAMI di STATO

Modello concettuale dei dati. Paolo Brunasti - UniMiB 1 / 12

Microsoft Access (parte 5) Query. Query. Query. Query. Creare una query

Interrogare una base di dati: Algebra relazionale e SQL. Alessandro Bardine Alessandro Ciaramella Vincenzo Galella Rudy Manganelli

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

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

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

SQL Laboratorio di Basi di Dati a.a. 2002/2003

MAX, SUM, AVG, COUNT)

Alessandra Raffaetà. Esempio: Compagnia di trasporti

Caratteristiche dei linguaggi per Database

Esercitazione: Interrogazioni SQL

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

Laboratorio di Basi di Dati

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

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

Esercitazione SQL. Università degli Studi del Sannio Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica

D B M G. Linguaggio SQL: fondamenti. Istruzione SELECT: fondamenti. Elena Baralis 2007 Politecnico di Torino 1. Struttura di base

ESAME di INFORMATICA e ARCHIVIAZIONE

SQL. SQL: una visione panoramica. SQL: "storia" Definizione dei dati

Storia. Corso di Basi di Dati Spaziali. Componente DDL. Funzionalità. Esempio. Creazione di schema. Linguaggi: SQL. Storia:

OBIETTIVI DELL'ESERCITAZIONE

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

Elena Baralis 2007 Politecnico di Torino 1

Data management a.a Il linguaggio SQL

UTENTE (Codice, Nome, Cognome, Indirizzo, Telefono) PRESTITO (Collocazione, CodUtente, DataPrestito, DataRest)

CORSO di INFORMATICA e ARCHIVIAZIONE

SQL Laboratorio di Basi di Dati a.a. 2002/2003

ESAME di INFORMATICA e ARCHIVIAZIONE

SQL (STRUCTURED QUERY LANGUAGE)

SQL e algebra relazionale

Corso di Basi di Dati

Università degli Studi di Milano. Esercizi Corso SIT. Basi di dati

SQL terza parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2010/11

Basi di Dati Esempi di SQL

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

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

Corso di INFORMATICA

Basi di dati I

Basi di Dati Esempi di SQL

Corso di Laboratorio di Basi di Dati

Il linguaggio SQL: le viste

Eprogram ITIS V anno Unità 4 - Il linguaggio SQL

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

Basi di dati. SQL: Amministrazione e Viste. Prof.ssa Rosalba Giugno Dott. Aurelio Giudice

Basi di Dati. Esercitazione SQL. Ing. Paolo Cappellari

Esercizio sul modello Entità-Associazione, traduzione in relazionale e interrogazioni SQL

Algebra relazionale. Algebra relazionale. Operatori dell algebra relazionale. Operatori dell algebra relazionale. Algebra relazionale.

2011 Politecnico di Torino 1

Esercitazione seconda prova Esame di Stato Prova di Informatica Gestionale ITC Programmatori e Mercurio. Note introduttive

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

SQL IL LINGUAGGIO DI INTERROGAZIONE

Prova Scritta di Basi di Dati

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

Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a

Linguaggio SQL. studenti matricola nome cognome citta anno 11 marco bini bologna laura sicuro rimini 1984 esami codice

Basi di Dati DBDMG - Politecnico di Torino Esercizi di SQL

Eserciziario SQL. Costantino, Luca, Santoro, Marchese. 29 aprile Utilizzando le relazioni Comune e Terremoto, risolvete le seguenti query SQL

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

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

SQL: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

M733 ESAME DI STATO DI ISTITUTO TECNICO COMMERCIALE CORSO DI ORDINAMENTO

Basi di dati. Selezione, proiezione e join. Linguaggi di interrogazione. Selezione, proiezione e join. Equivalenza di espressioni

Prova Scritta di Basi di Dati

SQL. Structured Query Language 1974: SEQUEL by IBM 1981: SQL by IBM : SQL ISO 9075:1992 SQL:1999 SQL:2003

Basi di Dati. Oracle SQLPLUS - Esercitazione n. 2 Passi preliminari per lo svolgimento delle esercitazioni

Operatori di base. σ F (r) = {t t r. F(t) = true} SELEZIONE σ F (r)

Basi di dati II prova intermedia 16 Marzo 2006 Compito 1

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

OR true null false true true true true null true null null false true null false NOT

Il linguaggio SQL: query innestate

Basi di dati. SQL :Structured Query Language: SELECT (II) Prof.ssa Rosalba Giugno. SQL (Slide tratte in parte da. McGraw-Hill.

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

BASI DATI: algebra relazionale

SQL [2] Concetti avanzati di SQL. Esempi di interrogazioni

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

PROGRAMMA DI CLASSE 5AI

Transcript:

Basi di dati I Prova di autovalutazione 3 ottobre 214 La prova verrà discussa in aula, prevedibilmente giovedì 6 novembre. Si consiglia di svolgerlo simulando l esame, sulla carta e senza ausilio di libri e appunti. Si consiglia poi di eseguire le interrogazioni SQL su un DBMS. Gli studenti interessati a sostenere le prove parziali debbono consegnare su Moodle le soluzioni e i risultati dei test (mostrando anche le basi di dati di esempio utilizzate). Domanda 1 Considerare la base di dati relazionale definita per mezzo delle seguenti istruzioni: create table studenti (matricola numeric not null primary key, cognome char(2) not null, nome char(2) not null, età numeric); create table corsi (codice numeric not null primary key, titolo char(2) not null, CFU numeric not null); create table esami (corso numeric not null references corsi(codice), studente numeric not null references studenti(matricola), data date not null, voto numeric not null, primary key (corso, studente)); Supponendo che le relative relazioni abbiano rispettivamente le cardinalità S = 1. (studenti), C = 1. (corsi) e E = 4. (esami), indicare le cardinalità minime e massime (in simboli e numeri) dei risultati delle seguenti interrogazioni: SELECT matricola, codice FROM studenti, corsi SELECT * FROM studenti, esami WHERE matricola = studente SELECT matricola, codice FROM studenti, esami, corsi WHERE matricola = studente AND corso = codice Min Max Min Max (simboli) (simboli) (valore) (valore) S C S C 1.. 1.. E E 4. 4. E E 4. 4. Domanda 2 Con riferimento alla base di dati usata nella domanda precedente formulare le seguenti interrogazioni in algebra relazionale: 1. trovare matricole e cognomi degli studenti che hanno preso almeno un trenta π matricola,cognome (studenti matricola=studenteσ voto=3 (esami)) 2. trovare le matricole degli studenti che hanno sostenuto almeno due esami

π studente (σcorso6=corso (esami./ studente=studente ρx X (esami)))

Domanda 3 Con riferimento alla base di dati usata nelle domande precedenti, formulare le seguenti interrogazioni in SQL 1. trovare codici e titoli di corsi nei cui esami è stato assegnato almeno un trenta SELECT DISTINCT codice, titolo FROM corsi JOIN esami ON codice = corso WHERE voto = 3 2. trovare le coppie di studenti (mostrare le sole matricole) per i quali uno dei due ha riportato un voto più alto in tutti gli esami superati da entrambi. SELECT e1.studente, e2.studente FROM esami e1, esami e2 WHERE e1.voto > e2.voto AND e1.studente <> e2.studente AND e1.corso = e2.corso AND NOT EXISTS ( SELECT * FROM esami e3, esami e4 WHERE e3.corso = e4.corso AND e3.studente = e1.studente AND e4.studente = e2.studente AND e3.voto <= e4.voto ) 3. trovare lo studente con la media più alta; mostrare i dati dello studente, la media in questione e il numero di esami superati CREATE VIEW MediaVoti AS SELECT studente, AVG(voto) AS media, COUNT(*) AS numesami FROM esami GROUP BY studente SELECT studente, media, numesami FROM MediaVoti, studenti WHERE studente = matricola AND media = (SELECT MAX(media) FROM MediaVoti) oppure SELECT matricola, cognome, nome, AVG(voto), COUNT(*) FROM esami join studenti on studente = matricola GROUP BY matricola, cognome, nome HAVING AVG(voto) >= ALL (SELECT AVG(voto) FROM esami GROUP BY studente)

Domanda 4 Con riferimento al seguente schema di base di dati: Città(Nome, Regione, Abitanti) Attraversamenti(Città, Fiume) Fiumi(Fiume, Lunghezza) formulare, in algebra relazionale e in SQL, le seguenti interrogazioni: 1. visualizzare nome, regione e abitanti per le città che (i) hanno più di 5. abitanti e (ii) sono attraversate dal Po o dall Adige; π nome,regione,abitanti (σ abitanti>5 (fiume= P o fiume= Adige ) (Citta nome=cittaattraversamenti)) select distinct citta.* from citta join attraversamenti on nome = citta where abitanti > 5 and (fiume = Po or Fiume= Adige ); 2. trovare le città che sono attraversate da (almeno) due fiumi, visualizzando il nome della città e quello del più lungo di tali fiumi (supponendo per semplicità che nessuna città sia attraversata da più di due fiumi) AttrFiume := Fiume fiume=f (ρ f fiume (Attraversamenti)) π citta,fiume (σ lunghezza>lunghezza (AttrFiume citta=citta ρ X X (AttrFiume))) create view attrfiume as select citta, f.fiume, lunghezza from attraversamenti a join fiumi f on a.fiume=f.fiume; from attrfiume a1 join attrfiume a2 on a1.citta =a2.citta where a1.lunghezza > a2.lunghezza;

3. stessa interrogazione precedente, ma senza l ipotesi semplificativa π citta,fiume (σ lunghezza>lunghezza (AttrFiume citta=citta ρ X X (AttrFiume))) π citta,fiume (σ lunghezza<lunghezza (AttrFiume citta=citta ρ X X (AttrFiume))) where a1.fiume <> a2.fiume except where a1.lunghezza < a2.lunghezza oppure where a1.fiume <> a2.fiume and not exists (select * from attrfiume a2 where a1.citta = a2.citta and a2.lunghezza > a1.lunghezza);