LE RELAZIONI IN SQL. SELECT ordini.id_ordine, clienti.cognome, clienti.nome, ordini.articolo, ordini.quantità

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "LE RELAZIONI IN SQL. SELECT ordini.id_ordine, clienti.cognome, clienti.nome, ordini.articolo, ordini.quantità"

Transcript

1 LE RELAZIONI IN SQL INNER JOIN La inner join si effettua andando a cercare righe corrispondenti nelle due tabelle, basandosi sul valore di determinate colonne. In Access è il caso del campo di tipo Ricerca guidata che automaticamente crea una Inner-Join. Immaginiamo, in un esempio classico, di avere una tabella ordini e una tabella clienti. Diciamo che la prima contiene le colonne idordine, idcliente, articolo, quantità mentre la seconda contiene idcliente, nome, cognome. Evidentemente il campo idcliente della tabella ordini è una chiave esterna sulla tabella clienti, che ci permette di recuperare i dati anagrafici del cliente che ha effettuato l ordine (abbiamo limitato al minimo, per semplicità, il numero dei campi contenuti nelle due tabelle). In questo caso quindi potremo fare le join basandoci sulla corrispondenza dei valori dei campi idcliente nelle due tabelle (naturalmente non è necessario che le colonne abbiano lo stesso nome). Le righe estratte con una inner join saranno solo quelle che hanno il valore di una tabella corrispondente a quello nell altra tabella. Linguaggio SQL: SELECT ordini.id_ordine, clienti.cognome, clienti.nome, ordini.articolo, ordini.quantità FROM clienti INNER JOIN ordini ON clienti.id_cliente = ordini.id_cliente; Le Relazioni nel Linquaggio SQL (ultimo aggiornamento 06/05/2013) Pag. 1 a 7

2 LEFT JOIN Le left join, come le inner join, vengono effettuate in base alla corrispondenza di alcuni valori sulle tabelle. La differenza è che, nel caso delle left join, è possibile estrarre anche le righe di una tabella che non hanno corrispondenti nell altra. Immaginiamo, in un esempio classico, di avere una tabella prodotti e una righe fatture. Diciamo che la prima contiene le colonne id_prodotto, descrizione prodotto, prezzo mentre la seconda contiene id_riga, id_fattura, id_prodotto, quantità, prezzo unitario. L'elenco ottenuto con la seguente INNER JOIN non contiene i prodotti che sono rimasti invenduti. Infatti i prodotti non venduti non hanno un corrispondente record in RigheFatture. SQL: SELECT prodotti.id_prodotto, prodotti.descrizione, Sum(righe_fatture.qta) AS [Quantità Venduta] FROM prodotti INNER JOIN righe_fatture ON prodotti.id_prodotto = righe_fatture.id_prodotto GROUP BY prodotti.id_prodotto, prodotti.descrizione; Risultato: Le Relazioni nel Linquaggio SQL (ultimo aggiornamento 06/05/2013) Pag. 2 a 7

3 Per visualizzare i prodotti invenduti occorre avere la possibilità di estrarre dalla tabella Prodotti tutti gli articoli, indipendentemente dal fatto che siano stati venduti o meno. Tale opportunità è fornita dalla clausola LEFT JOIN. L'elenco di tutti i prodotti (compresi gli invenduti) con a fianco le quantità commerciate può essere così riscritto: SQL: SELECT prodotti.id_prodotto, prodotti.descrizione, Sum(righe_fatture.qta) AS [Quantità venduta] FROM prodotti LEFT JOIN righe_fatture ON prodotti.id_prodotto = righe_fatture.id_prodotto GROUP BY prodotti.id_prodotto, prodotti.descrizione; RISULTATO: In questo caso non appare nulla sulla quantità relativa ai prodotti che non sono stati venduti. Le Relazioni nel Linquaggio SQL (ultimo aggiornamento 06/05/2013) Pag. 3 a 7

4 Per fare apparire 0 è necessario utilizzare la funzione IIF e la funzione ISNULL:: IIF( IsNull([qta]),0,[qta])) In questo caso se il valore di QTA è nullo apparirà 0 altrimenti apparirà la quantità. SQL: SELECT prodotti.id_prodotto, prodotti.descrizione, Sum(IIf(IsNull([qta]),0,[qta])) AS [Quantità Venduta] FROM prodotti LEFT JOIN righe_fatture ON prodotti.id_prodotto = righe_fatture.id_prodotto GROUP BY prodotti.id_prodotto, prodotti.descrizione; RISULTATO: MODELLI DI QUERY A PIU' TABELLE Gli esempi appena presentati fanno riferimento a degli schemi ben precisi che qui iniziamo ad analizzare in dettaglio INNER JOIN Si considerino due tabelle TabellaA e TabellaB collegate tra loro mediante il campo ChiaveA. Quando l'obbiettivo è quello di prelevare i record A di TabellaA che hanno un corrispondente B (relativamente al campo ChiaveA) in TabellaB e viceversa allora si utilizza questo tipo di comando SQL SELECT TabellaA.*, TabellaB.* FROM TabellaA INNER JOIN TabellaB ON TabellaA.ChiaveA=TabellaB.ChiaveA che viene associato al seguente schema (si osservi la linea priva di verso che unisce i due campi ChiaveA collegati): Le Relazioni nel Linquaggio SQL (ultimo aggiornamento 06/05/2013) Pag. 4 a 7

5 Il risultato della query sarà costituito da tutti quei record di TabellaA e TabellaB, che hanno nel campo "ChiaveA" un valore presente in entrambe le tabelle (intersezione). I record di TabellaA che non hanno un record collegato (mediante il campo "ChiaveA") nella TabellaB saranno esclusi dalla selezione e viceversa. I record di TabellaA che hanno più record corrispondenti nella TabellaB verranno ripetuti (durante l'esecuzione della query) un numero di volte corrispondente al numero di record collegati in TabellaB (si veda l'esempio successivo delle interrogazioni). Lo stesso discorso vale per i record di TabellaB. Pensando alle due tabelle come degli insiemi, il risultato ottenuto con questa tipologia di query coincide con le coppie di record (A,B) (dove A e B appartengono rispettivamente a TabellaA e TabellaB) per cui vale la relazione: A.ChiaveA=B.ChiaveA ovvero tutti gli A,B appartenenti all'intersezione tra le due tabelle LEFT JOIN (o RIGHT JOIN) Si considerino sempre le due tabelle TabellaA e TabellaB collegate tra loro mediante il campo ChiaveA. Quando l'obbiettivo è quello di estrarre tutti i record di TabellaA mentre di TabellaB solo quelli collegati (relativamente al campo ChiaveA) alla TabellaA si deve utilizzare questo tipo di comando SQL SELECT TabellaA.*, TabellaB.* FROM TabellaB RIGHT JOIN TabellaA ON TabellaA.ChiaveA=TabellaB.ChiaveA Questa tipologia di query viene schematizzata con una semplice freccia uscente dalla tabella il cui nome si trova a sinistra della clausola LEFT JOIN (o a destra della clausola RIGHT JOIN): Le Relazioni nel Linquaggio SQL (ultimo aggiornamento 06/05/2013) Pag. 5 a 7

6 Come detto, il risultato di una query di questo tipo è costituito da tutti i record della TabellaA e per quanto riguarda quelli di TabellaB solo quelli che hanno un corrispondente (relativamente al campo "ChiaveA") in TabellaA. I record di TabellaA che hanno più record collegati nella TabellaB risultano ripetuti tante volte quanti sono i corrispondenti nella TabellaB. I record di TabellaA che non hanno corrispondenti in TabellaB vengono comunque presentati ma al posto dei campi relativi al record collegato (inesistente!) di TabellaB vengono messi dei valori NULL. Ricercando questi valori NULL è possibile stabilire quali record di TabellaA non hanno un corrispondente in TabellaB. I record A di TabellaA che non stanno nell'intersezione con TabellaB verranno quindi abbinati sempre con NULL. NO JOIN Si considerino sempre le due tabelle TabellaA e TabellaB collegate tra loro mediante il campo ChiaveA. Se l'obbiettivo è quello di analizzare tutte le possibili combinazioni di record (A,B) ottenute abbinando a ciascun record A, di TabellaA, tutti i record B, di TabellaB, allora devo utilizzare questo tipo di comando SQL SELECT TabellaA.*, TabellaB.* FROM TabellaA, TabellaB che viene così graficamente schematizzato (si noti la mancanza di collegamenti): Il risultato dell'esecuzione di una query di questo tipo è un elenco dove ogni riga di TabellaA viene ripetuta per ogni record di TabellaB. Le Relazioni nel Linquaggio SQL (ultimo aggiornamento 06/05/2013) Pag. 6 a 7

7 Pensando alle due tabelle come insiemi il risultato corrisponde alle coppie di record(a,b)dove A appartiene a TabellaA e B a TabellaB. Tali coppie prendono quindi origine dalla zona indicata in rosso che corrisponde all'unione Le Relazioni nel Linquaggio SQL (ultimo aggiornamento 06/05/2013) Pag. 7 a 7

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

SQL QUERY: Le interrogazioni del database

SQL QUERY: Le interrogazioni del database Appunti della lezione di Database del 20 ottobre 2016 (mattina) Studenti: D Amuri Giuseppe, De Luca Federico Professore: Mario Bochicchio SQL QUERY: Le interrogazioni del database Per effettuare un interrogazione

Dettagli

Le query di comando e di servizio in Access

Le query di comando e di servizio in Access Le query di comando e di servizio in Access In questa parte sono presentate alcune query di Access che permettono di: creare nuove tabelle, aggiungere o eliminare righe in una tabella, modificare il contenuto

Dettagli

Microsoft Access. Microsoft Access. Maurizio Rebaudengo, Paolo Garza 1. Microsoft Access. Creazione base di dati. Apertura di una base dati

Microsoft Access. Microsoft Access. Maurizio Rebaudengo, Paolo Garza 1. Microsoft Access. Creazione base di dati. Apertura di una base dati Microsoft Access Programma applicativo del pacchetto Microsoft Office per la gestione delle basi di dati. Microsoft Access 2 Creazione base di dati Apertura di una base dati Una nuova base dati si crea

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

Database Lezione 2. Sommario. - Progettazione di un database - Join - Valore NULL - Operatori aggregati

Database Lezione 2. Sommario. - Progettazione di un database - Join - Valore NULL - Operatori aggregati Sommario - Progettazione di un database - Join - Valore NULL - Operatori aggregati Progettazione di un database - In un database c'è una marcata distinzione tra i valori in esso contenuti e le operazioni

Dettagli

Algebra relazionale e interrogazioni

Algebra relazionale e interrogazioni Algebra relazionale e interrogazioni A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright Istituto Italiano Edizioni Atlas Operazioni relazionali 2 Algebra relazionale Gli operatori

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

IPOTESI con riferimento al testo proposto come simulazione in preparazione all Esame di Stato 2015

IPOTESI con riferimento al testo proposto come simulazione in preparazione all Esame di Stato 2015 IPOTESI con riferimento al testo proposto come simulazione in preparazione all Esame di Stato 2015 Possono essere prodotte forme (invendute) non acquistate da un cliente per giorni di chiusura del caseificio,

Dettagli

Left Join, Right Join, Full Join

Left Join, Right Join, Full Join Left Join, Right Join, Full Join Consideriamo il solito schema di database dell'ultima verifica. Ipotizziamo inoltre che tra le due relazioni sia impostato un vincolo di Integrità Referenziale. Modello

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

2.4. Creare ed operare con le query

2.4. Creare ed operare con le query 2.4. Creare ed operare con le query 2.4.1. I comandi per le query I comandi già presentati in precedenza per gli oggetti in generale (vedi RICHIAMO) valgono in particolare per le query; in figura sono

Dettagli

3. Selezionare i nomi dei clienti che iniziano con le lettere P, Q, R, S

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

Dettagli

Linguaggio SQL: esempi di query. a cura del Prof. Claudio Traini

Linguaggio SQL: esempi di query. a cura del Prof. Claudio Traini Linguaggio SQL: esempi di query a cura del Prof. Claudio Traini Modello logico utilizzato Tabella PERSONALE Tabella DIPARTIMENTI Tabella PRODOTTI Tabella COMPONENTI Tabella COMPOSIZIONE QUERY: STRUTTURA

Dettagli

07/12/2017. a cura del Prof. Claudio Traini. Modello logico utilizzato

07/12/2017. a cura del Prof. Claudio Traini. Modello logico utilizzato Linguaggio SQL: esempi di query a cura del Prof. Claudio Traini Modello logico utilizzato 1 Tabella PERSONALE Tabella DIPARTIMENTI 2 Tabella PRODOTTI Tabella COMPONENTI 3 Tabella COMPOSIZIONE QUERY: STRUTTURA

Dettagli

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

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi Vogliamo creare una struttura per permettere di memorizzari i voti della classe in tutte le materie Per fare questo untilizziamo tre tabelle Alunni,materie,voti Alunni Materie Voti Creo un record per ogni

Dettagli

Eprogram ITIS V anno Unità 4 - Il linguaggio SQL

Eprogram ITIS V anno Unità 4 - Il linguaggio SQL Eprogram ITIS V anno Unità 4 - Il linguaggio SQL Compito in classe proposto Date le seguenti tabelle: scrivi in SQL le seguenti richieste (per facilitare query complesse utilizza le viste): 1. elencare

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

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7

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

Dettagli

Query in Access. Criteri, Valori Univoci, Operatori e Colonna Calcolata. Query (Interrogazione)

Query in Access. Criteri, Valori Univoci, Operatori e Colonna Calcolata. Query (Interrogazione) Query in Access Criteri, Valori Univoci, Operatori e Colonna Calcolata [1] Query (Interrogazione) La query è un'operazione che estrae record da una o più tabelle in base a criteri specificati dall utente

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

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

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

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

Ordinare dati. Microsoft Access. Ordinare dati. Ordinare dati. Ordinare dati. Ordinare dati. Query (II), filtri. L ordinamento crescente:

Ordinare dati. Microsoft Access. Ordinare dati. Ordinare dati. Ordinare dati. Ordinare dati. Query (II), filtri. L ordinamento crescente: Microsoft Access Query (II), filtri L ordinamento crescente: Se il campo è di tipo testo, i record verranno visualizzati seguendo l ordine alfabetico Se il campo è di tipo numerico, i record verranno visualizzati

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

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

Operazioni. Lezione 8. Operazioni Relazionali. Operazioni insiemistiche Intersezione: Operazioni insiemistiche Unione:

Operazioni. Lezione 8. Operazioni Relazionali. Operazioni insiemistiche Intersezione: Operazioni insiemistiche Unione: Operazioni Lezione 8 Operazioni Relazionali Le diverse operazioni vengono eseguite sulle istanze non sulla struttura della tabella Il risultato dell operazione sono un insieme di istanze che soddisfano

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

2.3.2 I tipi di query MODULO L2

2.3.2 I tipi di query MODULO L2 Dare una breve descrizione dei termini introdotti: (A) CONOSCENZA TERMINOLOGICA Query di selezione Query di comando Query di creazione tabella Query di aggiornamento Query di eliminazione Query di accodamento

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

Versione draft: l esempio verrà completato la prossima settimana

Versione draft: l esempio verrà completato la prossima settimana ESERCIZIO DEL 24 OTTOBRE 2013 Versione draft: l esempio verrà completato la prossima settimana SCHEMA RELAZIONALE E lo schema parziale del DB AdventureWorks 2008 Le interrogazioni fatte in classe per l

Dettagli

Operazioni Relazionali. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto san giovanni

Operazioni Relazionali. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto san giovanni Operazioni Relazionali Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto san giovanni Algebra relazionale Il modello logico Relazionale si fonda sull algebra relazionale Permette di

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

Corso di Informatica - prova scritta del 28/01/2008

Corso di Informatica - prova scritta del 28/01/2008 Corso di Informatica - prova scritta del 28/01/2008 Esercizio 1 Il DB riportato in figura contiene dati riguardanti l attività di una videoteca che noleggia sia film su DVD, sia videogiochi. Sono indicati

Dettagli

Access 2007 Colonna di ricerca

Access 2007 Colonna di ricerca Pagina 1 di 7 Lezioni on line -> Gestire i dati Access 2007 Colonna di ricerca Quando si riempiono i campi dei record che formano una tabella, può essere utile e comodo poter scegliere, in un elenco dei

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

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

Estensioni del linguaggio SQL per interrogazioni OLAP

Estensioni del linguaggio SQL per interrogazioni OLAP Sistemi Informativi Avanzati Anno Accademico 2012/2013 Prof. Domenico Beneventano Estensioni del linguaggio SQL per interrogazioni OLAP Esempio! Esempio delle vendite con scontrino (nella tabella, per

Dettagli

Relazioni. Microsoft Access. Relazioni. Relazioni

Relazioni. Microsoft Access. Relazioni. Relazioni Relazioni Microsoft Access Relazioni In Access, le relazioni non sono le relazioni del modello relazionale! Relazioni: legate ai concetti di Join Integrità referenziale Relazioni I tipi di relazione possono

Dettagli

Inserire record. Microsoft Access. Inserire/modificare record. Inserire record. Cancellare record. Inserire/modificare record

Inserire record. Microsoft Access. Inserire/modificare record. Inserire record. Cancellare record. Inserire/modificare record Inserire record Microsoft Access Maschere (II) Una maschera può essere sfruttata non solo per vedere dati ma anche per immettere nuovi record, per modificarli o per cancellarli (come in visualizzazione

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

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

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 sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

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,

Dettagli

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

Basi di Dati. Esercitazione 2: Interrogazioni in SQL. K. Donno - Interrogazioni in SQL Basi di Dati Esercitazione 2: Interrogazioni in SQL DB di riferimento per esempi Consideriamo i seguenti schemi di una base di dati relazionale: MODELLI (cod_modello,nome,versione,cod_fabbrica) VEICOLI

Dettagli

APPUNTI DI DATABASE - 25/10/2018

APPUNTI DI DATABASE - 25/10/2018 APPUNTI DI DATABASE - 25/10/2018 INTRODUZIONE Lo scopo principale per cui viene progettato e realizzato un database è quello di gestire, manipolare e conservare permanentemente delle informazioni, le quali

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

Classe 4N - Appunti MODULO 2

Classe 4N - Appunti MODULO 2 Brescianet.com Sito didattico - Prof. Sechi Marco http://lnx.brescianet.com/scuolaforum2011/ Classe 4N - Appunti MODULO 2 http://lnx.brescianet.com/scuolaforum2011/viewtopic.php?f=9&t=18 Classe 4N - Appunti

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 Select con campi calcolati... 4 campi calcolati Sintassi

Dettagli

D B M G D B M G 2. Sistemi informativi. Linguaggio SQL: costrutti avanzati

D B M G D B M G 2. Sistemi informativi. Linguaggio SQL: costrutti avanzati Sistemi informativi D B M G Linguaggio SQL: costrutti avanzati Gestione delle transazioni SQL per le applicazioni Controllo dell accesso Gestione degli indici D B M G 2 Pag. 1 2007 Politecnico di Torino

Dettagli

Esercizio 2 (punti 3) Dire a quale numero decimale corrisponde il seguente numero assegnato in formato IEEE P754:

Esercizio 2 (punti 3) Dire a quale numero decimale corrisponde il seguente numero assegnato in formato IEEE P754: COMPITO DI FONDAMENTI DI INFORMATICA Allievi Ingegneri Meccanici Giovedì 07 Settembre 2006 (09.30 12.30) Esercizio 1 (punti 15) È assegnato un file contenente dati relativi ai prodotti presenti in un magazzino

Dettagli

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

Verifica di Informatica. Cognome e Nome: Classe 5ª Ci, Data Verifica di Informatica Cognome e Nome: Classe 5ª Ci, Data Progettare la base di dati di una palestra. E necessario memorizzare le informazioni relative ai clienti che riguardano: codice fiscale, cognome

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

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

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

Modulo 8 I data base Unità 5 Le Query

Modulo 8 I data base Unità 5 Le Query Modulo 8 I data base Unità 5 Le Query Prof. Antonio Scanu 1 Le operazioni relazionali: In questa lezione focalizziamo l attenzione sulle operazioni che consentono di interrogare una base di dati relazionale.

Dettagli

Sistemi Informativi Avanzati Anno Accademico 2011/2012 Prof. Domenico Beneventano SQL-OLAP. Estensioni OLAP in SQL

Sistemi Informativi Avanzati Anno Accademico 2011/2012 Prof. Domenico Beneventano SQL-OLAP. Estensioni OLAP in SQL Sistemi Informativi Avanzati Anno Accademico 2011/2012 Prof. Domenico Beneventano SQL-OLAP Estensioni OLAP in SQL Estensioni OLAP in SQL SQL99 è stato il primo standard SQL ad offrire soluzioni per l analisi

Dettagli

! Un arco multiplo corrisponde ad un associazione molti-a-molti: il padre (libro) non determina funzionalmente il figlio (autore)

! Un arco multiplo corrisponde ad un associazione molti-a-molti: il padre (libro) non determina funzionalmente il figlio (autore) Arco Multiplo! Schema di fatto contenente un arco multiplo: genere autore libro VENDITA numero incasso data mese anno arco multiplo (AM) " Per illustrare il concetto di arco multiplo si parte da uno schema

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

LEZIONE 2. ( ) a 1 x 1 + a 2 x a n x n = b, ove a j, b R sono fissati.

LEZIONE 2. ( ) a 1 x 1 + a 2 x a n x n = b, ove a j, b R sono fissati. LEZIONE 2 2 Sistemi di equazioni lineari Definizione 2 Un equazione lineare nelle n incognite x, x 2,, x n a coefficienti reali, è un equazione della forma (2 a x + a 2 x 2 + + a n x n = b, ove a j, b

Dettagli

Domande utili alla preparazione dell orale di Informatica all Esame di Stato

Domande utili alla preparazione dell orale di Informatica all Esame di Stato Domande utili alla preparazione dell orale di Informatica all Esame di Stato 1.Al livello fisico un database si appoggia ai files per contenere i suoi dati? 2.Esistono altri modelli di organizzazione oltre

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

Corso di Informatica Linguaggio SQL prima parte

Corso di Informatica Linguaggio SQL prima parte Corso di Informatica Linguaggio SQL prima parte Anno Accademico 2018-2019 Linguaggio SQL (Structured Query Language) 2 Il linguaggio SQL Un linguaggio per DBMS (DataBase Management System) deve permettere

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

Corso di Informatica - prova scritta del 9/01/2008

Corso di Informatica - prova scritta del 9/01/2008 Corso di Informatica - prova scritta del 9/01/2008 Esercizio 1 Il DB riportato in figura contiene dati riguardanti l attività di una videoteca che noleggia sia film su DVD, sia videogiochi. Sono indicati

Dettagli

Basi di dati I 10 luglio 2017 Tempo a disposizione: un ora e 30 minuti.

Basi di dati I 10 luglio 2017 Tempo a disposizione: un ora e 30 minuti. Tempo a disposizione: un ora e 30 minuti. Cognome: Nome: Matricola: Domanda 1 (20%) Considerare le seguenti quattro relazioni su uno stesso schema: (A) 2 4000 1000 3000 true 3 3000 1000 2200 true (C) 2

Dettagli

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

Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti. Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti. Cognome: Nome: Matricola: Domanda 1 (20%) Considerare la base di dati relazionale contenente le seguenti relazioni:

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

(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

PROGETTAZIONE DI DATABASE

PROGETTAZIONE DI DATABASE ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI PROGETTAZIONE DI DATABASE Manipolazione dei dati in SQL Lezione 12 Questa dispensa è rilasciata sotto la licenza Creative Common CC BY-NC-SA. Chiunque

Dettagli

Basi di Dati. Esercitazione SQL. 17 novembre 2011

Basi di Dati. Esercitazione SQL. 17 novembre 2011 Basi di Dati Esercitazione SQL 17 novembre 2011 Esercitazione 2 Considerando la seguente base di dati: Fornitori (CodiceFornitore, Nome, Indirizzo, Città) Prodotti (CodiceProdotto, Nome, Marca, Modello)

Dettagli

OPERATORI LOGICI: AND, OR, NOT

OPERATORI LOGICI: AND, OR, NOT Esempi di Queries(interrogazioni): SELECT Nome, Cognome FROM Persone WHERE id = 1 SELECT Nome, Cognome FROM Persone WHERE Nome = Luigi SELECT * FROM Persone WHERE Nome = Luigi ( * = visualizza tutti i

Dettagli

Brescianet.com. 4O - 2 MODULO 4O - 2 MODULO da e /1/2015-4O - II MODULO

Brescianet.com. 4O - 2 MODULO   4O - 2 MODULO da e /1/2015-4O - II MODULO Brescianet.com Sito di supporto alla didattica http://lnx.brescianet.com/scuolaforum2014/ 4O - 2 MODULO http://lnx.brescianet.com/scuolaforum2014/viewtopic.php?f=4&t=16 4O - 2 MODULO Appunti estemporanei

Dettagli

Interrogazioni di tipo insiemistico. Select. Interrogazioni di tipo insiemistico. Interrogazioni nidificate

Interrogazioni di tipo insiemistico. Select. Interrogazioni di tipo insiemistico. Interrogazioni nidificate Select La sintassi di select cui siamo arrivati dopo le estensioni viste è quindi: SelectSQL ::= select ListaAttributiOEspressioni from ListaTabelle [ where CondizioniSemplici ] [ group by ListaAttributiDiRaggruppamento]

Dettagli

SQL. Esercitazione 6-7. Contatti: Dott.ssa Silvia Bonfanti

SQL. Esercitazione 6-7. Contatti: Dott.ssa Silvia Bonfanti SQL Esercitazione 6-7 Contatti: Dott.ssa Silvia Bonfanti silvia.bonfanti@unibg.it Esercizio 1: Cinema Sala (numero, num_posti, dim_schermo, num_file, num_posti_per_fila, tipo) Constraints su Sala: tipo=

Dettagli

A. Veneziani SQL funzionalità avanzate

A. Veneziani SQL funzionalità avanzate A. Veneziani SQL funzionalità avanzate Consideriamo per i test e gli esempi delle query e delle regole presentate a seguire useremo il DB Acquisti, definito dallo schema: E contenente i dati: mysql> SELECT

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

Università di Cassino Facoltà di Ingegneria Modulo di Alfabetizzazione Informatica. Le Maschere e Le Query. Facoltà di Ingegneria. Base Dati.

Università di Cassino Facoltà di Ingegneria Modulo di Alfabetizzazione Informatica. Le Maschere e Le Query. Facoltà di Ingegneria. Base Dati. Università di Cassino Facoltà di Ingegneria Modulo di Alfabetizzazione Informatica Le Maschere e Si ringrazia l ing. Francesco Colace dell Università di Salerno Università di Cassino Facoltà di Ingegneria

Dettagli

ACCESS Esercitazione (query complesse) Ing. Cosimo Orlacchio

ACCESS Esercitazione (query complesse) Ing. Cosimo Orlacchio ACCESS Esercitazione (query complesse) Ing. Cosimo Orlacchio Le query su più tabelle Le query proposte nella Lezione scorsa sono tutte basate su una sola tabella. Una base di dati è solitamente costituita

Dettagli

Access 2003 I Portatili. Chiave Primaria

Access 2003 I Portatili. Chiave Primaria 3Oltre le tabelle Chiave Primaria Progettare le tabelle di un database Relazioni Creare le relazioni Modificare una relazione Eliminare una relazione Fogli dati secondari Dipendenze degli oggetti Access

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 4.3-1 Prerequisiti Creazione e gestione tabelle Uso ambiente SQL in algebra relazionale 2 1 Introduzione In questa Unità vediamo i comandi SQL con i quali è possibile

Dettagli

Sistemi Informativi Avanzati Anno Accademico 2012/2013 Prof. Domenico Beneventano. Archi multipli

Sistemi Informativi Avanzati Anno Accademico 2012/2013 Prof. Domenico Beneventano. Archi multipli Sistemi Informativi Avanzati Anno Accademico 2012/2013 Prof. Domenico Beneventano Archi multipli Capitoli 5.2.5 e 9.1.4 del libro Data Warehouse - teoria e pratica della Progettazione Autori: Matteo Golfarelli,

Dettagli

Un arco multiplo corrisponde ad un associazione molti-a-molti: il padre (libro) non determina funzionalmente il figlio (autore)

Un arco multiplo corrisponde ad un associazione molti-a-molti: il padre (libro) non determina funzionalmente il figlio (autore) Arco Multiplo Schema di fatto contenente un arco multiplo: genere autore libro VENDITA numero incasso data mese anno arco multiplo (AM) Per illustrare il concetto di arco multiplo si parte da uno schema

Dettagli

Interrogazioni in SQL

Interrogazioni in SQL Interrogazioni in SQL Corso di Basi di Dati 4 dicembre 2013 1 Interrogazioni sullo schema aziendale 1. Ottenere i nomi dei dipartimenti dislocati in piú sedi. 2. Ottenere il numero di supervisori. 3. Produrre

Dettagli

Microsoft Access. Obiettivo della lezione. Useremo Access per interrogare una base di dati (query)

Microsoft Access. Obiettivo della lezione. Useremo Access per interrogare una base di dati (query) Microsoft Access Obiettivo della lezione Useremo Access per interrogare una base di dati (query) Mostreremo come creare maschere per l inserimento di dati In questa lezione, mostreremo la controparte SQL

Dettagli

Gestione di basi di dati relazionali con SQL (parte I) Linguaggi per basi di dati

Gestione di basi di dati relazionali con SQL (parte I) Linguaggi per basi di dati Gestione di basi di dati relazionali con SQL (parte I) Gian Pietro Picco Dipartimento di Elettronica e Informazione Politecnico di, Italy picco@elet.polimi.it http://www.elet.polimi.it/~picco Linguaggi

Dettagli

Accesso alla base di dati. Linguaggi per basi di dati. SQL immerso in linguaggio ad alto livello. SQL, un linguaggio interattivo

Accesso alla base di dati. Linguaggi per basi di dati. SQL immerso in linguaggio ad alto livello. SQL, un linguaggio interattivo Linguaggi per basi di dati Accesso alla base di dati Linguaggi di definizione dei dati Utilizzati per definire gli schemi e le autorizzazioni per l accesso Linguaggi di manipolazione dei dati Utilizzati

Dettagli

sql=> STRUCTERED QUERY LANGUAGE => LINGUAGGIO PER L'INTERROGAZIONE DEGLI ARCHIVI

sql=> STRUCTERED QUERY LANGUAGE => LINGUAGGIO PER L'INTERROGAZIONE DEGLI ARCHIVI Brescianet.com Sito di supporto alla didattica http://lnx.brescianet.com/scuolaforum2014/ 4T - 2 MODULO http://lnx.brescianet.com/scuolaforum2014/viewtopic.php?f=4&t=20 4T - 2 MODULO Appunti estemporanei

Dettagli

SQL. Esercitazione. Contatti: Dott. Domenico Fabio Savo

SQL. Esercitazione. Contatti: Dott. Domenico Fabio Savo SQL Esercitazione Contatti: Dott. Domenico Fabio Savo domenicofabio.savo@unibg.it Esercizio 1: Treni Esercizio 1: Treni Elenco dei convogli con relativo modello Esercizio 1: Treni Elenco dei convogli con

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

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

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi Vogliamo creare una struttura per permettere di memorizzari i voti della classe in tutte le materie Utilizzando Microsoft Access Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono

Dettagli

Analisi soluzione DB esercizio 1

Analisi soluzione DB esercizio 1 Analisi soluzione DB esercizio 1 Analisi del problema Il testo propone un database capace di archiviare fatture con i relativi dati dei clienti che acquistano e degli articoli trattati. I dati fondamentali

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

DISPENSA ACCESS (OFFICE 2010 BETA)

DISPENSA ACCESS (OFFICE 2010 BETA) DISPENSA ACCESS (OFFICE 2010 BETA) 2. LE RELAZIONI. Una relazione può essere definita come un legame tra due tabelle basato sul valore di uno o più campi di ciascuna delle due tabelle. Di solito i campi

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

Esercitazione di Analisi Matematica II

Esercitazione di Analisi Matematica II Esercitazione di Analisi Matematica II Barbara Balossi 06/04/2017 Esercizi di ripasso Esercizio 1 Sia data l applicazione lineare f : R 3 R 3 definita come f(x, y, z) = ( 2x + y z, x 2y + z, x y). a) Calcolare

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