Esercizi sul linguaggio SQL e le basi dati relazionali
|
|
|
- Romolo Giustino Giannini
- 6 anni fa
- Visualizzazioni
Transcript
1 Esercizi sul linguaggio SQL e le basi dati relazionali Corso IN530 - Sistemi per l elaborazione delle informazioni Esercizio 1 Fig. 1: Schema fisico del database della Biblioteca Si consideri lo schema fisico del database riportato in Figura 1. Costruire le query in linguaggio SQL per ricavare le seguenti informazioni: 1. Elenco degli scrittori (nome e cognome) in ordine alfabetico. 2. Elenco dei libri e degli autori, in ordine alfabetico di titolo. 3. Elenco dei libri e degli autori di libri di narrativa straniera, in ordine alfabetico di titolo. 4. Elenco dei libri e degli autori, in ordine di genere e di lingua. 5. Elenco degli scrittori (nome e cognome) che hanno pubblicato almeno un libro presente in biblioteca. 6. Elenco degli scrittori (nome e cognome) che hanno pubblicato almeno un libro presente in biblioteca e numero di libri presenti per tale scrittore, in ordine decrescente di numerosità e iin ordine alfabetico per il cognome dello scrittore. 7. Elenco dei libri in ordine alfabetico di titolo e numero di autori per ciascun libro. 8. Nominativo, e telefono degli utenti che hanno dei libri in prestito. 9. Elenco dei libri attualmente in prestito e del nominativo dell utente che ha il libro in prestito, ordinati per cognome dell utente. 1
2 2 10. Nominativo dell utente che ha preso in prestito più libri (la clausola limit 1 alla fine di un istruzione select limita ad una sola riga l output prodotto). 11. Elenco dei libri prestati e del numero di volte che sono stati presi in prestito. 12. Elenco dei libri che non sono mai stati presi in prestito e dei loro autori, ordinati per titolo del libro. Esercizio 2 Fig. 2: Schema fisico del database degli studenti di un corso di laurea Si consideri lo schema fisico del database riportato in Figura 2. Costruire le query in linguaggio SQL per ricavare le seguenti informazioni: 1. Elenco dei docenti in ordine alfabetico. 2. Elenco dei dipartimenti e dei docenti afferenti ai vari dipartimenti. 3. Elenco degli studenti in ordine alfabetico con il titolo di studio, il voto di diploma e le lingue straniere conosciute e la media della conoscenza tra scritto e orale per ogni lingua. 4. Elenco degli studenti e media dei voti (la funzione di gruppo avg produce la media dei valori di un determinato attributo numerico). 5. Elenco degli studenti e numero di crediti formativi universitari (CFU) conseguiti.
3 3 Soluzioni esercizio 1 1. Elenco degli scrittori (nome e cognome) in ordine alfabetico. select nome, cognome from scrittore order by cognome, nome; 2. Elenco dei libri e degli autori, in ordine alfabetico di titolo. select libro.titolo, scrittore.nome, scrittore.cognome from libro, scrittore, autore 3. Elenco dei libri e degli autori di libri di narrativa straniera, in ordine alfabetico di titolo. select libro.titolo, scrittore.nome, scrittore.cognome from libro, scrittore, autore, genere and genere.nome= Narrativa straniera and genere.id=libro.id_genere 4. Elenco dei libri e degli autori, in ordine di genere e di lingua. select libro.titolo, scrittore.nome, scrittore.cognome, genere.nome, lingua.nome from libro, scrittore, autore, genere, lingua and libro.id_lingua=lingua.id and libro.id_genere=genere.id order by genere.nome, lingua.nome, libro.titolo; 5. Elenco degli scrittori (nome e cognome) che hanno pubblicato almeno un libro presente in biblioteca. select distinct scrittore.nome, scrittore.cognome where libro.id=autore.id_libro and scrittore.id=autore.id_scrittore order by scrittore.cognome; 6. Elenco degli scrittori (nome e cognome) che hanno pubblicato almeno un libro presente in biblioteca e numero di libri presenti per tale scrittore, in ordine decrescente di numerosità e iin ordine alfabetico per il cognome dello scrittore. select scrittore.nome, scrittore.cognome, count(scrittore.cognome) as N where libro.id=autore.id_libro and scrittore.id=autore.id_scrittore group by scrittore.cognome order by N desc, scrittore.cognome; 7. Elenco dei libri in ordine alfabetico di titolo e numero di autori per ciascun libro.
4 4 select libro.titolo, count(libro.titolo) as n_autori group by libro.titolo order by n_autori desc, libro.titolo; 8. Nominativo, e telefono degli utenti che hanno dei libri in prestito. select distinct utente.tessera, utente.nome, utente.cognome, utente. , utente.telefono from utente, prestito where prestito.tessera=utente.tessera and prestito.data_restituzione is NULL; 9. Elenco dei libri attualmente in prestito e del nominativo dell utente che ha il libro in prestito, ordinati per cognome dell utente. select libro.titolo, utente.cognome from libro, utente, prestito where libro.id=prestito.id_libro and prestito.data_restituzione is NULL and prestito.tessera=utente.tessera order by utente.cognome; 10. Nominativo dell utente che ha preso in prestito più libri (la clausola limit 1 alla fine di un istruzione select limita ad una sola riga l output prodotto). select utente.cognome, count(utente.cognome) as n from utente, prestito where prestito.tessera = utente.tessera group by utente.cognome order by n desc limit 1; 11. Elenco dei libri prestati e del numero di volte che sono stati presi in prestito. select libro.titolo, count(libro.titolo) as n from libro, prestito where libro.id=prestito.id_libro group by libro.titolo order by n desc, libro.titolo; 12. Elenco dei libri che non sono mai stati presi in prestito e dei loro autori, ordinati per titolo del libro. select libro.titolo, scrittore.cognome from libro, scrittore, autore and libro.id not in (select libro.id from libro, prestito where libro.id=prestito.id_libro)
5 5 Soluzioni esercizio 2 1. Elenco dei docenti in ordine alfabetico. select * from docente order by cognome; 2. Elenco dei dipartimenti e dei docenti afferenti ai vari dipartimenti. select docente.nome, docente.cognome, docente. , dipartimento.nome from docente, dipartimento where docente.dipartimento=dipartimento.id order by docente.cognome; 3. Elenco degli studenti in ordine alfabetico con il titolo di studio, il voto di diploma e le lingue straniere conosciute e la media della conoscenza tra scritto e orale per ogni lingua. select studente.cognome, studente.nome, studente.matricola, linguastraniera.nome, (conoscenza_lingua.scritto+conoscenza_lingua.orale)/2 as media, scuola.titolo, titolo_studio.voto from studente, linguastraniera, conoscenza_lingua, scuola, titolo_studio where studente.matricola=conoscenza_lingua.matricola_studente and conoscenza_lingua.id_lingua=linguastraniera.id and titolo_studio.matricola_studente=studente.matricola and titolo_studio.id_scuola=scuola.id order by studente.cognome; 4. Elenco degli studenti e media dei voti (la funzione di gruppo avg produce la media dei valori di un determinato attributo numerico). select studente.cognome, studente.nome, studente.matricola, avg(esame.voto) from studente, esame where esame.matricola_studente=studente.matricola group by studente.matricola order by studente.cognome, studente.nome; 5. Elenco degli studenti e numero di crediti formativi universitari (CFU) conseguiti. select studente.cognome, studente.nome, studente.matricola, sum(corso.cfu) from studente, esame, corso where esame.matricola_studente=studente.matricola and esame.sigla_corso=corso.sigla group by studente.matricola order by studente.cognome, studente.nome;
Esempio di database relazionale con l utilizzo del prodotto MySQL
Esempio di database relazionale con l utilizzo del prodotto MySQL Marco Liverani Aprile 2015 In queste pagine viene riportato in sintesi il progetto di un database relazionale esemplificativo con cui viene
SELECT FROM ORDER BY SELECT FROM ORDER BY DESC DESC SELECT FROM ORDER BY DESC DESC SELECT FROM WHERE SELECT FROM WHERE AND SELECT FROM WHERE AND
Data la seguente Base di dati: STUDENTE(Matricola, Nome, Cognome, Indirizzo, Città, CAP,Sesso) DOCENTE(Matricola, Nome, Cognome, Città,Telefono, Stipendio) CORSO(Codice, Nome, Facoltà, NumeroCrediti) ESAME(CodiceCorso,
Basi di Dati Corso di Laura in Informatica Umanistica
Basi di Dati Corso di Laura in Informatica Umanistica Appello del 26/07/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione
ESERCITAZIONI ACCESS
ESERCITAZIONI ACCESS MS Access 2000 Struttura di riferimento: Studente (Matricola, Cognome, Nome) Esame (Matricola, Materia, Voto, Data) CREARE LE TABELLE IN SQL: Create table STUDENTE ( matricola char(6)
Prova Pratica di Informatica, Modulo Basi di dati Appello 23/07/2018
Prova Pratica di Informatica, Modulo Basi di dati Appello 23/07/2018 REGOLE SULLO SVOLGIMENTO DELL ESAME E vietato usare dispositivi elettronici di qualsiasi tipo (smartphone, tablet, portatili) Non è
Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.
PROBLEMA. Un albergo di una grande città intende gestire in modo automatizzato sia le prenotazioni sia i soggiorni e realizzare un database. Ogni cliente viene individuato, tra l altro, con i dati anagrafici,
QL (Query Language) Alice Pavarani
QL (Query Language) Alice Pavarani QL Query Language Linguaggio di interrogazione dei dati, permette di: Interrogare la base di dati per estrarre informazioni Elaborare i dati Il risultato di un interrogazione
SQL Esercizi DML Blocco 1
SQL Esercizi DML Blocco 1 Si consideri il seguente schema di base di dati che vuole tenere traccia di alcune informazioni riguardanti gli studenti di un'università. Studenti(Matricola, NomeS, CognomeS,
Structured Query Language
IL LINGUAGGIO SQL Structured Query Language Contiene sia il DDL sia il DML, quindi consente di: Definire e creare il database Effettuare l inserimento, la cancellazione, l aggiornamento dei record di un
Informatica per le Scienze Umane. Introduzione al corso: programma dettagliato
Informatica per le Scienze Umane Introduzione al corso: programma dettagliato 1 Obiettivi del corso Fornire le conoscenze e le competenze necessarie alla rappresentazione e al trattamento consapevole delle
SQL: le funzioni di aggregazione
SQL: le funzioni di aggregazione funzioni predefinite che agiscono sui valori contenuti in insiemi di righe della tabella: Conteggi Somme Medie Massimi, minimi Funzione Count La funzione COUNT conta il
ESERCITAZIONE 4 Giovedì 13 novembre 2014 (3 ore) SQL
ESERCITAZIONE 4 Giovedì 13 novembre 2014 (3 ore) SQL Testi degli esercizi Si consideri il seguente schema di base di dati. STUDENTE(Matricola, Nome, Cognome, Indirizzo, Città) INSEGNANTE(Matricola, Nome,
Linguaggio SQL seconda parte
Linguaggio SQL seconda parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright Istituto Italiano Edizioni Atlas Le condizioni di ricerca 2 Le condizioni di ricerca Usate nelle
3. Selezionare i nomi dei clienti che iniziano con le lettere P, Q, R, S
Esercitazione di SQL Corso di Basi di Dati 1. Visualizzare i clienti in ordine alfabetico select * order by nomesocietà 2. Visualizzare i clienti che non hanno il fax where fax is null 3. Selezionare i
Caratteristiche dei linguaggi per Database
IL LINGUAGGIO Caratteristiche dei linguaggi per Database I linguaggi per basi di dati relazionali possiedono i comandi per: definizione del data base; manipolazione dei dati; associazione tra tabelle diverse;
Modelli di Base Dati
Modelli di Base Dati E Correzione degli esercizi con il contributo di: Cherubini Simonetto a.a. 2001/2002 E.1 Modulo 1: I Database E.2 Modelli di Base Dati 1 I Database Individuare le entità, gli attributi,
PROGETTAZIONE DI DATABASE Linguaggio SQL
PROGETTAZIONE DI DATABASE Linguaggio SQL Modello Concettuale (Modellazione del mondo reale) Modello Logico (Definizione del tipo e del formato dei dati) Modello Fisico (Implementazione fisica su supporti
SELECT s.nome, e.data Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola
SQL SELECT s.nome, e.data FROM Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola SELECT s.nome As Nome, 2002 - s.annonascita As Eta, 0 As NumeroEsami FROM Studenti
Basi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezioni 6 7 Raffaella Gentilini 1 / 46 Sommario 1 Subquery (o Interrogazioni Nidificate) Interrogazioni Annidate con Predicati di Confronto Interrogazioni Annidate con
Manuale SQL. Manuale SQL - 1 -
Manuale SQL - 1 - Istruzioni DDL Creazione di una tabella : CREATE TABLE Il comando CREATE TABLE consente di definire una tabella del database specificandone le colonne, con il tipo di dati ad esse associate,
Basi di dati I Prova di autovalutazione 30 ottobre 2014
Basi di dati I Prova di autovalutazione 3 ottobre 214 La prova verrà discussa in aula, prevedibilmente giovedì 6 novembre. Si consiglia di svolgerlo simulando l esame, sulla carta e senza ausilio di libri
Business Intelligence
Business Intelligence Esercitazione di Laboratorio N. 1 L esercitazione ha come obiettivo l interrogazione di una base di dati relazionale mediante query SQL su un DBMS Oracle XE. Schema logico della basi
Select From Where...
Select From Where... SELECT Le colonne che saranno mostrate e in che ordine. Calcoli su colonne FROM La tabella o le tabelle usate dall interrogazione WHERE Condizione che deve essere soddisfatta dalle
Compito Basi di Dati. Tempo concesso: 2 ore 18 Febbraio 2013 Nome: Cognome: Matricola:
Compito Basi di Dati. Tempo concesso: 2 ore 18 Febbraio 2013 Nome: Cognome: Matricola: Esercizio 1 Si considerino le seguenti specifiche relative alla realizzazione della base dati a supporto di un applicativo
Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:
Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare
SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)
SQL quick reference piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) I tipi dei dati di SQL sono: delimitatori delle costanti: TEXT(n) stringa di caratteri
Query. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi
Informatica della Facoltà di Lingue e Letterature dell Università degli Studi di Torino. Qualsiasi altro Query (Interrogazioni) SQL Materiale aggiuntivo per il corso di laurea in Lingue e Culture per il
Basi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 3 Raffaella Gentilini 1 / 52 Sommario 1 Il DML di SQL: Interrogazione di una BD 2 / 52 Data Manipulation Language (DML) Istruzioni del DML Le istruzioni del DML
Modello concettuale dei dati. Paolo Brunasti - UniMiB 1 / 12
Esempi di interrogazioni SQL Sia dato il seguente modello dati: professore(pk, nome studente(matricola, nome, fuoricorso, nazionalita, eta, provincia corso(codice, anno, fk esame(matricola, codice, anno,
Istituto Statale E.Torricelli Liceo Scientifico Tecnologico-Tecnico Industriale. Compiti Estivi Informatica
Studiare ciascuno degli argomenti proposti nel corso dell anno sul libro di testo (secondo le pagine assegnate) oppure sul sito comunicato all inizio dell anno con le stesse credenziali: 1) Da pag. 352
ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7
ESEMPI DI QUERY SQL Dati di esempio... 2 Query su una sola tabella... 2 Esempio 1 (Ordinamento)... 2 Esempio 2 (Scelta di alcune colonne)... 3 Esempio 3 (Condizioni sui dati)... 3 Esempio 4 (Condizioni
Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica (DM 270) Esame di Basi di Dati 10 marzo 2011
Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica (DM 270 Esame di Basi di Dati 10 marzo 2011 Esercizio 4: Interrogazioni su un database relazionale (60 minuti Sia dato il seguente schema
SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini
SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA 3. Panoramica su SQL Prof. Mauro Giacomini Sommario Introduzione Istruzione SELECT Tipi di Join Subquery Comandi DML Creazione delle tabelle Introduzione
Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor
Interrogare una base di dati: algebra relazionale e SQL Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Contesto didattico Il seguente materiale didattico è
Basi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 5 Raffaella Gentilini 1 / 22 Sommario 1 Gruppi 2 / 22 Raggruppamenti Gruppi Quanto sinora visto permette di estrarre dal DB informazioni che si riferiscono a
Select Anagrafiche, Movimenti From Descrizione? Where Anagrafiche.Codice=Codice And Cognome=' Bianchi ';
1) Ottenere la descrizione dei movimenti riferiti all'anagrafica con Cognome = ' Bianchi '. Select Anagrafiche, Movimenti From Descrizione? Where Anagrafiche.Codice=Codice And Cognome=' Bianchi '; Ottenere
Interrogazioni Interrogazioni in SQL } L'istruzione base dell'sql per costruire interrogazioni di complessita arbitraria e lo statement SELECT } Sinta
Interrogazioni } L'istruzione base dell'sql per costruire interrogazioni di complessita arbitraria e lo statement SELECT } Sintassi di base: SELECT [DISTINCT ALL] FROM [WHERE
SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE
SQL e ACCESS Prof. Salvatore Multazzu ([email protected]) Applicazioni Informatiche nella comunicazione Modello relazionale Entità Record o Ennuple Attributi o Campi Tipi Chiavi Primarie (PK)
Basi di Dati. Esercitazione SQL. Paolo Papotti. 19 maggio 2005
Basi di Dati Esercitazione SQL 19 maggio 2005 Paolo Papotti Considerando la seguente base di dati: Fornitori (CodiceFornitore, Nome, Indirizzo, Città) Prodotti (CodiceProdotto, Nome, Marca, Modello) Catalogo
