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



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

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

Basi di Dati Corso di Laura in Informatica Umanistica

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

Basi di dati: appello 14/07/06

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

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

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 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1

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

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

Basi di dati: appello 04/07/06

SQL: definizione schema

M733 ESAME DI STATO DI ISTITUTO TECNICO COMMERCIALE CORSO DI ORDINAMENTO

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

Basi di dati: appello 07/02/06

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:

ESAME di INFORMATICA e ARCHIVIAZIONE

Corso 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.

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

Basi di dati: appello 28/02/06

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

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

Prova scritta. Mercoledì 23 Luglio Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2007/2008

Basi di dati: appello 08/03/06

Prova scritta. Mercoledì 11 Febbraio Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2007/2008

SQL (STRUCTURED QUERY LANGUAGE)

Prova scritta. Giovedì 02 Ottobre Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2007/2008

Linguaggio SQL. Structured Query Language

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

Prova Scritta di Basi di Dati

Volumi di riferimento

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

SQL. Linguaggio di interrogazione per basi di dati relazionali. Relazione = tabella con attributi (a 1, a 2,, a n ): Funzionalità principali di SQL:

Data management a.a Il linguaggio SQL

Soluzione DDL ed Algebra Relazionale

SQL Sintassi Dei Comandi

CAPITOLO 4 ESERCIZI SU SQL

Esame di Basi di Dati, SOLUZIONE APPELLO 12/01/2010

MAX, SUM, AVG, COUNT)

SQL PER LA DEFINIZIONE DI BASI DI DATI

Prova Scritta di Basi di Dati

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

Corso di Laboratorio di Basi di Dati

Si formulino le seguenti interrogazioni tramite il linguaggio SQL:

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

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

Definizione di domini

RISOLUZIONE APPELLI DI SISTEMI INFORMATIVI

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

(a) Trovare le informazioni dei viaggi di durata inferiore ai 15 giorni select * from Viaggio where Durata <15

Esercitazione di riepilogo sulle Query MySQL Giugno 2011 Classe VB Informatica

CONCETTO DI ANNIDAMENTO

INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3

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

Basi di dati: appello 21/09/12

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

Interrogazioni complesse. SQL avanzato 1

SQL - Funzioni di gruppo

Basi Di Dati, 09/12/2003

ESAME di INFORMATICA e ARCHIVIAZIONE

1. esprimere in algebra relazionale la seguente interrogazione. Estrarre nome, e cognome dei clienti che hanno noleggiato auto di categoria Executive

Basi di Dati. Esercitazione SQL. Ing. Paolo Cappellari

COGNOME MATRICOLA. UTENTE(ID, Nome, Cognome, Eta) ALBERGO(Nome, Citta, NumStelle) PRENOTAZIONE(Codice, NomeAlbergo, IDUtente, DataArrivo, NumNotti)

Vincoli di Integrità

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

Giovanna Rosone 04/03/ /03/2010 SQL, Istruzioni per la modifica dello schema

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

Il linguaggio SQL: DDL di base

Appello di BD del Corso di laurea in Informatica del 9/1/2007 Compito e soluzioni

Vincoli di Integrità Approccio dichiarativo alla loro implementazione

Istruzioni DML di SQL

Esercizio 1. Cognome e nome:... Matricola:...

DBMS (Data Base Management System)

Introduzione a MySQL

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

Corso Sistemi Informativi Avanzati. Programma 30 set Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

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

Basi di Dati: Corso di laboratorio

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

Basi di dati II prova intermedia 16 Marzo 2006 Compito 1

COGNOME MATRICOLA. Con vincoli di integrita referenziale: INTERVENTO.CodTecnico à TECNICO.Codice INTERVENTO.MatCaldaia à CALDAIA.

11 - Progettazione Logica

Basi di Dati Corso di Laura in Informatica Umanistica

SQL (STRUCTURED QUERY LANGUAGE)

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

Archivi e Basi di Dati

User Tools: DataBase Manager

SQL -DDL. FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza)

Transcript:

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, CittàPartenza, IndirizzoArrivo, CittàArrivo, Numerokm, Tempolimite) PODISTA (CF, Nome, Cognome, Indirizzo, Città, DataNascita) PARTECIPAZIONE (CodiceGara, CodicePartecipante, Categoria, Tempo, OrdineArrivoTot) PREMIO (CodicePremio, Descrizione, Valore) ASSEGNAZIONEPREMIO (CodiceGara, Categoria,CodicePartecipante, OrdineArrivoCat, CodicePremio) Linguaggi Formali Esprimere in algebra (ottimizzata), calcolo relazionale la seguente query: Trovare i nomi e cognomi di tutte le donne che hanno partecipato a gare podistiche sia nella categoria femminile-u18 sia nella categoria femminile ma non hanno mai vinto un premio.

Π CF, nome, cognome CodicePartecipante=CF i t CF Π CF, Nome,Cognome - Podista Π CodicePartecipante σ Categoria= Femminile Partecipazioneione Π CodicePartecipante σ Categoria= FemminileU18 Partecipazioneione Π CodicePartecipante Assegnazione Premio

Linguaggi Formali Calcolo Relazionale l {t t1 Podista, t2,t3 Partecipazione (t[cf, Nome, Cognome]=t1[CF, Nome, Cognome] t1[cf]=t2[codicepartecipante] t2[categoria]= Femminile t3[categoria] = FemminileU18 t2[codicepartecipante] = t3[codicepartecipante] ) ( t4 AssegnazionePremio (t1[cf]=t4[codicepartecipante]))) t4[codicepartecipante]))) }

SQL: interrogazioni Trovare il nome e cognome dei corridori che hanno partecipato ad almeno dieci maratone (42, 195 km) e almeno una volta sono arrivati primi in assoluto. (3 punti) SELECT Nome, Cognome FROM Podista WHERE CF IN (SELECT CodicePartecipante FROM PARTECIPAZIONE JOIN CORSA ON CodiceGara=Codice WHERE NumeroKM=42,195 GROUP BY CodicePartecipante HAVING COUNT(*) >= 10) AND CF IN (SELECT CodicePartecipante FROM PARTECIPAZIONE WHERE OrdineArrivoTot= Primo )

SQL: interrogazioni Trovare, nell ambito delle maratone (42, 195 km), per ognicategoria il corridore con il tempo medio più alto. (3 punti) CREATE VIEW CONTROLLATEMPO (Partecipante, Categoria, TempoMedio) AS SELECT CodicePartecipante, Categoria, AVG(tempo) FROM PARTECIPAZIONE GROUP BY CodicePartecipante, Categoria SELECT Partecipante, categoria FROM CONTROLLATEMPO AS C1 WHERE TempoMedio =(SELECT MAX (tempo) FROM CONTROLLATEMPO WHERE categoria = C1.categoria)

create table PREMIO SQL DDL ( CodicePremio Varchar(6) Primary key, ) Descrizione Memo, Valore Real

SQL DDL create table AssegnazionePremio (CodiceGara Varchar(6), Categoria Enum ( Maschile-U18, Maschile, Femminile- U18, Femminile ), CodicePartecipante Char(16), OrdineArrivoCat Enum ( Primo, Secondo, Terzo ), CodicePremio Varchar(6) references Premio(CodicePremio) on update cascade on delete no action primary key(codicegara CodiceGara, Categoria, CodicePartecipante) i t foreign key(codicegara, Categoria, CodicePartecipante) references Partecipazione(CodiceGara, Categoria, CodicePartecipante) on update cascade on delete no action )

SQL: espressione di vincoli All interno di ogni gara, il primo podista premiato per ogni categoria sia quello che ha fatto il tempo migliore all interno della stessa categoria CREATE ASSERTION ControlloVittorie CHECK (NOT EXIST( SELECT CodicePartecipante FROM PARTECIPAZIONE AS A JOIN ASSEGNAZIONEPREMIO ON Partecipazione.CodicePartecipante= AssegnazionePremio.CodicePartecipante WHERE OrdineArrivoCat = Primo AND Tempo <> ( SELECT MIN (Tempo) FROM Partecipazione WHERE CodiceGara=A.CodiceGara AND Categoria=A.Categoria )))

Progettazione CF Nome Cognome Indirizzo i Gestore Comune (0,1) IVA Gestione AnnoInizio Sconto Nome Località Affitta Negozio Conenione Convenzione Albergo Nome Stazione sciistica Comprensorio Provincia Affitta Codice Affitta Prezzo Prodotto Codice Num_giorni (0,N) Contratto Affitto Stipula Indirizzo Telefono Alloggio CF Nome Cognome Cliente Categoria Pista Codice (t,e) Scarponi Descrizione Sci/Racchette Snowboard Numero Tipo Lunghezza Tipo

Progetto logico Negozio (PartitaIva, Gestore, AnnoInizio, StazioneSciistica) Gestore(CF, Nome, Cognome, Indirizzo, Comune) Prodotto (Codice, Descrizione, Prezzo, Categoria, NumeroScarpone*, TipoScarpone*, Lunghezza*, Tipo*,Negozio) Affitto (Codice, Cliente) ProdottiAffittatti (Prodotto, CodiceAffitto, NumeroGiorni) Cliente(CF, Nome, Cognome, NomeAlbergo, LocalitàAlbergo) Albergo(Nome, Località, Indirizzo, Telefono) Convenzione (Negozio, NomeAlbergo, LocalitàAlbergo, Sconto) StazioneSciistica(Nome, Comprensorio, Provincia) Pista (StazioneSciistica, Codice, Categoria)

Vincoli Negozio.Gestore Gestore.CF Negozio.StazioneSciistica StazioneSciistica.Nome Prodotto.Negozio Negozio.PartitaIva ProdottiAffittati.Prodotto Prodotto.Codice ProdottiAffittati.CodiceAffitto Affitto.Codice Affitto.Cliente Cliente.CF Cliente.[NomeAlbergo, LocalitàAlbergo] Albergo.[Nome, Località] Convenzione.Negozio Negozio.PartitaIva Convenzione.[NomeAlbergo, LocalitàAlbergo] Albergo.[Nome, Località] Pista.StazioneSciistica StazioneSciistica.Nome