Basi di dati: appello 04/07/06

Documenti analoghi
Basi di dati: appello 14/07/06

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

Basi di dati: appello 07/02/06

Basi di dati: appello 08/03/06

Basi di dati: appello 28/02/06

Basi di dati: appello 21/09/12

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:

Basi di Dati Corso di Laura in Informatica Umanistica

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

Concettuale. Giuseppe Amato

Basi di dati I Prova di autovalutazione 30 ottobre 2014

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 9 SETTEMBRE 2015 Tempo: 2h30m

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

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

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

Basi di Dati Corso di Laura in Informatica Umanistica

Verifica di Informatica. Cognome e Nome: Classe 5ª Ci, Data

ESAME di INFORMATICA e ARCHIVIAZIONE

Interrogazioni nidificate

Interrogazioni nidificate

ed SQL 10 Novembre 2009

Soluzione esercitazione 01

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

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

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

ESERCITAZIONE: Fornitore-Fornisce-Articolo

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

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

Basi di Dati. Esercitazione Algebra Relazionale. 16 maggio 2008

BASE DI DATI. Esercitazione: Campionato italiano 2015/2016 Raggruppamenti Nidificazione. Informatica Umanistica Università di Pisa

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

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 I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti.

Interrogazioni in SQL

Esercizio 5.1. Soluzione:

Basi di Dati Corso di Laurea in Informatica Umanistica

Fondamenti di Informatica 2 Simulazione d esame dell 11 Dicembre 2009

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

PROGETTAZIONE DI DATABASE Linguaggio SQL

Fondamenti di Informatica 2

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL

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

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

SQL - Structured Query Language

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

Corso di Basi di Dati

Laboratorio di Basi di Dati Esercizio 8.4/9.1

ESERCIZI SQL. Esercizio 1

OBIETTIVI DELL'ESERCITAZIONE

BASE DI DATI. Esercizio: Campionato corse Progettazione concettuale Progettazione logica. Informatica Umanistica Università di Pisa

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

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

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

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

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

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

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

S Q L E S E R C I Z I

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

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

Esame di Basi di Dati

Principi di Progettazione del Software a.a Il linguaggio SQL. Prof. Luca Mainetti Università del Salento

SQL: definizione schema

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

Dichiarazione degli schemi in SQL DDL 1

Esempio di database relazionale con l utilizzo del prodotto MySQL

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

Prima prova di verifica del 4/11/2009

Laboratorio di Basi di Dati

Basi di dati Appello del Soluzione del compito B

Data management a.a Il linguaggio SQL

Corso di Basi di Dati

Laura Farinetti - DAUIN Politecnico di Torino. Sia dato lo schema relazionale costituito dalle tabelle (le chiavi primarie sono sottolineate)

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

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

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

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

SQL: DDL, VI, Aggiornamenti e Viste

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2

Lezione 4. Dallo schema ER al relazionale

ESAME di INFORMATICA e ARCHIVIAZIONE

Prova Scritta di Basi di Dati

IL MODELLO RELAZIONALE

Il linguaggio SQL: le viste

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

SQL e algebra relazionale

Interrogazioni con ANY e ALL. Operatori ANY e ALL. Interrogazioni con ANY e ALL. Interrogazioni con ANY e ALL. Interrogazioni con ANY e ALL

formulare in SQL una interrogazione per ciascuno dei seguenti punti:

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

ESERCITAZIONI ACCESS

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

Il programma di oggi. Gli indici. Ottimizzazione. Metodi per la Gestione dei Dati (lezioni di laboratorio)

LO SVOLGIMENTO DEL TEMA DI INFORMATICA

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL

IL MODELLO RELAZIONALE

RISOLUZIONE APPELLI DI SISTEMI INFORMATIVI

Basi di Dati: Elementi

Transcript:

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) DVD (Matricola, TitoloFilm,, Durata) FILM (Titolo,, CognomeRegista, NomeRegista, Genere) NOLEGGIO (CodiceCliente, CodiceDvd, DataInizio, DataFine, Prezzo) Linguaggi Formali Esprimere in algebra, calcolo relazionale e Datalog la seguente query: Trovare i nomi e i cognomi dei clienti che hanno effettuato almeno due noleggi di DVD di genere Fantasy o che hanno noleggiato almeno un film del regista Nanni Moretti nell anno 2004 Π nome, Cognome CodiceFiscale=CodiceCliente Π CodiceCliente Π CodiceCliente Cliente σ (CodiceDVD<>C) (DataInizio<>D) CodiceDVD=Matricola DVD TitoloFilm=Tirolo Dvd.=Film. CodiceCliente=Cod Π CodiceCliente, CodiceDVD σ DataInizio>=01/01/2004 DataInizio<=31/12/2004 Π Matricola DVD TitoloFilm=Tirolo Dvd.=Film. Π Titolo, σ genere= Fantasy Π Matricola, TitoloFilm, Matricola=CodiceDVD Π CodiceCliente, CodiceDVD, DataInizio Noleggio DVD TitoloFilm=Tirolo Dvd.=Film. Π Titolo, Π Matricola,TitoloFilm, σ cognomeregista= moretti nomeregista= nanni DVD FILM DVD Noleggio Π Titolo, σ genere= Fantasy Π Matricola, TitoloFilm, Matricola=C Π Cod,C,D ρ Cod CodiceCliente, C CodiceDvd, D DataInizio FILM FILM DVD Noleggio 1

Linguaggi Formali Calcolo Relazionale {t t1 cliente, t2, t3 noleggio, t4,t5 DVD, t6,t7 Film (t[nome]=t1[nome] t[nome]=t1[cognome] t1[codicefiscale]=t2[codicecliente] t2[matricola]=t4[codicedvd] t3[matricola]=t5[codicedvd] t4[titolofilm]=t6[titolo] t4[]=t6[] t5[titolofilm]=t7[titolo] t5[]=t7[] t6[genere]= Fantasy t7[genere]= Fantasy (t2[codicedvd]<>t3[codicedvd] t2[datainizio]<>t3[datainizio]) ( t8 noleggio, t9 DVD, t10 Film (t1[codicefiscale]=t8[codicecliente] t9[titolofilm]=t10[titolo] t9[]=t10[] t9[matricola]=t8[codicedvd] t8[datainizio] >=01/01/2004 t8[datainizio] <=31/12/2004 t10[cognomeregista]= Moretti t10[nomeregista] = Nanni ))) } Linguaggi Formali - DataLog Clienti(Cognome,Nome) :- DVD (Matricola,TitoloFilm, _,_), FILM (TitoloFilm, _, Moretti, Nanni,_), Noleggio (CF, Matricola, DInizio,_,_), cliente(cf,cognome,nome,_), DInizio> =01/01/2004 DInizio <=31/12/2004 Clienti(Cognome, Nome):- cliente(codicefiscale,cognome,nome,_), DVD (Matricola,TitoloFilm, Film,_), FILM (TitoloFilm, Film, _,_, Fantasy ), DVD (Matricola2,TitoloFilm2, Film2,_), FILM (TitoloFilm2, Film2, _,_, Fantasy ), Noleggio (CodiceFiscale, Matricola, _,_,_), Noleggio (CodiceFiscale, Matricola2, _,_,_), Matricola<>Matricola2 Clienti(Cognome, Nome):- cliente(codicefiscale,cognome,nome,_), DVD (Matricola,TitoloFilm, Film,_), FILM (TitoloFilm, Film, _,_, Fantasy ), Noleggio (CodiceFiscale, Matricola, DataInizio,_,_), Noleggio (CodiceFiscale, Matricola, DataInizio2,_,_), DataInizio<>DataInizio2? - Clienti(X,Y) 2

SQL: interrogazioni Trovare i nomi e i cognomi dei registi che hanno diretto almeno 3 film di genere comico, ognuno dei quali è stato noleggiato almeno una volta SELECT CognomeRegista, NomeRegista FROM FILM WHERE Genere= comico AND (Titolo, ) IN (SELECT TitoloFilm, FROM DVD join Noleggio ON Matricola=CodiceDVD) GROUP BY CognomeRegista, NomeRegista HAVING COUNT(*)>=3 SQL: interrogazioni Trovare i clienti che hanno effettuato il minor numero di noleggi del genere Horror nell anno 2005.. CREATE VIEW Noleggi (CFCliente, N_Noleggi) AS SELECT CodiceCliente, COUNT(*) FROM Noleggio, DVD, Film WHERE Noleggio.CodiceDVD=DVD.Matricola AND Film.Titolo=DVD.Titolo AND Film.=DVD. AND DataInizio>=01/01/2005 AND DataInizio<=31/12/2005 AND Genere= Horror GROUP BY CodiceCliente SELECT Nome, Cognome FROM Cliente JOIN Noleggi ON Cliente.CodiceFiscale=Noleggi.CFCliente WHERE N_noleggi = (SELECT MIN(N_Noleggi) FROM Noleggi) 3

SQL DDL create table FILM ( Titolo varchar(30), char (4), CognomeRegista varchar(15), NomeRegista varchar (20), Genere varchar(15), primary key (Titolo, ) ) SQL DDL create table DVD ( Matricola char(6), TitoloFilm varchar(30), char (4), Durata Time, primary key(matricola), foreign key (TitoloFilm,, ) references FILM(Titolo, ) on delete cascade on update cascade) 4

SQL: espressione di vincoli Per i prestiti di durata maggiore di 2 giorni il prezzo deve essere superiore a 6 euro CREATE ASSERTION ControlloPrezzo CHECK ( NOT EXISTS (SELECT * FROM Noleggio WHERE Prezzo < 6 AND (DataFine-DataInizio) <2)) oppure CREATE ASSERTION ControlloPrezzo CHECK ( 6< ALL (SELECT Prezzo FROM Noleggio WHERE (DataFine-DataInizio) <2)) Progettazione Nome D_inizio D_fine Numero Data Risultato Torneo Organizzazione Giornata Calendario Partita Città Impianto (0,N) Sponsorizza Classifica Gioca in casa Gioca fuori casa Sponsor Nome Punteggio Composizione ordine (0,1) Squadra (6,N) Nome Città Fondazione Città Capitale sociale Stipulazione Cognome Giocatore CodiceFiscale Data nascita Nome Intestatario Nazionalità Data inizio Data_fine Contratto Ruolo (0,1) 5

Progetto logico Torneo(Nome, D_inizio, D_fine) Sponsor (Nome, Città, Capitale sociale) Sponsorizzazione (NomeTorneo, NomeSponsor) Giornata(NomeTorneo, D_inizio, Numero, Data) Partita (NomeTorneo, NumeroGiornata, SquadraOspitante, Risultato, Città, Impianto, SquadraOspite) Squadra (Nome,Città, Fondazione, NomeSponsor) Classifica (NomeTorneo, NomeSquadra, Punteggio) Giocatore (CodiceFiscale, Nome, Cognome, DataNascita, Nazionalità) Contratto(NomeSquadra, CodiceGiocatore, Data_inizio, Data_fine,Ruolo) 6