Corso di INFORMATICA

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Corso di INFORMATICA"

Transcript

1 ISTITUTO SCOLASTICO ISTRUZIONE SECONDARIA SUPERIORE G. SEGATO Corso di INFORMATICA Modulo 2 : L interrogazione di una Base di Dati 1 Il Modulo è strutturato secondo le seguenti UNITA DIDATTICHE : ( UD1 ) L Algebra Relazionale Definizione di algebra relazionale 1. Le principali operazioni elementari : unione, differenza, intersezione, proiezione, selezione, prodotto. 2. Le operazioni composte : la giunzione interna ed esterna. 3. Esempi di interrogazione usando l algebra relazionale. ( UD2 ) Fondamenti di SQL 1. Relazioni tra QBE, SQL ed algebra relazionale. 2. Come creare e modificare una tabella in SQL. 3. La selezione tramite l istruzione select. 4. Select semplice su singola tabella. 5. Select con giunzione su più tabelle. 6. Select nidificate. 7. Come realizzare ordinamenti e raggruppamenti in SQL. 1 AUTORE : Stefano Cecchin A. S / 2009 CLASSE : 5 INF 1

2 Algebra Relazionale ( cenni ) E l insieme di operatori e operazioni che consentono di scrivere una interrogazione tramite un FORMALISMO MATEMATICO. Si tratta in pratica di un linguaggio formale. L uso del formalismo è diffuso tra i matematici che per loro natura hanno una naturale capacità di astrazione. Vediamo le principali operazioni che questo formalismo consente : La SOMMA o UNIONE in ACCESS simbolo Si fondono due tabelle aventi la stessa struttura ( intensione ). ESEMPIO : SOCI = VECCHI-SOCI + NUOVI-SOCI Formalismo matematico : A + B { t t A t B } t tupla o riga o record or logico and logico La DIFFERENZA Si ottiene una tabella che è la differenza tra due tabelle. ESEMPIO : VECCHI-SOCI = SOCI NUOVI-SOCI Formalismo matematico : A B { t t A t B } La INTERSEZIONE Consente di ottenere gli elementi comuni a due tabelle. ESEMPIO : VECCHI-SOCI = SOCI VECCHI-SOCI STUDENTI SOCI-BIBLIOTECA = STUDENTI-LETTORI Formalismo matematico : A B A ( A B ) 2

3 Il PRODOTTO Operazione fondamentale alla base della maggior parte delle interrogazioni. Consente la concatenazione di due tabelle. ESEMPIO : Tabella A : 3 attributi, 4 tuple Tabella B : 2 attributi, 2 tuple Tabella ( A x B ) : 5 attributi, 8 tuple La Tabella ottenuta come concatenazione tra due tabelle è composta da un numero di attributi che è la somma degli attributi delle due tabelle e da un numero di tuple che il prodotto delle tuple delle due tabelle. TABELLA SCUOLA CLASSE SEZION E 3 C 5 A TABELLA PERSONA NOME ETA SESSO Piero 23 M Maria 12 F Luca 18 M Toni 34 M TABELLA PERSONA X SCUOLA NOME ETA SESSO CLASSE SEZIONE Piero 23 M 3 C Piero 23 M 5 A Maria 12 F 3 C Maria 12 F 5 A Luca 18 M 3 C Luca 18 M 5 A Toni 34 M 3 C Toni 34 M 5 A 3

4 Formalismo matematico : A X B { t t = a conc b a A b B } Le tuple ottenute per combinazione di ogni tupla di B con ogni tupla di A. La PROIEZIONE Consente di selezionare una o più colonne ( campi, attributi ) di una tabella. ESEMPIO : Formalismo matematico : Π NOME ( PERSONA ) Visualizza la sola colonna dei nomi della tabella PERSONA Π NOME, ETA ( PERSONA ) Visualizza le colonne nome ed età Π NOME, ETA, CLASSE ( PERSONA X SCUOLA ) Visualizza le colonne nome,età,classe della tabella prodotto 4

5 La SELEZIONE Consente di estrarre delle tuple ( record, righe ) da una tabella secondo definiti criteri di selezione. ESEMPIO : σ NOME = LUCA ( PERSONA ) Visualizza le righe della tabella PERSONA dove NOME è uguale a LUCA σ NOME = LUCA and ETA > 10 ( PERSONA ) Visualizza le righe che contengono il NOME = LUCA se ha una età superiore a 10 anni. σ NOME = LUCA or ETA > 10 ( PERSONA ) Visualizza le righe che contengono il NOME = LUCA e le righe di chi ha una età superiore a 10 anni. SESSO, CLASSE ( σ NOME = LUCA or ETA > 10 ( PERSONA X SCUOLA )) Creo la tabella prodotto ( creazione virtuale ), cerco al suo interno le righe che contengono il nome LUCA o l attributo età superiore a 10 anni e visualizzo di queste righe i soli attributi sesso e classe. 5

6 LA GIUNZIONE ( JOIN ) E l operazione più utilizzata perché consente di creare interrogazioni molto articolate che sfruttano le relazioni create tra le tabelle tramite le chiavi primarie ed esterne. CLASSIFICAZIONE : Giunzione interna ( inner join ) Giunzione esterna ( outer join ) ( Non c è in ACCESS ) Giunzione esterna sinistra ( left outer join ) Giunzione esterna destra ( right outer join ) La giunzione consente la creazione di una tabella virtuale partendo da due tabelle che hanno in comune un attributo. L attributo in comune nella pratica delle cose è una chiave primaria ( o un campo che compone la chiave primaria ) in una tabella e la chiave esterna dell altra tabella che la lega alla chiave primaria contenuta nella prima tabella. ESEMPIO : Tabella STUDENTE COGNOME NOME CLASSE (CE) Roldo Toni null * Gros Piero 5B Rossi Mario 5B Verdi Lucia 2C Bianchi Luca 2C * Privatista senza classe Tabella CLASSE CLASSE AULA 5B 11 3A 3 2C 21 4A 5 6

7 Tabella di Giunzione interna ( inner join ) COGNOME NOME CLASSE AULA Gros Piero 5B 11 Rossi Mario 5B 11 Verdi Lucia 2C 21 Bianchi Luca 2C 21 Formalismo matematico : STUDENTE CLASSE σ classe (ce) = CLASSE ( STUDENTE X CLASSE ) classe(ce) = CLASSE Si visualizzano le righe della tabella prodotto ottenuta combinando le tuple delle due tabelle che hanno chiave esterna = chiave primaria. Tabella di Giunzione esterna sinistra ( left outer join ) COGNOME NOME CLASSE AULA Roldo Toni null null Gros Piero 5B 11 Rossi Mario 5B 11 Verdi Lucia 2C 21 Bianchi Luca 2C 21 Come la giunzione interna con in più le righe della tabella di sinistra che non hanno alcuna relazione con la tabella di destra i cui campi nella tabella sono posti a null. 7

8 Formalismo matematico : STUDENTE CLASSE σ classe (ce) = CLASSE ( STUDENTE X CLASSE ) classe(ce) = CLASSE Tabella di Giunzione esterna destra ( right outer join ) COGNOME NOME CLASSE AULA null null 3A 3 null null 4A 5 Gros Piero 5B 11 Rossi Mario 5B 11 Verdi Lucia 2C 21 Bianchi Luca 2C 21 Come la giunzione interna con in più le righe della tabella di destra che non hanno alcuna relazione con la tabella di sinistra i cui campi nella tabella sono posti a null. Formalismo matematico : STUDENTE CLASSE σ classe (ce) = CLASSE ( STUDENTE X CLASSE ) classe(ce) = CLASSE Tabella di Giunzione esterna ( outer join ) Non è previsto da ACCESS anche se è comunque ottenibile tramite le due giunzioni precedenti. Infatti risulta la unione delle due precedenti giunzioni esterne ( destra e sinistra ). Giunzione esterna = Giunzione destra + Giunzione sinistra 8

9 COGNOME NOME CLASSE AULA null null 4A 5 null null 3A 3 Roldo Toni null null Gros Piero 5B 11 Rossi Mario 5B 11 Verdi Lucia 2C 21 Bianchi Luca 2C 21 Formalismo matematico : STUDENTE CLASSE σ classe (ce) = CLASSE ( STUDENTE X CLASSE ) ESEMPI di Interrogazioni con l Algebra Relazionale : classe(ce) = CLASSE Quali sono gli alunni della 5B? cognome, nome ( STUDENTI ( σ CLASSE = 5B ( CLASSE ))) classe(ce) = CLASSE Quali sono gli alunni privatisti? Π cognome, nome ( σ CLASSE = null ( STUDENTI CLASSE )) classe(ce) = = CLASSE 9

10 Fondamenti di SQL Sostanzialmente esistono due modi per formulare una interrogazione di un DATABASE, usare le QBE messe a disposizione dall applicativo in uso ( ACCESS ) o scrivere delle SELECT in SQL. QBE ( query by example ) sono più facili e veloci da realizzare,le interrogazioni si ottengono impostando un esempio, ovvero costruendo la tabella che l interrogazione deve restituire. SQL ( linguaggio di interrogazione ) richiede una maggiore attenzione ( la sintassi del linguaggio ), per contro consente interrogazioni molto più articolate e complesse. Rappresentazione Grafica delle Relazioni tra le forme di Interrogazione* SQL QBE ALGEBRA RELAZIONALE interrogazioni SQL interrogazioni QBE interrogazioni Algebra Rel. *Nota : Lo schema delle relazioni si presta ad eventuali critiche perché generalizza il concetto appoggiandosi sul DBMS ACCESS. Lo sviluppo di SQL ( ad esempio SQL3 o SQL-OO ) rende difficile definire una relazione tra le varie forme di interrogazione. 10

11 Come creare e aggiornare una TABELLA in SQL Le seguenti istruzioni non sono utilizzabili in ACCESS, e riguardano il DDL di un database. ACCESS mette a disposizione altri strumenti per creare una tabelle e per aggiornarne il contenuto. ESEMPIO di creazione : create table STUDENTI ( Nome char (20) not null, Cognome char (20) not null, Classe_app char ( 5 ), primary key ( Nome, Cognome ), foreign key ( Classe_app ) references CLASSE ); In grassetto le parole della sintassi SQL da utilizzare. Gli attributi che formano la chiave primaria vanno definiti non nulli e le chiavi esterne vanno referenziate ( link ) con la tabella a cui si legano. Aggiornamento di una tabella per inserimento di nuovi dati, ovvero di nuove righe. insert into STUDENTI values ( Stefano, Cecchin, 3A ) Aggiornamento di una tabella per modifiche dei dati in essa contenuti. La classe 5B viene rinominata 5BLI, ecco come fare in SQL. update STUDENTI set Classe_app = 5BLI where Classe_app = 5B Al vero l istruzione update consente operazioni molto più complesse di quella in esempio, ma questo esula dal corso di informatica previsto per il Liceo Tecnologico, inoltre è un tecnicismo che di volta in volta può variare a seconda della versione di SQL in uso. 11

12 La Selezione E l istruzione con cui si ottengono i risultati di tutte le possibili interrogazioni, SQL realizza la selezione usando l istruzione SELECT. Tipi di Select Select su una sola tabella, ovvero selezione semplice Select su più tabelle, ovvero selezione con giunzione ( join ) Select nidificate, ovvero select di select ( di select ) Struttura della istruzione select Logica della select select from attributi o campi tabella o tabelle where condizione di selezione Sintassi richiesta da SQL select [ distinct ] espr 1,espr 2,,espr n from tab 1, tab 2,.., tab n [ where condizione ] Traduzione di select in algebra relazionale Π espr1,,esprn ( σ condizione ( tab 1 X tab 2 X tab n )) 12

13 L uso della select sarà trattato tramite degli esempi che utilizzano il seguente MODELLO ER e l equivalente modello relazionale ( tabelle ). compenso ARTISTI partecipa SPETTACOLO avviene composto LUOGO MANIFESTAZIONE MODELLO ER ( privo di attributi per semplicità grafica ) Tabelle del Modello Relazionale ( con attributi e chiavi ) Tartisti ( COD_SIAE, NomeCognome, Caratteristiche ) Tspettacolo ( TITOLOSpett, TitoloMan, NomeLuogo) Tmanifestazione ( TITOLOMan, Organizzatore ) Tluogo ( NOMELuogo, Posti ) Tpartecipa ( COD_SIAE, TITOLOSpett, Compenso ) 13

14 La select semplice Visualizza il titolo degli spettacoli select TITOLOSpett from Tspettacolo 1. Visualizza l intera tabella delle manifestazioni select * from Tmanifestazione 2. Visualizza il numero di posti di cui dispone il Teatro Regio select Posti from Tluogo where NOMELuogo = TeatroRegio 3. Visualizza quanti sono i luoghi in cui si svolgono spettacoli select COUNT(*) [ COUNT (distinct NOMELuogo ) ] from Tluogo 4. Visualizza la somma dei compensi percepiti dall artista con codice siae uguale a VVFR23 select SUM( Compenso) from Tpartecipa where COD_SIAE = VVFR23 5. Visualizza I luoghi che dispongono di più di 300 posti select NOMELuogo from Tluogo where Posti > Visualizza il NomeCognome e le Caratteristiche di ogni artista select NomeCognome, Caratteristiche from Tartista 14

15 7. Visualizza quale è il compenso massimo corrisposto ad un artista select MAX( Compenso ) from Tpartecipa 8. Visualizza quale è il compenso Massimo percepito dall artista con codice siae uguale a VV45Y select MAX( Compenso ) from Tpartecipa where COD_SIAE = VV45Y 9. Visualizza quale è il compenso medio percepito dall artista con codice siae uguale a CC28 select AVG( Compenso ) from Tpartecipa where COD_SIAE = CC28 10.Visualizza I codici siae degli artisti che hanno percepito un compenso compreso tra 100 e 300 euro. select COD_SIAE from Tpartecipa where Compenso between 100 and 300 [ Compenso > 100 and Compenso < 300 ] 11.Visualizza il titolo degli spettacoli che non afferiscono ad una manifestazione select TITOLOSpett from Tspettacolo where TitoloMan = null [ TitoloMan is null ] Questi sono degli esempi di interrogazione utilizzando la select su una singola tabella, sia essa riferita ad una entità o generata tramite una relazione molti a molti. Tra parentesi quadre è riportata una opzione equivalente, ovvero prevista da alcuni SQL. 15

16 La select con giunzione ( join ) Più complessa della precedente, sfrutta l algebra relazionale vista nelle precedenti lezioni. Prendiamo in considerazione la parte del MODELLO ER relativa ad artista-partecipa-spettacolo. COD_SIAE Compenso TITOLOSpett TITOLOSpett NomeLuogo NomeCognome Caratteristich e COD_SIAE Tartista Tpartecipa Tpartecipa Tspettacolo COD_SIAE TITOLOSpett ( Tartista ( Tpartecipa Tspettacolo ) ) COD_SIAE TITOLOSpett 16

17 In questo modo ottengo una giunzione tra artista e spettacolo passando attraverso partecipa. select NomeCognome, TITOLOSpett from Tartista inner join ( Tpartecipa inner join Tspettacolo on Tpartecipa.TITOLOSpett = Tspettacolo.TITOLOSpett ) on Tartista.COD_SIAE = Tpartecipa.COD_SIAE La where select precedente NomeCognome visualizza = Mario gli spettacoli Rossi ; a cui partecipa l artista Mario Rossi, la selezione espressa in termini di algebra relazionale risulta : Π NomeCognome, TitoloSpett ( σ NomeCognome= Mario Rossi ( Tartista ( Tpartecipa Tspettacolo ) COD_SIAE TitoloSpett Criterio con cui operare le select con giunzione A B C D Si vuole porre in relazione qualcosa di A con D, anche se non sono legati da nessuna relazione diretta. A inner join ( B inner join ( C inner join D on attributo comune tra C e D) on attributo comune tra B e C) on attributo comune tra A e C 17

18 La nidificazione degli inner join segue la logica dal più lontano al più vicino e il DBMS svolge la selezione partendo dall inner join più interno ( ovvero quello più lontano ), come nelle espressioni algebriche. ESEMPI 12.Visualizzare gli Spettacoli che compongono la manifestazione avente come titolo Cinema Italiano select TITOLOSpett from ( Tspettacolo inner join Tmanifestazione on Tspettacolo.TitoloMan = Tmanifestazione.TITOLOMan Where Tmanifestazione.TITOLOMan = Cinema Italiano ) ; 13.Visualizzare gli spettacoli a cui partecipa l artista Luca Verdi ed ordinali alfabeticamente. select TITOLOSpett from ( Tspettacolo inner join ( Tartista inner join Tpartecipa on Tartista.COD_SIAE = Tpartecipa.COD_SIAE where Tartista.NomeCognome = Luca Verdi ) on Tspettacolo.TITOLOSpett=Tpartecipa.TITOLOSpett) order by asc ; 14.Visualizza quali luoghi ospitano la manifestazione Cinema Italiano. select NOMELuogo from Tluogo inner join ( Tmanifestazione inner join Tspettacolo on Tmanifestazione.TitoloSpett=Tspettacolo:TITOLOSpett where Tmanifestazione.TitoloSpett = Cinema Italiano ) on Tluogo.NOMELuogo=Tspettacolo.NomeLuogo ; 18

19 15.Visualizza il NomeCognome degli artisti che partecipano alla manifestazione Cinema Italiano. select NomeCognome from Tartista inner join ( Tpartecipa inner join ( Tmanifestazione inner join Tspettacolo on Tmanifestazione.TitoloSpett=Tspettacolo:TITOLOSpett where Tmanifestazione.TitoloSpett = Cinema Italiano ) on Tpartecipa.TITOLOSpett=Tspettacolo:TITOLOSpett ) on Tartista.COD_SIAE=Tpartecipa.COD_SIAE ; La select nidificata ( o select di select ) Si creano delle sottointerrogazioni che vengono utilizzate all interno di una select, ovviamente la sottointerrogazione è una select da cui la struttura a select annidate una nell altra. ESEMPI 16.Visualizzare NomeCognome degli artisti in ordine alfabetico e l ammontare dei compensi percepiti, denominando la colonna. select distinct NomeCognome, select ( SUM ( Compenso )) as Ammontare from Tartista inner join Tpartecipa On Tartista.COD_SIAE=Tpartecipa.COD_SIAE order by NomeCognome 17.Visualizzare NomeCognome degli artisti che hanno ricevuto compensi maggiori al compenso medio. select distinct NomeCognome from Tartista inner join Tpartecipa On Tartista.COD_SIAE=Tpartecipa.COD_SIAE Where Compenso > ( select AVG ( Compenso ) from Tpartecipa ) order by Compenso 19

20 18.Visualizzare il titolo degli spettacoli che si svolgono in luoghi la cui disponibilità di posti è maggiore di 200. select TITOLOSpett from Tpsettacolo inner join Tluogo On Tspettacolo.NomeLuogo=Tluogo.NOMELuogo where NOMELuogo in ( select NOMELuogo from Tluogo where Posti> 200 ) 19.Visualizzare il NomeCognome degli artisti che hanno partecipato ad almeno uno spettacolo. select distinct NomeCognome from Tartista where exists ( select NomeCognome from Tartista inner join Tpartecipa on Tartista.COD.SIAE=Tpartecipa.COD_SIAE ) 20.Visualizzare il titolo delle manifestazioni che non utilizzano luoghi usati dalla manifestazione Cinema Italiano select TITOLOMan from Tluogo inner join ( Tmanifestazione inner join Tspettacolo on Tmanifestazione.TitoloSpett=Tspettacolo:TITOLOSpett ) on Tluogo.NOMELuogo=Tspettacolo.NomeLuogo where NOMELuogo not in ( select NOMELuogo from Tluogo inner join ( Tmanifestazione inner join Tspettacolo on Tmanifestazione.TitoloSpett=Tspettacolo:TITOLOSpett where Tmanifestazione.TitoloSpett = Cinema Italiano ) on Tluogo.NOMELuogo=Tspettacolo.NomeLuogo ) ; 20

21 Come realizzare ORDINAMENTI e RAGRUPPAMENTI in SQL L ordinamento si realizza con l istruzione order by, e può essere crescente ( asc ) o decrescente ( desc ), per default l ordinamento è crescente. select NOMELuogo from Tluogo where Posti > 200 order by Posti desc, NOMELuogo asc I luoghi devono avere più di 200 posti e sono visualizzati dal luogo con più posti, in caso di luoghi con pari numero di posti la visualizzazione segue l ordinamento alfabetico. I raggruppamenti si realizzano con l istruzione group by attr 1,, attr n [having condizione del gruppo ] La tabella risultante è un insieme di gruppi, le righe che compongono ogni gruppo soddisfano alla seguente logica : Le righe stanno nello stesso gruppo se hanno gli stessi valori sugli attributi attr 1,, attr n e se rispettano la eventuale clausola presente in having Esempi 21.Quali manifestazioni prevedono almeno due spettacoli. select TitoloMan, COUNT(*) from Tspettacolo group by TitoloMan having COUNT(*) >= 2 22.Quanti spettacoli ospita ogni luogo. select NomeLuogo, COUNT(*) from Tspettacolo group by NomeLuogo 21

22 23.Fare una graduatoria degli artisti, per compensi ricevuti,aggiungendo la loro caratteristica. select NomeCognome, Caratteristiche, SUM( Compenso ) as Guadagno from Tartista inner join Tpartecipa on Tartista.COD_SIAE=Tpartecipa.COD_SIAE group by NomeCognome, Caratteristiche order by SUM(Compenso) desc 24.Fare una graduatoria degli artisti per partecipazioni agli spettacoli. select NomeCognome, COUNT(*) from Tartista inner join Tpartecipa on Tartista.COD_SIAE=Tpartecipa.COD_SIAE group by NomeCognome order by COUNT(*) desc NOTA1 : Gli attributi presenti nella riga select devono essere gli stessi presenti nella riga group by. Ammesso l uso di COUNT(*) e le operazioni di aggregazione sugli attributi. NOTA2 : In alcuni SQL è previsto un ordinamento tramite l istruzione Top, che consente di estrarre i migliori, ad esempio top 10 consente di visualizzare i migliori dieci. Si lascia al lettore consultare il manuale in linea di ACCESS per avere maggiori ragguagli. Gli appunti possono contenere degli errori ortografici, spero non ci siano orrori di sintassi. Gli esempi presenti negli appunti non sono stati testati e potrebbero richiedere degli aggiustamenti alla sintassi ( ad esempio l uso del punto e virgola finale o racchiudere tra parentesi quadre [] il nome delle tabelle ). La struttura logica degli esempi è corretta (spero). L apprendimento dei fondamenti del linguaggio SQL richiede esercizio ed una organizzazione mentale logica nella formulazione delle interrogazioni. 22

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

Dettagli

QL (Query Language) Alice Pavarani

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

Dettagli

Manuale SQL. Manuale SQL - 1 -

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,

Dettagli

SQL: le funzioni di aggregazione

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

Dettagli

Structured. Language. Basi di Dati. Introduzione. DDL: Data Definition Language. Tipi di dato. Query. Modifica dei Dati

Structured. Language. Basi di Dati. Introduzione. DDL: Data Definition Language. Tipi di dato. Query. Modifica dei Dati Basi di Dati Matteo Longhi Structured Query Language Introduzione Standard creato nel 1976 da IBM Aggiornato (versione 2 nel 1992 (ANSI X3.135 e ISO 9075 Consente di: DDL: definire la struttura del DB

Dettagli

Structured Query Language

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

Dettagli

Manuale Comandi SQL SQL. Sito per esercitarsi (on line) SQL

Manuale Comandi SQL SQL. Sito per esercitarsi (on line) SQL Manuale Comandi SQL Sito per esercitarsi (on line)... 1 SQL... 1 Convenzioni e simboli usati... 2 Query Language... 2 Comando Select... 2 Order By:... 3 Sintassi generale:... 3 Ordinamanto su PIU campi...

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2017/2018 1 Sesta parte Interrogazione di una

Dettagli

Select From Where...

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

Dettagli

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 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 è

Dettagli

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) 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

Dettagli

IL LINGUAGGIO SQL LE BASI

IL LINGUAGGIO SQL LE BASI IL LINGUAGGIO SQL LE BASI DB DI RIFERIMENTO PER GLI ESEMPI 2 ESPRESSIONI NELLA CLAUSOLA SELECT La SELECT list può contenere non solo attributi, ma anche espressioni: Le espressioni possono comprendere

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 4 Raffaella Gentilini 1 / 46 Sommario 1 Join di Tabelle Join Naturale Theta Join Join Esterno 2 3 Funzioni d aggregazione La Clausola GROUP BY La Clausola HAVING

Dettagli

Archivi e basi di dati - ing. M. Cossentino. Settore. Traccia 1. Traccia 200. Settore non polarizzato

Archivi e basi di dati - ing. M. Cossentino. Settore. Traccia 1. Traccia 200. Settore non polarizzato Settore Traccia 1 Traccia 200 Settore non polarizzato '! " # $ % & ( ) * + + ' ' ' !"#"$%, & &'(("% '&)'' ''"* - -. / / / 0/!- "-, (0 #- / / / 0/ --- + 1 ' # $ + 2 13 ,, - 4 '. & 56 2 '/!!! "7&% 8, 9 /'"'0'1'&'

Dettagli

Linguaggio SQL seconda parte

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

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 4 Raffaella Gentilini 1 / 48 Sommario 1 Join di Tabelle Join Naturale Theta Join Join Esterno 2 La Clausola HAVING 3 2 / 48 Join Naturale Theta Join Join Esterno

Dettagli

Basi di Dati: Corso di laboratorio

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

Dettagli

SQL /10/2016 Basi di dati - SQL 1

SQL /10/2016 Basi di dati - SQL 1 SQL 24-27/10/2016 Basi di dati - SQL 1 Esercitazioni pratiche Per SQL è possibile (e fondamentale) svolgere esercitazioni pratiche Verranno anche richieste copme condizione per svolgere le prove parziali

Dettagli

PRODOTTO CARTESIANO Caso Generale

PRODOTTO CARTESIANO Caso Generale PRODOTTO CARTESIANO Caso Generale Vincoli di integrità dei dati Un database non deve solamente memorizzare i dati, ma garantire che i dati memorizzati siano corretti; se i dati sono imprecisi o incoerenti,

Dettagli

Gestione dei valori nulli

Gestione dei valori nulli Gestione dei valori nulli La gestione dei valori nulli, a seconda dell implementazione, avviene attraverso una logica a due valori come in SQL-89, o a tre valori (vero, falso, unknown) come in SQL-2. In

Dettagli

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/ Modelli di Base Dati 8 L aggregazione e il raggruppamento in SQL a.a. 2001/2002 8.1 SQL: le funzioni di aggregazione 8.2 funzioni predefinite che agiscono sui valori contenuti in insiemi di righe della

Dettagli

Lezioni di Laboratorio sui Data Base

Lezioni di Laboratorio sui Data Base Lezioni di Laboratorio sui Data Base Informatica per l'impresa Docente Tutor: Dott. Gianluigi Roveda OBIETTIVO: Rivedere come attività di laboratorio le query di tipo select scritte in SQL ma con le variazioni

Dettagli

Gestione delle informazioni. Tot. h 10. Base di Dati. Tot. h 56. Grafica in C# - Laboratorio- Tot. h 40. Dipartimento Informatica Materia Informatica

Gestione delle informazioni. Tot. h 10. Base di Dati. Tot. h 56. Grafica in C# - Laboratorio- Tot. h 40. Dipartimento Informatica Materia Informatica Dipartimento Informatica Materia Informatica Classe 5 Tec Ore/anno 198 A.S. 2018-2019 MODULI COMPETENZE UNITA di APPRENDIMENTO Gestione delle informazioni Tot. h 10 Base di Dati Tot. h 56 Grafica in C#

Dettagli

Informatica Grafica. Basi di dati parte 2

Informatica Grafica. Basi di dati parte 2 Informatica Grafica Corso di Laurea in Ingegneria Edile Architettura Basi di dati parte 2 Michele Lombardi su materiale originario di Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica

Dettagli

Microsoft Access. Relazioni e query SQL. Domenico Fabio Savo

Microsoft Access. Relazioni e query SQL. Domenico Fabio Savo Microsoft Access Relazioni e query SQL Domenico Fabio Savo Outline Base di dati di esempio Le relazioni Le query Outline Base di dati di esempio Le relazioni Le query Contratti telefonici (requisiti) Si

Dettagli

SQL è stato definito nel 1973 ed è oggi il linguaggio universale dei sistemi relazionali

SQL è stato definito nel 1973 ed è oggi il linguaggio universale dei sistemi relazionali SQL: Structured Query Language 1 SQL è stato definito nel 1973 ed è oggi il linguaggio universale dei sistemi relazionali Standard: SQL-84, SQL-89, SQL-92 (o SQL2), SQL:1999 (o SQL3) (ANSI/ISO) SQL-92:

Dettagli

Caratteristiche dei linguaggi per Database

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;

Dettagli

Principi di Progettazione del Software a.a Il linguaggio SQL. Il Linguaggio SQL

Principi di Progettazione del Software a.a Il linguaggio SQL. Il Linguaggio SQL Principi di Progettazione del Software a.a. 2017-2018 Ing. Università del Salento Il Linguaggio SQL Due componenti principali: Ø DDL (Data Definition Language) Contiene i costrutti necessari per la creazione/modifica

Dettagli

SELECT s.nome, e.data Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola

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

Dettagli

CORSO ACCESS 2000 PARTE VI

CORSO ACCESS 2000 PARTE VI Le Query Le Query selezionano dati, da una o più tabelle in un database, che soddisfano determinati requisiti e visualizzano i risultati in un foglio dati. I dati richiesti vengono visualizzati in un recordset

Dettagli

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, e.data FROM Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola SQL, e.data, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola As Nome, 2002 - s.annonascita As Eta, 0 As NumeroEsami WHERE NOT EXISTS (SELECT * WHERE e.matricola = s.matricola

Dettagli

PROGETTAZIONE DI DATABASE Linguaggio SQL

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

Dettagli

Il linguaggio SQL: raggruppamenti

Il linguaggio SQL: raggruppamenti Il linguaggio SQL: raggruppamenti Sistemi Informativi T Versione elettronica: 04.3.SQL.gruppi.pdf Informazioni di sintesi Quanto sinora visto permette di estrarre dal DB informazioni che si riferiscono

Dettagli

Monday, January 24, 2011 SQL

Monday, January 24, 2011 SQL SQL SQL Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative l utente specifica quale informazione è di suo interesse, ma non come estrarla dai dati Le interrogazioni vengono

Dettagli

Corso di Informatica Medica

Corso di Informatica Medica Università degli Studi di Trieste Corso di Laurea Magistrale in INGEGNERIA CLINICA ESERCITAZIONE: IL LINGUAGGIO SQL Corso di Informatica Medica Docente Sara Renata Francesca MARCEGLIA Dipartimento di Ingegneria

Dettagli

Interrogazioni nidificate

Interrogazioni nidificate Interrogazioni nidificate Nella clausola where si possono utilizzare valori prodotti da altre istruzioni select utilizzando any (qualsiasi) o all (tutti) insieme agli operatori di confronto Trovare nome,

Dettagli

SQL - Structured Query Language

SQL - Structured Query Language SQL - Structured Query Language Lab 05 Alessandro Lori Università di Pisa 27 Aprile 2012 Riepilogo esercitazione precedente Operatori insiemistici (UNION, INTERSECT, EXCEPT) Riepilogo esercitazione precedente

Dettagli

Esempio di database relazionale con l utilizzo del prodotto MySQL

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

Dettagli

ESERCITAZIONI ACCESS

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)

Dettagli

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

SQL. Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative SQL SQL Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative l utente specifica quale informazione è di suo interesse, ma non come estrarla dai dati Le interrogazioni vengono

Dettagli

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto SQL Università degli Studi di Salerno Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto A.A. 2005/2006 Select La forma di select cui siamo arrivati

Dettagli

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

SQL. Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative SQL SQL Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative l utente specifica quale informazione è di suo interesse, ma non come estrarla dai dati Le interrogazioni vengono

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo LB (SQL) 5 - Aggregazione e raggruppamento Prerequisiti Conteggio e somma degli elementi di un insieme numerico Massimo, minimo e media di un insieme numerico Ordinamento

Dettagli

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

SQL Esempi. 24/10-7/11/2016 Basi di dati - SQL 1 SQL Esempi 24/10-7/11/2016 Basi di dati - SQL 1 Esercitazioni pratiche Per SQL è possibile (e fondamentale) svolgere esercitazioni pratiche Verranno anche richieste copme condizione per svolgere le prove

Dettagli

(Lezione SQL 3) Barbara Di Camillo Dipartimento di Ingegneria dell Informazione. Università degli Studi di Padova

(Lezione SQL 3) Barbara Di Camillo Dipartimento di Ingegneria dell Informazione. Università degli Studi di Padova Università degli Studi di Padova Corso di Laurea Magistrale in Bioingegneria A.A. 2010-20112011 INFORMATICA SANITARIA (Lezione SQL 3) Barbara Di Camillo Dipartimento di Ingegneria dell Informazione Università

Dettagli

Microsoft Access (parte 5) Query. Query. Query. Query. Creare una query

Microsoft Access (parte 5) Query. Query. Query. Query. Creare una query Microsoft Access (parte 5) Anno accademico: 2008-2009 Per estrarre informazioni da un database si utilizzano delle query : procedure di interrogazione Si può creare più query per ogni tabella Occorre avere

Dettagli

SQL - Structured Query Language

SQL - Structured Query Language SQL - Structured Query Language Luca Martini Università di Pisa 16 aprile 2010 Riepilogo sugli operatori aggregati Sintassi SELECT A t t r i b u t o 1, MAX( A t t r i b u t o 2 ),... FROM Tabella1, Tabella2,...

Dettagli

Il linguaggio SQL: raggruppamenti

Il linguaggio SQL: raggruppamenti Il linguaggio SQL: raggruppamenti Sistemi Informativi T Versione elettronica: 04.3.SQL.gruppi.pdf Informazioni di sintesi Quanto sinora visto permette di estrarre dal DB informazioni che si riferiscono

Dettagli

SQL Matteo Magnani, Danilo Montesi Università di Bologna SQL. SQL come Data Manipulation Language - (SELECT FROM WHERE ORDER BY)

SQL Matteo Magnani, Danilo Montesi Università di Bologna SQL. SQL come Data Manipulation Language - (SELECT FROM WHERE ORDER BY) SQL SQL come Data Manipulation Language - (SELECT FROM WHERE ORDER BY) Esempio 1 Madre Maternita Figlio Nome Eta Andrea 27 Aldo 25 Maria 55 Anna 50 Filippo 26 50 60 Olga 30 Sergio 85 Luisa 75 Persone Reddito

Dettagli

Corso di Basi di Dati

Corso di Basi di Dati Corso di Basi di Dati Il Linguaggio SQL Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ Il Linguaggio SQL SQL (Structured Query Language) è il linguaggio di riferimento per le basi di dati

Dettagli

Sommario. Introduzione... 13

Sommario. Introduzione... 13 Sommario Introduzione... 13 1. Database pro e contro... 19 A cosa serve conoscere i database?...19 Le alternative alla gestione manuale...22 Quando non serve un database?...24 Domande ed esercizi...26

Dettagli

Interrogazioni complesse. SQL avanzato 1

Interrogazioni complesse. SQL avanzato 1 Interrogazioni complesse SQL avanzato Classificazione delle interrogazioni complesse Query con ordinamento Query con aggregazione Query con raggruppamento Query binarie Query annidate SQL avanzato 2 Esempio

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 4 Raffaella Gentilini 1 / 27 Sommario 1 Join di Tabelle 2 3 2 / 27 Lo Statement JOIN Join espliciti di tabelle nella clausola FROM In SQL e possibile scrivere

Dettagli

Corso di Informatica Linguaggio SQL seconda parte

Corso di Informatica Linguaggio SQL seconda parte Corso di Informatica Linguaggio SQL seconda parte Anno Accademico 2018-2019 Le condizioni di ricerca 2 Le condizioni di ricerca Usate nelle clausole WHERE e HAVING Costruite con gli operatori di confronto:

Dettagli

Corso di Access Modulo L2 A (Access) I tipi di query

Corso di Access Modulo L2 A (Access) I tipi di query Corso di Access Modulo L2 A (Access) 2.3.2 I tipi di query 1 Prerequisiti Concetto di database relazionale Utilizzo elementare del computer Concetti fondamentali di basi di dati Interrogazione di un DB

Dettagli

SQL [2] Concetti avanzati di SQL. Esempi di interrogazioni

SQL [2] Concetti avanzati di SQL. Esempi di interrogazioni SQL [2] Concetti avanzati di SQL 2 Esempi di interrogazioni 3 Esempi di interrogazioni 4 Esempi di interrogazioni 5 Confronti che coinvolgono NULL NULL può voler dire: valore sconosciuto (esiste ma non

Dettagli

Prova Scritta di Basi di Dati

Prova Scritta di Basi di Dati Prova Scritta di Basi di Dati 1 Luglio 2008 COGNOME: NOME: MATRICOLA: Si prega di risolvere gli esercizi direttamente sui fogli del testo, negli spazi indicati. Usare il foglio protocollo solo per la brutta

Dettagli

E possibile ordinare le righe del risultato di una interrogazione attraverso la clausola order by, a chiusura di una interrogazione.

E possibile ordinare le righe del risultato di una interrogazione attraverso la clausola order by, a chiusura di una interrogazione. Ordinamento E possibile ordinare le righe del risultato di una interrogazione attraverso la clausola order by, a chiusura di una interrogazione. order by AttrdiOrdinamento [asc desc] {, AttrdiOrdinamento

Dettagli

MODULO 2. Query normali e parametriche Query di:

MODULO 2. Query normali e parametriche Query di: MODULO 2 TITOLO DBMS e SQL In questo Modulo si affronta lo studio dei DBMS Access e MySQL. In particolare per Access, si descrive come progettare, impostare e modificare gli strumenti di lavoro (tabelle,

Dettagli

Filtri. Microsoft Access. Filtri. Filtri

Filtri. Microsoft Access. Filtri. Filtri Filtri Microsoft Access Filtri, query Un filtro è una funzione che provoca la visualizzazione dei soli record contenenti dati che rispondono a un certo requisito Per applicare un filtro a una tabella è

Dettagli

Linguaggio SQL. Prof. Giuseppe Tandoi

Linguaggio SQL. Prof. Giuseppe Tandoi Caratteristiche generali SQL è uno strumento per organizzare gestire recuperare dati memorizzati in DataBase organizzati su base Relazionale. Caratteristiche generali SQL è l'acronimo di Structured Query

Dettagli

Appunti su SQL. Query Language. Comando Select

Appunti su SQL. Query Language. Comando Select Appunti su SQL Query Language... 1 Comando Select... 1 Select con campi ordinati: order By... 3 Sintassi generale:... 3 Ordinamanto su PIU campi... 3 DML (Data Manipulation Language per inserimento e modifica

Dettagli

Operatori aggregati. Operatori aggregati. Interrogazioni con raggruppamento. Interrogazioni con raggruppamento

Operatori aggregati. Operatori aggregati. Interrogazioni con raggruppamento. Interrogazioni con raggruppamento Operatori aggregati In algebra relazionale le espressioni vengono valutate sulle singole tuple in successione. Talvolta però possono essere necessarie informazioni derivabili dall esame di tutte le tuple

Dettagli

SQL. Argomenti della lezione. Join esplicito. Interrogazioni complesse in SQL join esplicito outer join operatori aggregati interrogazioni nidificate

SQL. Argomenti della lezione. Join esplicito. Interrogazioni complesse in SQL join esplicito outer join operatori aggregati interrogazioni nidificate Argomenti della lezione SQL Interrogazioni complesse in SQL join esplicito outer join operatori aggregati interrogazioni nidificate Maternità Paternità Madre Figlio Olga Filippo Sergio Olga Filippo Persone

Dettagli

Interrogazioni con Raggruppamenti

Interrogazioni con Raggruppamenti Basi di Dati SQL-92 Concetti Avanzati SQL-92 >> Sommario Concetti Avanzati Raggruppamenti Clausole GROUP BY e HAVING Forma Generale della SELECT Nidificazione Uso nel DML e DDL Nidificazione, Viste e Potere

Dettagli

Database parte 2. Database azienda

Database parte 2. Database azienda Database parte 2 Esercizio azienda SQL Ing. Lucia Vaira lucia.vaira@unisalento.it Database azienda L azienda è organizzata in dipartimenti Ciascun dipartimento ha un codice, un nome e un impiegato che

Dettagli

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

SQL Esempi /10/2017 Basi di dati - SQL 1 SQL Esempi 23-26/10/2017 Basi di dati - SQL 1 Esercitazioni pratiche Per SQL è possibile (e fondamentale) svolgere esercitazioni pratiche Verranno anche richieste copme condizione per svolgere le prove

Dettagli

Il formato di base di un interrogazione in SQL è: SELECT R i1.c 1, R i2.c 2,..., R in.c n FROM R 1, R 2,..., R k WHERE F;

Il formato di base di un interrogazione in SQL è: SELECT R i1.c 1, R i2.c 2,..., R in.c n FROM R 1, R 2,..., R k WHERE F; 54 Il formato di base di un interrogazione in SQL è: SELECT R i1.c 1, R i2.c 2,..., R in.c n FROM R 1, R 2,..., R k WHERE F; dove R 1, R 2,..., R k è una lista di nomi distinti di relazioni R i1.c 1, R

Dettagli

Basi di Dati. Concetti Avanzati

Basi di Dati. Concetti Avanzati Basi di Dati Concetti Avanzati Concetti Avanzati Raggruppamenti Clausole GROUP BY e HAVING Forma Generale della SELECT Nidificazione Uso nel DML e DDL Nidificazione, Viste e Potere Espressivo Esecuzione

Dettagli

Lezione 7 SQL (II) Basi di dati bis Docente Mauro Minenna Pag.1

Lezione 7 SQL (II) Basi di dati bis Docente Mauro Minenna  Pag.1 Lezione 7 SQL (II) Pag.1 Ancora sugli operatori di confronto tra insiemi Abbiamo già visto IN, EXISTS e UNIQUE. Possiamo anche usare NOT IN, NOT EXISTS e NOT UNIQUE Disponibili anche: op ANY, op ALL Trovare

Dettagli

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: 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

Dettagli

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

Corso di. Basi di Dati I. 9. Esercitazioni in SQL: Check, asserzioni, viste Corso di Basi di Dati 9. Esercitazioni in SQL: Check, asserzioni, viste A.A. 2016 2017 Check Come abbiamo visto, SQL permette di specificare vincoli sugli attributi e le tabelle attraverso il comando check

Dettagli

Fondamenti di Informatica A. A / 1 9

Fondamenti di Informatica A. A / 1 9 Fondamenti di Informatica Prof. Marco Lombardi A. A. 2 0 1 8 / 1 9 Concetti Introduttivi 1/2 SQL (Structured Query Language) permette di manipolare i dati, interrogare un database relazionale e modellarne

Dettagli

Consideriamo lo schema relazionale

Consideriamo lo schema relazionale Andrea Gasparetto Consideriamo lo schema relazionale Sulle stringhe WHERE Expr LIKE pattern Il pattern può contenere caratteri e i simboli speciali % sequenza di 0 o più caratteri qualsiasi _ un carattere

Dettagli

Lezione 13. Il trattamento dei dati. database: il linguaggio SQL seconda parte. Proff. Valle Folgieri

Lezione 13. Il trattamento dei dati. database: il linguaggio SQL seconda parte. Proff. Valle Folgieri Lezione 13 Il trattamento dei dati database: il linguaggio SQL seconda parte Proff. Valle Folgieri Lez13 Trattamento dati. Database: il linguaggio SQL-seconda parte 1 SQL: azioni sui dati Nella scorsa

Dettagli

Lezione 12. Il trattamento dei dati. database: il linguaggio SQL seconda parte. Proff. Valle Folgieri

Lezione 12. Il trattamento dei dati. database: il linguaggio SQL seconda parte. Proff. Valle Folgieri Lezione 12 Il trattamento dei dati database: il linguaggio SQL seconda parte Proff. Valle Folgieri Lez13 Trattamento dati. Database: il linguaggio SQL-seconda parte 1 SQL: azioni sui dati Nella scorsa

Dettagli

Basi di dati - Laboratorio

Basi di dati - Laboratorio Basi di dati - Laboratorio Corso di Laurea in Bioinformatica Docente: Barbara Oliboni Lezione 4 Contenuto della lezione Interrogazioni SQL Join interni ed esterni Uso di variabili tupla o ALIAS Interrogazioni

Dettagli

Alessandra Raffaetà. Esercizio: Cinema

Alessandra Raffaetà. Esercizio: Cinema Lezione 8 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Esercizio: Cinema

Dettagli

S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali. Alessandra Raffaetà

S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali. Alessandra Raffaetà Lezione 8 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Esercizio: Cinema

Dettagli

SQL e algebra relazionale

SQL e algebra relazionale SQL e algebra relazionale Il linguaggio SQL consente una maggiore espressività dell algebra relazionale grazie a costrutti che permettono: di definire join più sofisticati di ordinare le righe dei risultati

Dettagli

Basi di Dati: Corso di laboratorio

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

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 2 Vincoli di integrità Proprietà che devono essere soddisfatte da ogni istanza della base di dati. Il soddisfacimento è definito rispetto al

Dettagli

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

Gestione e Analisi dei Dati. Lezione 2 Vincoli su attributo Selezioni semplici su una tabella Gestione e Analisi dei Dati Lezione 2 Vincoli su attributo Selezioni semplici su una tabella Vincoli sui Dati Regole del dominio di interesse Unicità di codici di corso e matricole Un codice deve corrispondere

Dettagli

BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI BASI DATI: algebra relazionale INFORMATICA APPLICATA E SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI 1 Algebra relazionale Definizione L'algebra relazionale è un insieme di operazioni (query) che servono

Dettagli

Basi di Dati: Corso di laboratorio

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

Dettagli

Basi di dati (4) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. Argomento: select (1.

Basi di dati (4) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. Argomento: select (1. Università di Modena e Reggio Emilia Basi di dati (4) Docente: andrea.bulgarelli@gmail.com Argomento: select (1.0) 1 Panoramica Select Joins Subquery Wildcard Esempi 2 SELECT SELECT [DISTINCT] [TOP n]

Dettagli

Interrogazioni nidificate

Interrogazioni nidificate Interrogazioni nidificate Trovare nome, cognome e matricola degli studenti che non hanno fatto esami select Matricola,Nome,Cognome from studenti where matricola all (select studente group by studente)

Dettagli

Interrogazioni semplici

Interrogazioni semplici Interrogazioni semplici Lorenzo Sarti 2009 Basi di Dati 1 select Campi considerati Matricola Cognome Nome Data di nascita A80198760 Bianchi Anna 22/03/1967 A80293450 Rossi Andrea 13/04/1968 A80198330 Neri

Dettagli

Esempi SQL con Access. Orazio Battaglia

Esempi SQL con Access. Orazio Battaglia con Access Orazio Battaglia Consideriamo la base di dati in figura. 2 Interrogazione 1: Selezioniamo tutti gli impiegati, vogliamo Cognome, Nome e Posizione SELECT Impiegati.Cognome, Impiegati.Nome, Impiegati.Posizione

Dettagli

Esempi di Query con Aggregazioni in SQL/1

Esempi di Query con Aggregazioni in SQL/1 Basi di Dati Prof. Alfredo Cuzzocrea Università degli Studi di Trieste Esempi di Query con Aggregazioni in SQL/1 Credits to: Prof. P. Ciaccia UniBO DB di riferimento per gli esempi AziendaSW Imp CodImp

Dettagli

Basi di dati Corso di Laurea in Informatica Umanistica

Basi di dati Corso di Laurea in Informatica Umanistica Basi di dati Corso di Laurea in Informatica Umanistica Esercitazione pre-verifica del 19.03.2012 Parte 1 modello relazionale, SQL (A) Si consideri il seguente schema di base di dati letteraria: TABLE Autori

Dettagli

SQl come DML. Angelo Chianese,, Vincenzo Moscato, Antonio Picariello,, Lucio Sansone

SQl come DML. Angelo Chianese,, Vincenzo Moscato, Antonio Picariello,, Lucio Sansone SQl come DML Angelo Chianese,, Vincenzo Moscato, Antonio Picariello,, Lucio Sansone Basi di dati per la gestione dell'informazione 2/ed McGraw-Hill Capitolo 5 Appunti dalle lezioni SQL come DDL Sistemi

Dettagli

Query. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi

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

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Esercitazione PostgreSQL Dopo aver lanciato il client grafico pgadmin III di PostgreSQL svolgere le operazioni descritte nel seguito, tenendo presenti i suggerimenti forniti

Dettagli

LEZIONE. Reperimento dei dati: SELECT. Alias e calcoli. 110 BLOCCO TEMATICO A Le basi di dati

LEZIONE. Reperimento dei dati: SELECT. Alias e calcoli. 110 BLOCCO TEMATICO A Le basi di dati LEZIONE Reperimento dei dati: SELECT Per estrarre dei dati dal database, il linguaggio SQL prevede il comando SELECT, la cui potenza ed espressività sono alla base del successo di questo linguaggio. Estrarre

Dettagli

Interrogazioni in SQL SQL1 1

Interrogazioni in SQL SQL1 1 Interrogazioni in SQL SQL1 1 Dichiaratività di SQL E un linguaggio di IV generazione: in SQL l'utente specifica QUALE informazione è di suo interesse ma non COME estrarla dai dati il sistema costruisce

Dettagli

Basi di dati I Prova di autovalutazione 1 novembre 2016 Soluzioni

Basi di dati I Prova di autovalutazione 1 novembre 2016 Soluzioni Basi di dati I Prova di autovalutazione 1 novembre 2016 Soluzioni Domanda 1 Si consideri una base di dati sulle relazioni R 1 (A, B, C) R 2 (D, E, F ) Scrivere interrogazioni in SQL equivalenti alle seguenti

Dettagli

Appunti su SQL. Query Language. Comando Select

Appunti su SQL. Query Language. Comando Select Appunti su SQL Query Language... 1 Comando Select... 1 Select con campi calcolati e order By... 4 campi calcolati Sintassi generale:... 4 order By Sintassi generale:... 4 Select con Join (due tabelle)...

Dettagli