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

Похожие документы
Informatica. Sintassi. Interrogazioni in SQL. Significato dell interrogazione. Tabella Impiegato. Basi di dati parte 4 SQL

Join in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a

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

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. INFORMATICA GENERALE Prof. Alberto Postiglione

Linguaggi per basi di dati

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Basi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale

Sistemi per la gestione di database: MySQL ( )

Introduzione all Algebra Relazionale

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei

Gli operatori relazionali

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"

DBMS (Data Base Management System)

Data Management Software. Il linguaggio SQL. Raggruppamenti. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004

Structured Query Language parte 1

4 SQL : Interrogazioni nidificate

Basi di dati e Sistemi informativi aziendali

Lezione V. Aula Multimediale - sabato 29/03/2008

Definizione di domini

Informatica per le discipline umanistiche 2 lezione 10

Istruzioni DML di SQL

Capitolo 13. Interrogare una base di dati

Il linguaggio SQL: le basi

Elena Baralis 2013 Politecnico di Torino 1

Corso di Informatica (Basi di Dati)

DDL DML. Tipi di linguaggi per basi di dati. Si distinguono due categorie:

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

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Basi di Dati: Corso di laboratorio

Linguaggio SQL. Structured Query Language

INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3

Facoltà di Farmacia - Corso di Informatica

Archivi e Basi di Dati

SQL. Linguaggio di interrogazione per basi di dati relazionali. Relazione = tabella con attributi (a 1, a 2,, a n ): Funzionalità principali di SQL:

Esercitazione su SQL

Vincoli di integrità

ALGEBRA RELAZIONALE RIEPILOGO

Informatica (Basi di Dati)

Il linguaggio SQL: le basi. Versione elettronica: SQLa-basi.pdf

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

DB - Modello relazionale dei dati. DB - Modello Relazionale 1

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

DATABASE RELAZIONALI

Il linguaggio SQL: viste e tabelle derivate

Il linguaggio SQL: viste e tabelle derivate. Versione elettronica: SQLd-viste.pdf

Il linguaggio SQL: query innestate

OSSIF WEB. Manuale query builder

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:

Le Basi di Dati. Le Basi di Dati

Corso Sistemi Informativi Avanzati. Programma 30 set Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

Corso di Informatica (Basi di Dati)

Introduzione ai database relazionali

Linguaggio SQL: fondamenti. Basi di dati. Elena Baralis Pag. 1. Linguaggio SQL: fondamenti. Sistemi informativi. Introduzione

Cardinalità e identificatori. Informatica. Generalizzazioni. Generalizzazioni. Generalizzazioni. Generalizzazioni

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2

Database Lezione 1. Sommario. - Introduzione - Tabelle e chiave primaria - Query - Calcoli ed alias - Ordinamento

Istruzioni SQL 1. Query di selezione 2 Istruzione SELECT 2 Istruzione SELECT DISTINCT 2 ORDER BY 3 WHERE 3 La condizione LIKE 4 BETWEEN AND 5

Corso sul linguaggio SQL

SQL/OLAP. Estensioni OLAP in SQL

Progettazione di Basi di Dati

SQL (STRUCTURED QUERY LANGUAGE)

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER

Le query. Lezione 6 a cura di Maria Novella Mosciatti

Dispensa di database Access

Join in SQL (primo modo) Informatica. Interrogazione 4a. Tabella Dipartimento. Per formulare interrogazioni che coinvolgono.

Organizzazione degli archivi

Progettazione di Database. Un Esempio

Algebra e calcolo relazionale. Ripasso. Le 7 Virtù del DBMS persistenza affidabilità volume condivisione riservatezza efficienza efficacia

Corso sul linguaggio SQL

ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi

SQL - Funzioni di gruppo

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Organizzazione delle informazioni: Database

Access. P a r t e p r i m a

Interrogazioni nidificate, commenti

SQL IL LINGUAGGIO DI INTERROGAZIONE

Introduzione ai Sistemi di Gestione di Basi di Dati XML

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Storia. Corso di Basi di Dati Spaziali. Componente DDL. Funzionalità. Esempio. Creazione di schema. Linguaggi: SQL. Storia:

disponibili nel pacchetto software.

Operazioni sui database

Basi di Dati. Esercitazione SQL. Ing. Paolo Cappellari

Sistemi Informativi e Basi di Dati

Basi di dati. Microsoft Access. Cosa è. Pietro Pala Come iniziare. Aprire un database. Creare un database. Creare un database

Corso di Laboratorio di Basi di Dati

Basi di dati Il linguaggio SQL

Транскрипт:

Query (Interrogazioni) Ultima modifica: 5/4/2012 SQL Materiale aggiuntivo per il corso di laurea in Lingue e Culture per il Turismo classe L-15! È necessario un modo per interrogare le basi di dati, cioè per estrarre conoscenza! Per reperire le informazioni di interesse da un DB, un utente non può semplicemente leggere le tabelle:! le tabelle possono essere molto grosse! può essere necessario utilizzare più tabelle contemporaneamente! Si usano le query (interrogazioni) 2 Query! Una query permette di specificare! cosa cercare all interno del DB (criteri di selezione)! quali informazioni (campi) visualizzare! Il risultato consiste in una nuova tabella temporanea con i campi e i record di interesse 3 SQL! Originariamente Structured Query Language! SQL è un linguaggio che consente di formulare interrogazioni (query) (Data Manipulation Language, DML)! Anche usato come Data Declaration Language, DDL (per esempio, per dichiarare vincoli di integrità)! È il linguaggio utilizzato da tutti i DBMS relazionali commerciali (con qualche differenza da un sistema all altro) 4 Sintassi! Esistono, in generale, più modi per effettuare un interrogazione: scelta basata sulla leggibilità (più che sull efficienza)! Struttura essenziale (introdurremo le variazioni di volta in volta): select ListaAttributi ListaTabelle Condizione (target list) (clausola ) (clausola ) Significato dell interrogazione! Si considerano la tabella/le tabelle della clausola! Si selezionano i record che soddisfano la condizione della clausola (opzionale)! Si danno in output i valori degli attributi elencati nella target list ( select ) 5 6 1

Schema: Tabella Impiegato Impiegato(Matricola,, Cognome, Dipart, Ufficio, Stipendio, Città) Tabella Impiegato Impiegato 46 Carlo Bianchi Prod 20 12 Torino 4 Giuseppe Verdi Amministr 20 13 Roma 4 Franco Neri Distrib 16 15 Napoli 49 Carlo Rossi Direzione 14 2 Milano 50 Lorenzo Lanzi Direzione 21 Genova 51 Paola Burroni Amministr 5 13 Venezia 52 Marco Franco Prod 20 14 Roma Interrogazione Cognome = Rossi Interrogazione 1 tutti Cognome = Rossi 49 Carlo Rossi Direzione 14 2 Milano 49 Carlo Rossi Direzione 14 2 Milano 9 10 Interrogazione 2 select Stipendio Cognome = Rossi Stipendio 15 2 Join! Per formulare interrogazioni che coinvolgono più tabelle occorre effettuare un join, cioè congiungere le tabelle! È un operazione fondamentale: di norma in un DB le informazioni sono registrate in più tabelle! La congiunzione avviene sui valori in comune tra le tabelle 11 12 2

Join in SQL! In SQL per effettuare un join è possibile: 1. elencare le tabelle di interesse nella clausola 2. definire nella clausola le condizioni necessarie per mettere in relazione fra loro gli attributi di interesse Tabella Dipartimento Dipartimento(, Indirizzo, Città) Indirizzo Città Amministr Via Vai Milano Prod P.le Lavater 3 Torino Distrib Via Segre 9 Roma Direzione Via Vai 2 Milano Ricerca Via Morone 6 Milano 13 14 Interrogazione 4 Restituire nome e cognome degli impiegati e le città in cui lavorano select Impiegato.,Cognome, Dipartimento.Città Impiegato,Dipartimento Dipart = Dipartimento. Interrogazione 4 Restituire nome e cognome degli impiegati e delle città in cui lavorano La notazione punto select (Tabella.Attributo) Impiegato.,Cognome, serve per disambiguare Dipartimento.Città Impiegato,Dipartimento Dipart = Dipartimento. 15 16 Risultato interrogazione 4 Impiegato. Cognome Dipartimento.Città Mario Rossi Milano Carlo Bianchi Torino Giuseppe Verdi Milano Franco Neri Roma Carlo Rossi Milano Lorenzo Lanzi Milano Paola Burroni Milano Marco Franco Torino Interrogazione 4bis Attenzione! Se si omette la condizione di join, si ottiene un risultato poco significativo: ogni tupla di una relazione viene messa in corrispondenza con ogni tupla dell altra relazione Per es.:,dipartimento Dimenticare la join è un errore grave 1 1 3

Risultato interrogazione 4bis Matricola Impiegato. Cognome Dipart Dipartiment Indirizzo Dipartimento.Città o. Amministr 45 Mario Rossi Amministr Via Vai 2 Milano 45 Mario Rossi Amministr Prod P.le Lavater 3 Torino 45 Mario Rossi Amministr Distrib Via Segre 9 Roma 45 Mario Rossi Amministr Direzione Via Vai 2 Milano Interrogazione 4ter,Dipartimento Dipart=Dipartimento. 45 Mario Rossi Amministr Ricerca Via Morone 6 Milano 46 Carlo Bianchi Prod Amministr Via Vai 2 Milano 46 Carlo Bianchi Prod Prod P.le Lavater 3 Torino 46 Carlo Bianchi Prod Distrib Via Segre 9 Roma 46 Carlo Bianchi Prod Direzione Via Vai 2 Milano 46 Carlo Bianchi Prod Ricerca Via Morone 6 Milano 52 Marco Franco Prod Amministr Via Vai 2 Milano 52 Marco Franco Prod Prod P.le Lavater 3 Torino 52 Marco Franco Prod Distrib Via Segre 9 Roma 52 Marco Franco Prod Direzione Via Vai 2 Milano 52 Marco Franco Prod Ricerca Via Morone 6 Milano Matricola Impiegato. Cognome Dipart Dipartiment Indirizzo Dipartimento.Città o. Amministr 45 Mario Rossi Amministr Via Vai 2 Milano 46 Carlo Bianchi Prod Prod P.le Lavater 3 Torino 4 Giuseppe Verdi Amministr Amministr Via Vai 2 Milano 4 Franco Neri Distrib Distrib Via Segre 9 Roma 49 Carlo Rossi Direzione Direzione Via Vai 2 Milano 50 Lorenzo Lanzi Direzione Direzione Via Vai 2 Milano 51 Paola Burroni Amministr Amministr Via Vai 2 Milano 52 Marco Franco Prod Prod P.le Lavater 3 Torino 19 20 Sulla clausola Interrogazione 6! Ammette come argomento un espressione booleana! Predicati semplici combinati con not, and, or (not ha la precedenza, consigliato l uso di parentesi( ))! Ciascun predicato usa operatori: =, <>, <, >, <=, >=! Confronto tra valori di attributi, costanti, espressioni select,cognome Impiegato Ufficio = 20 and Dipart = Amministr Giuseppe Verdi Cognome 21 22 Interrogazioni e select, Cognome Dipart= Prod or Dipart= Amministr select Cognome= Rossi and (Dipart= Prod or Dipart= Amministr ) Mario Carlo Paola Marco Cognome Rossi Bianchi Burroni Franco Giuseppe Verdi Mario Ordinamento! Per ordinare le righe del risultato di un interrogazione, si può usare la clausola order by! Es. order by Matricola asc order by Matricola desc ordine crescente ordine decrescente 23 asc può essere lasciato sottointeso 24 4

Ordinamento! Si possono combinare più criteri di ordinamento! Es. order by Cognome, a parità di cognome, ordina per nome (ordine crescente sottinteso) 25 5