Basi di Dati Corso di Laura in Informatica Umanistica

Documenti analoghi
Basi di Dati Corso di Laura in Informatica Umanistica

Basi di Dati Corso di Laura in Informatica Umanistica

Basi di dati: appello 14/07/06

Concettuale. Giuseppe Amato

ESAME di INFORMATICA e ARCHIVIAZIONE

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

ESAME di INFORMATICA e ARCHIVIAZIONE

Basi di Dati. Esercitazione SQL. 18 maggio 2007

Basi di dati: appello 04/07/06

Basi di dati Corso di Laurea in Informatica Umanistica

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

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

BASE DI DATI. Esercizi Progettazione concettuale Progettazione logica Concetti avanzati SQL: Raggruppamento Nidificazione

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

Corso di. Basi di Dati I. 11. Esercitazioni in SQL: Altri esercizi

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

Basi di dati: appello 11/07/07

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

Basi di dati I Prova di autovalutazione 1 novembre 2016 Soluzioni

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

Corso di Informatica Medica

Basi di dati I Prova di autovalutazione 30 ottobre 2014

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

BASE DI DATI. Esercizi Progettazione concettuale Progettazione logica. Informatica Umanistica Università di Pisa

Basi di dati: appello 28/02/06

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

Basi di dati: appello 07/02/06

ESERCITAZIONE: Fornitore-Fornisce-Articolo

SQL - Structured Query Language

Informatica per le Scienze Umane - Corso di Laurea in Lettere Appello del Docente: Mirco Nanni. Soluzione

SQL /10/2016 Basi di dati - SQL 1

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Interrogazioni nidificate

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

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

Versione 1.0. (DB Musei)

Basi di dati: appello 08/03/06

Basi di Dati. Concetti Avanzati

Corso di. Basi di Dati I. 9. Esercitazioni in SQL: Check, asserzioni, viste

Il linguaggio SQL. TUTORATO DIFONDAMENTI DIINFORMATICA

Versione 1.0. (DB Visite Specialistiche)

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Basi di Dati - Informatica umanistica Esercitazione (Lab)

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 nidificate

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Esempio di database relazionale con l utilizzo del prodotto MySQL

ESERCIZI SQL. Esercizio 1

Primo Compitino di Basi di Dati

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

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

Soluzione esercitazione 01

SQL Esempi. 24/10-7/11/2016 Basi di dati - SQL 1

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

Politecnico di Milano - Facoltà di Ingegneria INFORMATICA A - Corso per allievi GESTIONALI - Prof. C. SILVANO A. A. 2001/ febbraio 2004

Basi di Dati Corso di Laurea in Informatica Umanistica

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

SQL Esempi /10/2017 Basi di dati - SQL 1

ed SQL 10 Novembre 2009

Basi di dati: appello 21/09/12

Prova Pratica di Informatica, Modulo Basi di dati Appello 23/07/2018

SQL: definizione schema

Laboratorio di Basi di dati Soluzioni della V esercitazione - 23 aprile 2007

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

Fondamenti di Informatica 2 Simulazione d esame dell 11 Dicembre 2009

A.A. 2018/2019. Esercitazione 11. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE

ESAME di INFORMATICA e ARCHIVIAZIONE

Interrogazioni in SQL

Fondamenti di Informatica 2

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini

Soluzione prova scritta di basi di dati del 30 Settembre 2002

Primo compitino di Basi di Dati - 3/4/2019 testo 1

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

Basi di Dati. Esercitazione SQL. 17 novembre 2011

Sia dato il seguente schema di base di dati:

GESTIONE MAGAZZINO 1

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

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

PRODOTTO CARTESIANO Caso Generale

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

Tabelle esempio: Impiegato/Dipartimento

GESTIONE MAGAZZINO 1

CORSO di INFORMATICA e ARCHIVIAZIONE

formulare in SQL una interrogazione per ciascuno dei seguenti punti:

Esame di Basi di Dati

Basi di dati. Giuseppe De Giacomo. Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza

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

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

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

Basi di Dati. Dettagli e Approfondimenti SQL-92 25/02/2004. Dettagli e Approfondimenti. DDL: Tabelle. DML: Aggiornamenti.

Laboratorio di Basi di Dati

Basi di Dati SQL-92. Dettagli e Approfondimenti

SQL - Structured Query Language

Basi di dati I 6 settembre 2018 Tempo a disposizione: un ora e 45 minuti.

Basi di Dati SQL-92. Dettagli e Approfondimenti

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

BASI di DATI. SQL: concetti fondamentali

Transcript:

Basi di Dati Corso di Laura in Informatica Umanistica Appello del 28/06/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione dei progetti di un impresa: TABLE Reparti ( idreparti INT NOT NULL primary key, Nome VARCHAR(15 NOT NULL, TABLE Persone( CodiceFiscale CHAR(16 NOT NULL primary key, Cognome VARCHAR(15 NOT NULL, Nome VARCHAR(15 NOT NULL, DataDiNascita DATE, Reparto INT NOT NULL REFERENCES Reparti (idreparti, TABLE Progetti ( idprogetti INT NOT NULL primary key, Nome VARCHAR(15 NOT NULL, Costo Integer Not NULL TABLE PersonaSegueProgetto ( CodiceFiscale CHAR(16 NOT NULL REFERENCES Persone (CodiceFiscale, idprogetti INT NOT NULL REFERENCES Progetti (idprogetti, GiorniLavorati INT, PRIMARY KEY (CodiceFiscale, idprogetti, Risolvere le seguenti interrogazioni utilizzando la sintassi SQL oppure la forma standard per le interrogazioni dell algebra relazionale: 1 Trovare il costo del progetto con costo minore seguito da Mario Bianchi. 2 Trovare il nome delle persone che seguono progetti il cui costo è superiore a 20000 Euro. 3 Trovare il nome dei progetti seguiti dal reparto Ingegneria. 4 Trovare i progetti seguiti dal reparto di appartenenza di Marco Bianchi. 5 Trovare i reparti che non seguono il progetto autostrade. 6 Trovare i progetti seguiti sia da Bianchi che da Neri

Soluzioni: 1 select min(costo from persone join PersonaSegueProgettoon persone.codicefiscale=persone_has_progetti.codicefiscale join progetti on persone_has_progetti.idprogetti=progetti.idprogetti where Cognome='Bianchi' and persone.nome='marco' 2 select distinct Persone.nome, Persone.cognome from persone natural join PersonaSegueProgettojoin progetti on persone_has_progetti.idprogetti=progetti.idprogetti where Costo>20000 3 select distinct reparti.nome from reparti join persone on idreparti=reparto natural join persone_has_progetti join progetti on persone_has_progetti.idprogetti=progetti.idprogetti where reparto.nome= Ingegneria 4 select distinct progetti.nome from reparti join persone as Bianchi on reparti.idreparti=bianchi.reparto join persone on reparti.idreparti=persone.reparto join PersonaSegueProgettoon persone.codicefiscale=persone_has_progetti.codicefiscale where Bianchi.Cognome='Bianchi' and Bianchi.Nome= Marco 5 select reparti.idreparti, reparti.nome from reparti except

(select reparti.idreparti, reparti.nome from reparti join persone on idreparti=reparto join PersonaSegueProgettoon persone_has_progetti.codicefiscale=persone.codicefiscale where progetti.nome="autostrade" 6 select progetti.nome from persone join PersonaSegueProgettoon persone_has_progetti.codicefiscale=persone.codicefiscale where persone.cognome='neri' intersect (select progetti.nome from persone join PersonaSegueProgettoon persone_has_progetti.codicefiscale=persone.codicefiscale where persone.cognome='bianchi'

Basi di Dati Corso di Laura in Informatica Umanistica Appello del 28/06/2010 Parte 2: SQL (Aggregati e Progettazione concettuale e logica Docente: Giuseppe Amato Si consideri la seguente realtà riguardante la gestione dei negozi di una catena di supermercati: Ogni negozio è caratterizzata da un nome da una città ed un indirizzo. Ogni negozio offre vari prodotti. I prodotti hanno un nome una marca ed un modello (ad esempio, Televisore LCD, Samsung, LE42F. Per ogni prodotto offerto da un negozio si vuole sapere il numero di pezzi disponibili del prodotto ed il prezzo di vendita. I prodotti, inoltre, sono raggruppati in tipologie di prodotto. Ogni tipologia di prodotto, è caratterizzata da un Categoria (ad esempio Elettronica, Giardinaggio, Casalinghi, etc e da una descrizione. 1. Si definisca uno schema concettuale che rappresenta le informazioni sopra descritte. 2. Si traduca lo schema concettuale del punto 1 in uno schema logico di base di dati nel modello relazionale 3. Si risolvano le seguenti query facendo riferimento allo schema logico del punto 2 a. Trovare il numero di prodotti esistenti per le varie categorie disponibili. b. Trovare per ogni negozio che possiede prodotti di categoria elettronica il numero di prodotti diversi disponibili di tale categoria. c. Trovare i negozi che con i prodotti disponibili coprono più di 20 categorie di prodotti (suggerimento: usare le viste.

Soluzioni: 1 Negozi Nome Città Indirizzo TipologiaProdotti Categoria Descrizione Prezzo NrPezzi Prodotti Nome Marca Modello 2 CREATE TABLE Negozi ( idnegozi INT NOT NULL, Nome VARCHAR(20 NOT NULL, Via VARCHAR(20 NOT NULL, Citta VARCHAR(10 NOT NULL, PRIMARY KEY (idnegozi CREATE TABLE TipologieProdotti ( idtipologieprodotti INT NOT NULL, Descrizione VARCHAR(45 NOT NULL, Categoria VARCHAR(15 NOT NULL, PRIMARY KEY (idtipologieprodotti

CREATE TABLE Prodotti ( idprodotti INT NOT NULL, Nome VARCHAR(45 NOT NULL, Marca VARCHAR(45 NOT NULL, Modello VARCHAR(45 NOT NULL, Tipologia INT NOT NULL, PRIMARY KEY (idprodotti, FOREIGN KEY (Tipologia REFERENCES TipologieProdotti (idtipologieprodotti CREATE TABLE ProdottiNelNegozio ( Negozio INT NOT NULL, Prodotto INT NOT NULL, Prezzo DECIMAL(9,2 NOT NULL, NumeroPezzi INT NOT NULL, PRIMARY KEY (Prodotto, Negozio, FOREIGN KEY (Negozio REFERENCES Negozi (idnegozi FOREIGN KEY (Prodotto REFERENCES appello 28 06 2010.Prodotti (idprodotti 3 a select count(*, categoria from tipologieprodotti join prodotti on tipologia=idtipologieprodotti group by categoria b select idnegozi, negozi.nome, count(* from negozi join prodottinelnegozio on idnegozi=negozio join prodotti on prodotto = idprodotti join tipologieprodotti on tipologia=idtipologieprodotti where categoria='elettronica' group by idnegozi, negozi.nome c create view negozicategorie as

select distinct idnegozi, negozi.nome, idtipologieprodotti from negozi join prodottinelnegozio on idnegozi=negozio join prodotti on prodotto = idprodotti join tipologieprodotti on tipologia=idtipologieprodotti select idnegozi, nome from negozicategorie group by idnegozi, nome having count(*>=20