Basi di dati: appello 14/07/06

Похожие документы
Basi di dati: appello 04/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

Basi di Dati Corso di Laura in Informatica Umanistica

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

Concettuale. Giuseppe Amato

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 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi.

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

Basi di Dati Corso di Laura in Informatica Umanistica

Interrogazioni nidificate

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

Interrogazioni nidificate

ed SQL 10 Novembre 2009

ESAME di INFORMATICA e ARCHIVIAZIONE

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

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

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

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

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:

Interrogazioni in SQL

Basi di Dati. Esercitazione Algebra Relazionale. 16 maggio 2008

ESERCIZI SQL. Esercizio 1

Fondamenti di Informatica 2 Simulazione d esame dell 11 Dicembre 2009

Soluzione esercitazione 01

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

Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti.

PROGETTAZIONE DI DATABASE Linguaggio SQL

Fondamenti di Informatica 2

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

OBIETTIVI DELL'ESERCITAZIONE

Laboratorio di Basi di Dati Esercizio 8.4/9.1

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

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

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

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

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

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

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

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

SQL: DDL, VI, Aggiornamenti e Viste

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

ESAME di INFORMATICA e ARCHIVIAZIONE

SQL: definizione schema

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

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

Dichiarazione degli schemi in SQL DDL 1

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

Esercizio 5.1. Soluzione:

LO SVOLGIMENTO DEL TEMA DI INFORMATICA

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

Corso di Basi di Dati

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

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

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

S Q L E S E R C I Z I

M733 ESAME DI STATO DI ISTITUTO TECNICO COMMERCIALE CORSO DI ORDINAMENTO

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

Basi di dati Appello del Soluzione del compito B

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

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

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

2011 Politecnico di Torino 1

Lezione 4. Dallo schema ER al relazionale

SQL - Structured Query Language

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

Corso di Laboratorio di Basi di Dati

SQL (STRUCTURED QUERY LANGUAGE)

SQL e algebra relazionale

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

SQL PER LA DEFINIZIONE DI BASI DI DATI

SQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL))

CORSO di INFORMATICA e ARCHIVIAZIONE

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

Basi di Dati: Elementi

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

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

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

Un DataBase SQL per la Henry Books

Транскрипт:

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 (CodiceFiscale, Cognome, Nome, Residenza) APPARTAMENTO (CodAppartamento, PalazzoIndirizzo, PalazzoScala, Locali, Metratura) PALAZZO (Indirizzo, Scala, NumeroPiani, Nomeamministratore, CognomeAmministratore) AFFITTO (CodiceCliente, CodAppartamento, DataInizio, DataFine, Prezzo) Linguaggi Formali Esprimere in algebra (ottimizzata), calcolo relazionale la seguente query: Trovare i nomi e i cognomi dei clienti che hanno effettuato almeno due affitti di appartamenti con più di 2 locali o che hanno affittato nell anno 2005 almeno un appartamento amministrato dal signor Giuseppe Bianchi. Π nome, Cognome CodiceFiscale=CodiceCliente Π CodiceCliente Cliente Π CodiceCliente σ (Cod_Appartamento<>C) (DataInizio<>D) CodiceCliente=Cod Π CodiceCliente, Cod_Appartamento σ DataInizio>=01/01/2005 DataInizio<=31/12/2005 Π Cod_Appartamento Π Cod_Appartamenro σ Locali >2 Appartamento Π codicecliente, Cod_Appartamento, DataInizio Π Cod_Appartamenro σ Locali >2 Cod_Appartamento=C Π indirizzo, Num_Edificio Π Cod_Appartamento, Indirizzo, Num_Edificio Appartamento σ cognomeamministratore = Bianchi nomeamministratore = Giuseppe Π Cod,C,D ρ Cod CodiceCliente, C Cod_Appartamento, D DataInizio Palazzo Appartamento 1

Linguaggi Formali Calcolo Relazionale {t t1 cliente, t2, t3, t4,t5 Appartamento (t[nome]=t1[nome] t[nome]=t1[cognome] t1[codicefiscale]=t2[codicecliente] t2[cod_appartamento]=t4[cod_appartamento] t3[cod_appartamento]=t5[cod_appartamento] t4[locali]>2 t5[locali]>2 (t2[cod_appartamento]<>t3[cod_appartamento] t2[datainizio]<>t3[datainizio]) ( t6, t7 Appartamento, t8 Palazzo (t1[codicefiscale]=t6[codicecliente] t7[indirizzo]=t8[indirizzo] t7[num_edificio]=t8[num_edificio] t6[cod_appartamento]=t7[cod_appartamento] t6[datainizio] >=01/01/2005 t6[datainizio] <=31/12/2005 t8[cognomeamministratore]= Bianchi t8[nomeamministratore] = Giuseppe ))) } SQL: interrogazioni Trovare i nomi e i cognomi degli amministratori che hanno in gestione almeno 5 appartamenti di più di 100mq, ognuno dei quali è stato affittato almeno una volta SELECT CognomeAmministratore, NomeAmministratore FROM Palazzo, Appartamento WHERE Palazzo.Indirizzo= Appartamento.Indirizzo AND Palazzo.Num_Edificio= Appartamento.Num_Edificio AND Metratura > 100 AND Cod_Appartamento IN (SELECT Cod_Appartamento FROM ) GROUP BY CognomeAmministratore, NomeAmministratore HAVING COUNT(*)>=5 2

SQL: interrogazioni Trovare i nomi e cognomi dei clienti che hanno effettuato il minor numero di affitti di appartamenti di 3 locali nell anno 2004. CREATE VIEW Num_Affitti (CFCliente, N_Affitti) AS SELECT CodiceCliente, COUNT(*) FROM, Appartamento WHERE.Cod_Appartamento=Appartamento.Cod_Appartamento AND DataInizio>=01/01/2004 AND DataInizio<=31/12/2004 AND Locali=3 GROUP BY CodiceCliente SELECT Nome, Cognome FROM Cliente JOIN Num_Affitti ON Cliente.CodiceFiscale=Num_Affitti.CFCliente WHERE N_Affitti = (SELECT MIN(N_Affitti) FROM Num_Affitti) SQL DDL create table PALAZZO ( Indirizzo varchar(50), Num_Edificio Integer, Num_Piani Integer, CognomeAmministratore varchar(15), NomeAmministratore varchar (20), primary key (Indirizzo, Num_Edificio) ) 3

SQL DDL create table APPARTAMENTO ( Cod_Appartamento char(6), Indirizzo varchar(50), Num_Edificio Integer, Locali Integer, Metratura Integer, Piano Integer, primary key(cod_appartamento Cod_Appartamento), foreign key (Indirizzo, Num_Edificio) references PALAZZO(Indirizzo, Num_Edificio) on delete cascade on update cascade) SQL: espressione di vincoli Per gli affitti di durata maggiore di 5 giorni il prezzo deve essere superiore a 500 euro CREATE ASSERTION ControlloPrezzo CHECK ( NOT EXISTS (SELECT * FROM WHERE Prezzo < 500 AND (DataFine-DataInizio) >5)) oppure CREATE ASSERTION ControlloPrezzo CHECK ( 500< ALL (SELECT Prezzo FROM Noleggio WHERE (DataFine-DataInizio) >5)) 4

Progettazione Nome D_inizio D_fine NumeroData_Inizio Titolo Progetto Organizzazione Fasi Data_Fine Output Rapporto Tecnico Num_Pagine Stato DataInizio DataFine Partecipazione Persone Finanziamento Partecipazione Unità Responsabile Unità Contributo Nome Città Risorse coinvolte Azienda Nome Cognome Data nascita Persona Numero Capitale Codice dipendenti sociale Fiscale Nazionalità Ruolo Progetto logico Progetto(Nome, D_inizio, D_fine) Fasi(NomeProgetto, D_inizio Progetto, Numero, Data_Inizio, Data_Fine) RapportoTecnico (NomeProgetto, D_Inizio_Progetto, NumeroFase, UnitàResponsabile, Titolo, Num_pagine) Unità (Nome,Città,Numero Dipendenti*, Capitale Sociale*) Contributo (NomeProgetto, D_Inizio_Progetto, NumeroFase, UnitàResponsabile, Nome_unità, Stato) Partecipazione_Unità (NomeProgetto, NomeUnità, Finanziamento) Persona (CodiceFiscale, Nome, Cognome, DataNascita, Nazionalità, Ruolo) Partecipazione_Persona(NomeProgetto, CodicePersona, Data_inizio, Data_fine) 5