Esercitazione.

Slides:



Advertisements
Presentazioni simili
Interrogazioni Semplici Le operazioni di interrogazione vengono specificate per mezzo dellistruzione select select ListaAttributi from ListaTabelle [where.
Advertisements

TIPI STANDARD DI SQL BOOLEAN Valori: vero, falso CHAR(n)
Ricorsione in SQL-99.
Principale limitazione di AR e SQL-92: interrogazioni ricorsive
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
1 DATA BASE GESTIONE VENDITE. 2 QUERY1 Per ogni Cognome di Rappresentante e Descrizione di Prodotto calcolare la somma delle quantità vendute: Somma (Quantità)
Esercizio zSi vuole realizzare un data warehouse per una azienda che vende mobili allingrosso. zIl data warehouse deve permettere di analizzare i ricavi.
SQL92 e XQuery1.0 a confronto1 SQL92 E XQUERY1.0 A CONFRONTO Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso.
Università di Modena e Reggio Emilia 1 DB unimo Decomposizione Schemi e Trigger.
Biglietti e Ritardi: schema E/R
1 Misura Derivata: esempio dei biglietti CostoMedioBiglietto (CMB) calcolato come INCASSO/NUM_BIG. SUM AVG Implementazione in Analysis Services 1. Si definisce.
Biglietti: schema E/R.
Principale limitazione di AR e SQL-92: interrogazioni ricorsive IMPIEGATO NOMENOMECAPO RossiVerdi NeriVerdi DeSio TucciDeSio DeLucaDeSio Lazio selezionare.
DML – Data Manipulation Language
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
SQL.
SQL Dati i seguenti schemi relazionali:
19/01/2014 Viste. 19/01/2014 Viste Le Viste Logiche o Viste o View possono essere definite come delle tabelle virtuali, i cui dati sono riaggregazioni.
Laboratorio di Basi di Dati Introduzione ad Access 2ª Parte.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Basi di dati Università Degli Studi Parthenope di Napoli
SQL Esercitazione per il corso “Basi di Dati” Gabriel Kuper
SQL: Lezione 7 Nataliya Rassadko
SQL: Lezione 6 Nataliya Rassadko
SQL: Lezione 10 Nataliya Rassadko
SQL Per la definizione di basi di dati SQL per definire ed amministrare Ogni utente puo definire una base di dati di cui diventa lamministratore potendo.
Esercizi & Domande per il Pre-Esame di Elettrotecnica del 9 Giugno 2006 Ingegneria per lAmbiente ed il Territorio sede di Iglesias.
Algoritmo di Query Optimization
Duplicati Lalgebra relazionale non ammette duplicati, SQL li ammette. Quindi select Città from Persona where Cognome= Rossi estrae una lista di città in.
SELECT STATEMENT Clausola WHERE permette di limitare il numero di record da estrarre SELECT */ [DISTINCT] colonna/ espressione [alias],… FROM table [WHERE.
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
Basi di dati Claudia Raibulet
SQL: Structured Query Language
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL OPERATORI INSIEMISTICI IN SQL Siano due tabelle: GiochiSolitari(CodiceGioco, NomeGioco, PrezzoGioco)
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
Progettazione di un database
L’algebra relazionale
Gerarchie Ricorsive Una gerarchia ricorsiva deriva dalla presenza di una ricorsione o ciclo (un anello nel caso più semplice) nello schema operazionale.
Basi di Dati e Sistemi Informativi
BIOINFO3 - Lezione 51 INSERIMENTO DEI DATI Visto come si creano le tabelle (sinora tristemente vuote), cominciamo ad occuparci di come riempirle con dei.
Sistemi Informativi Insieme di “strutture” in grado di acquisire, elaborare, trasmettere ed archiviare informazioni in genere ad uso di un’organizzazione.
Informatica II – Basi di Dati (07/08) – Parte 2 Gianluca Torta Dipartimento di Informatica dell’Università di Torino
Microsoft Access (parte 5) Introduzione alle basi di dati Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
SEFOC – SETTORE FORMAZIONE CONTINUA DEL PERSONALE CORSO MYSQL AVANZATO ROBERTO PENNOLINO – CARMELO MASSIMO PRIOLO PALERMO – 07 | 06 | 2011.
Basi di dati I Prof.ssa Rosalba Giugno Prof. Alfredo Pulvirenti SQL :Structured Query Language: SELECT (IV) SQL (Slide tratte in parte da da Atzeni, Ceri,
Basi di Dati Esercitazione SQL 17 Novembre Esercitazione Basi di Dati2 Fornitori (CodiceFornitore, Nome, Indirizzo, Città) Prodotti (CodiceProdotto,
22 MARZO al 22 GIUGNO SUPER SOCCER WORLD 2014 IL TORNEO SI SVOLGE DAL: 2014.
Esercitazione 7.
Interrogazione di una base di dati relazionale
Le query in SQL Unità didattica sviluppata per l’ITIS “A. Volta” – Classe 5 sez. I Ing Domenico Liguori - Università degli studi di Napoli “Federico.
Il Linguaggio SQL. Le interrogazioni in SQL (continua…) La parte di SQL dedicata alla formulazione di interrogazioni fa parte del DML. SQL esprime le.
SQL, esempi 30/10/2014Basi di dati SQL1. 30/10/2014Basi di dati SQL2 CREATE TABLE, esempi CREATE TABLE corsi( codice numeric NOT NULL PRIMARY KEY, titolo.
Algebra relazionale (III). Esempi di Interrogazioni: 3 Trovare matricola e nome dei capi i cui impiegati guadagnano tutti più di Tutti gli impiegati?
Raggruppamento in SQL Esempio di raggruppamento
1 Basi di Dati S tructured Q uery L anguage Appunti Matteo Longhi.
Interrogazioni (parte 2)
Interrogazioni Le interrogazioni in SQL sono formulate in modo dichiarativo specificando cioè cosa si vuole ottenere e non come lo si vuole ottenere. L’interrogazione.
Basi di dati I Prof.ssa Rosalba Giugno Prof. Alfredo Pulvirenti SQL :Structured Query Language: SELECT (III) SQL (Slide tratte in parte da da Atzeni, Ceri,
Vincoli Interrelazionali Per i vincoli visti l’inserimento di un valore che li viola viene semplicemente impedito. In caso di vincoli di integrità referenziale,
Raggruppamenti e target list scorretta select padre, avg(f.reddito), p.reddito from persone f join paternita on figlio = nome join persone p on padre =
Lezione 6 - SQL. Linguaggi per DB Per interagire con le basi di dati occorre un linguaggio Linguaggio SQL (Structured Query Language), linguaggio standardizzato.
Interrogazioni Le interrogazioni in SQL sono formulate in modo dichiarativo specificando cioè cosa si vuole ottenere e non come lo si vuole ottenere. L’interrogazione.
Funzionalità del DBMS relazionale l Funzioni per –definizione della base di dati –inserimento / rimozione /aggiornamento di informazioni deve soddisfare.
Approfondimenti SQL.
Basi di Dati e Sistemi Informativi Esercitazione: Il Linguaggio SQL (DDL+DML) Home page del corso:
E. Tinelli SQL come linguaggio di manipolazione dei dati 1 DML – Data Manipulation Language.
Il linguaggio SQL (Structured Query Language) è il linguaggio standard per creare, manipolare e interrogare database relazionali. SQL non è case-sensitive:
Un altro calcio è possibile 8 ore di formazione per allenatori di settore giovanile AIAC EDU GIOVANI.
Esercizi SQL Group by. CREATE TABLE dipendente (codDip CHAR(8) NOT NULL UNIQUE PRIMARY KEY, cognome CHAR(60) NOT NULL, nome CHAR(60) NOT NULL, stipendio.
Transcript della presentazione:

Esercitazione

Giugno-Pulvirenti AA 2005-2006 Esercitazione 1 Dato il seguente schema relazionale per modellare un torneo di calcio: giocatori( id_giocatore, nome, cognome, eta, id_squadra, ruolo) squadre( id_squadra, nome, citta) calendario( id_partita, id_sq_casa, id_sq_ospite, data) gol( id_partita, id_giocatore, minuto) Il campo id_sq_casa indica l’id della squadra che gioca in casa, mentre id_sq_ospite è quello della squadra ospite (fuori casa). Il campo ruolo nella tabella giocatore indica il ruolo del giocatore: ‘portiere’, ‘terzino’, ‘attaccante’, ecc. Il campo minuto indica il minuto di gioco della partita quando è stato segnato il gol. Nota: Le query possono avere più soluzioni. Si presenta per ogni query una solo risposta. Giugno-Pulvirenti AA 2005-2006

Giugno-Pulvirenti AA 2005-2006 Esercitazione 1 giocatori( id_giocatore, nome, cognome, eta, id_squadra, ruolo) squadre( id_squadra, nome, citta) calendario( id_partita, id_sq_casa, id_sq_ospite, data) gol( id_partita, id_giocatore, minuto) Per il giorno ‘15/05/2005’, per ogni squadra mostrare l’elenco dei gol fatti indicando, per ogni gol, il giocatore che ha segnato il gol ed il minuto di gioco. SELECT squadre.nome, gol.* FROM squadre NATURAL JOIN giocatori NATURAL JOIN calendario NATURAL JOIN gol WHERE data = ’15/05/2005’ ORDER BY squadre.nome, gol.minuto Giugno-Pulvirenti AA 2005-2006

Giugno-Pulvirenti AA 2005-2006 Esercitazione 1 giocatori( id_giocatore, nome, cognome, eta, id_squadra, ruolo) squadre( id_squadra, nome, citta) calendario( id_partita, id_sq_casa, id_sq_ospite, data) gol( id_partita, id_giocatore, minuto) Nome e Cognome dei centrocampisti che hanno segnato almeno un gol in tutto il campionato. SELECT nome, cognome FROM giocatori NATURAL JOIN gol WHERE ruolo = ‘centrocampista’ Giugno-Pulvirenti AA 2005-2006

Giugno-Pulvirenti AA 2005-2006 Esercitazione 1 giocatori( id_giocatore, nome, cognome, eta, id_squadra, ruolo) squadre( id_squadra, nome, citta) calendario( id_partita, id_sq_casa, id_sq_ospite, data) gol( id_partita, id_giocatore, minuto) Nome e Cognome degli attaccanti che non hanno segnato nessun gol in tutto il campionato. SELECT nome, cognome FROM giocatori EXCEPT FROM giocatori NATURAL JOIN gol WHERE ruolo = ‘attaccante’ Giugno-Pulvirenti AA 2005-2006

Giugno-Pulvirenti AA 2005-2006 Esercitazione 1 giocatori( id_giocatore, nome, cognome, eta, id_squadra, ruolo) squadre( id_squadra, nome, citta) calendario( id_partita, id_sq_casa, id_sq_ospite, data) gol( id_partita, id_giocatore, minuto) Nome, Cognome e Squadra di appartenenza del giocatore più giovane del campionato. Nota: Potrebbero essercene più di uno. SELECT giocatori.nome, giocatori.cognome,squadre.nome FROM giocatori NATURAL JOIN squadre WHERE eta = (SELECT MIN(eta) FROM giocatori) Giugno-Pulvirenti AA 2005-2006

Giugno-Pulvirenti AA 2005-2006 Esercitazione 1 giocatori( id_giocatore, nome, cognome, eta, id_squadra, ruolo) squadre( id_squadra, nome, citta) calendario( id_partita, id_sq_casa, id_sq_ospite, data) gol( id_partita, id_giocatore, minuto) Per ogni squadra indicare il nome ed il numero totale di gol segnati dall’inizio del campionato. SELECT squadre.nome, count(*) as ‘Gol fatti’ FROM squadre, giocatori, gol WHERE squadre.id_squadra = giocatori.id_squadra AND giocatori.id_giocatore = gol.id_giocatore GROUP BY squadre.nome Giugno-Pulvirenti AA 2005-2006

Giugno-Pulvirenti AA 2005-2006 Esercitazione 1 giocatori( id_giocatore, nome, cognome, eta, id_squadra, ruolo) squadre( id_squadra, nome, citta) calendario( id_partita, id_sq_casa, id_sq_ospite, data) gol( id_partita, id_giocatore, minuto) Indicare le partite (squadre e data) che sono terminate al punteggio di 1 a 1. SELECT s1.nome, s2.nome FROM calendario c, squadre s1, squadre s2 WHERE c.id_sq_casa = s1.id_squadra AND c.id_sq_ospite = s2.id_squadra AND 1 = (SELECT count(*) FROM giocatore NATURAL JOIN gol WHERE giocatore.id_squadra = s1.id_squadra AND gol.id_partita = c.id_partita) WHERE giocatore.id_squadra = s2.id_squadra Giugno-Pulvirenti AA 2005-2006

Giugno-Pulvirenti AA 2005-2006 Esercitazione 1 giocatori( id_giocatore, nome, cognome, eta, id_squadra, ruolo) squadre( id_squadra, nome, citta) calendario( id_partita, id_sq_casa, id_sq_ospite, data) gol( id_partita, id_giocatore, minuto) Usando una tecnica diversa da quella utilizzata nel punto h), indicare le partite (squadre e data) che sono terminate al punteggio di 0 a 0. SELECT s1.nome, s2.nome FROM calendario c, squadre s1, squadre s2 WHERE c.id_sq_casa = s1.id_squadra AND c.id_sq_ospite = s2.id_squadra AND NOT EXISTS (SELECT * FROM gol WHERE gol.id_partita = c.id_partita) Giugno-Pulvirenti AA 2005-2006

Giugno-Pulvirenti AA 2005-2006 Esercitazione 2 Considera una relazione con un solo attributo R(A). Scrivere una query SQL quanto più semplice possibile che restituisca tutti i valori di A che compaiono in R almeno 3 volte e mostrarli una volta sola in output. Puoi assumere che non ci siano NULL nella relazione. SELECT DISTINCT R.A FROM R, R r1, R r2 WHERE R.A = r1.A and r1.A = r2.A Giugno-Pulvirenti AA 2005-2006