SQL - Sottointerrogazioni correlate
|
|
|
- Giacomo Filippi
- 8 anni fa
- Visualizzazioni
Transcript
1 SQL - Sottointerrogazioni correlate negli esempi visti ogni subquery viene eseguita una volta per tutte ed il valore (o insieme di valori) è usato nella clausola WHERE della query esterna è possibile definire subqueries che sono eseguite ripetutamente per ogni tupla candidata considerata nella valutazione della query esterna esempio: si vogliono determinare gli impiegati che guadagnano più dello stipendio medio del proprio dipartimento 126
2 SQL - Sottointerrogazioni correlate è pertanto necessaria una query esterna che selezioni gli impiegati dalla relazione Impiegati in base ad un predicato su stipendio; tale query avrebbe la forma: SELECT Nome FROM Impiegati WHERE Stipendio > (media degli stipendi nel dipartimento dell'impiegato candidato); è inoltre necessaria una subquery che calcoli la media degli stipendi del dipartimento di ogni tupla candidata della relazione Impiegati; tale subquery avrebbe la forma: 127 (SELECT AVG(Stipendio) FROM Impiegati WHERE Dip#=(valore di Dip# nella tupla candidata));
3 SQL - Sottointerrogazioni correlate ogni volta che la query esterna considera una tupla candidata, deve invocare la subquery e "passare" il numero di dipartimento dell'impiegato in esame la subquery calcola quindi la media degli stipendi nel dipartimento che è stato passato e restituisce tale valore alla query esterna la query esterna può quindi confrontare lo stipendio dell'impiegato in esame con il valore restituito dalla subquery 128
4 SQL - Sottointerrogazioni correlate questo tipo di interrogazioni è chiamato correlato, perchè ogni esecuzione della subquery è correlata al valore di uno o più attributi delle tuple candidate nella interrogazione principale per poter riferire le colonne delle tuple candidate nella query esterna si fa uso degli alias di relazione; un alias di relazione è definito nella query esterna e riferito nella query interna 129
5 SQL - Sottointerrogazioni correlate esempio: la seguente query formula in SQL la query discussa precedentemente; si richiede inoltre l'ordinamento delle tuple del risultato SELECT Dip#, Nome, Stipendio FROM Impiegati X WHERE Stipendio > (SELECT AVG(Stipendio) ORDER BY Dip#; FROM Impiegati WHERE X.Dip# = Dip#) 130 nella query X è un alias di relazione (ovvero una variabile che denota una tupla e varia nella relazione Impiegati)
6 SQL - Sottointerrogazioni correlate due sono i concetti principali che sono alla base della correlazione: a) una subquery correlata fa riferimento ad un attributo selezionato dalla query esterna b) se una subquery seleziona tuple dalla stessa relazione riferita dalla query esterna, è necessario definire un alias per tale relazione della query esterna; la subquery deve usare l'alias per riferire i valori di attributo nelle tuple candidate nella query principale 131
7 SQL - Sottointerrogazioni correlate 132 non è obbligatorio, anche se è preferibile per chiarezza, utilizzare un alias se la relazione della query esterna e quella della query interna sono diverse esempio:determinare nome e stipendio degli impiegati che sono dirigenti del loro dipartimento SELECT Nome, Stipendio FROM Impiegati WHERE Imp# = (SELECT Dirigente FROM Dipartimenti è equivalente a WHERE Impiegati.Dip# = Dip#) SELECT Nome, Stipendio FROM Impiegati X WHERE Imp# = (SELECT Dirigente FROM Dipartimenti WHERE X.Dip# = Dip#)
8 SQL - Sottointerrogazioni correlate gli alias possono essere utilizzati anche in interrogazioni senza sottointerrogazioni in particolare sono utili quando si vuole fare riferimento a due diverse tuple della stessa relazione esempio:determinare nome e stipendio degli impiegati che guadagnano più del dirigente del loro dipartimento SELECT X.Nome, X.Stipendio FROM Impiegati X, Impiegati Y, Dipartimenti WHERE X.Dip# = Dipartimenti.Dip# AND Dipartimenti.Dirigente = Y.Imp# AND X.Stipendio > Y.Stipendio 133
9 SQL - Sottointerrogazioni correlate 134 ALL ed ANY esempio: determinare i dipartimenti tali che tutti gli impiegati di tali dipartimenti guadagnino più di 1000 SELECT * FROM Dipartimenti X WHERE 1000 < ALL (SELECT Stipendio FROM Impiegati WHERE Dip#=X.Dip#); esempio: determinare i dipartimenti che abbiano almeno un impiegato che guadagna più di 1000 SELECT * FROM Dipartimenti X WHERE 1000 < ANY (SELECT Stipendio FROM Impiegati WHERE Dip#=X.Dip#) nota: si può semplicemente esprimere con un join
10 SQL - Sottointerrogazioni correlate EXISTS e NOT EXISTS il predicato EXISTS(sq) restituisce il valore Booleano True se la subquery restituisce almeno una tupla; restituisce il valore Booleano False altrimenti il predicato NOT EXISTS(sq) restituisce il valore Booleano True se la subquery non restituisce alcuna tupla; restituisce il valore Booleano False altrimenti nota: la valutazione di predicati con questi due operatori non restituisce mai il valore Unknown 135
11 SQL - Sottointerrogazioni correlate EXISTS e NOT EXISTS esempio: si supponga che la relazione Impiegati abbia una colonna addizionale, Risponde_a, che contiene per ogni tupla di Impiegati un numero di impiegato. Dato un impiegato E, tale numero indica l'impiegato a cui E risponde si vuole determinare il nome di tutti gli impiegati che hanno almeno un impiegato che risponde loro 136 SELECT Nome FROM Impiegati X WHERE EXISTS (SELECT * FROM Impiegati WHERE X.Imp# = Risponde_a);
12 SQL - Sottointerrogazioni correlate EXISTS e NOT EXISTS si vuole determinare il nome di tutti gli impiegati che non hanno alcun impiegato che risponde loro SELECT Nome FROM Impiegati X WHERE NOT EXISTS (SELECT * FROM Impiegati WHERE X.Imp# = Risponde_a); 137
13 SQL - Sottointerrogazioni correlate UNIQUE il predicato UNIQUE(sq) restituisce il valore Booleano True se la subquery restituisce tutte tuple distinte (in particolare se non restituisce alcuna tupla o una tupla sola) restituisce il valore Booleano False se nel risultato della subquery ci sono dei duplicati nota: la valutazione di predicati con questo operatore non restituisce mai il valore Unknown 138
14 SQL - Sottointerrogazioni correlate UNIQUE esempio: si vogliono determinare i dipartimenti in cui non esistono due impiegati con la stessa mansione SELECT Dip# FROM Impiegati X WHERE UNIQUE (SELECT Mansione FROM Impiegati WHERE Dip# = X.Dip#); 139
15 SQL - Operazioni insiemistiche Union una interrogazione o sottointerrogazione può essere costituita da una o più interrogazioni connesse dall'operatore UNION l'operatore UNION restituisce tutte le tuple distinte restituite da almeno una delle sottointerrogazioni a cui è applicata esempio: si considerino le seguenti relazioni con lo stesso schema della relazione Impiegati Impiegati_Tempo_Parziale Impiegati_In_Congedo 140
16 SQL - Operazioni insiemistiche Union determinare gli impiegati che abbiano lo stesso stipendio di alcuni impiegati, opportunamente selezionati, contenuti nelle altre relazioni SELECT Nome, Imp# FROM Impiegati WHERE Stipendio IN (SELECT Stipendio FROM Impiegati_Tempo_Parziale WHERE Mansione = 'tecnico UNION SELECT Stipendio FROM Impiegati_In_Congedo WHERE Nome ='Viola'); 141
17 SQL - Operazioni insiemistiche Union l'operatore UNION impone alcune restrizioni sulle interrogazioni si cui opera le interrogazioni devono restituire lo stesso numero di colonne, e le colonne corrispondenti devono avere lo stesso dominio (non è richiesto che abbiano la stessa lunghezza) o domini compatibili se non viene specificato niente la corrispondenza si basa sulla posizione delle colonne, indipendemente dal loro nome 142
18 SQL - Operazioni insiemistiche Union se si usa invece la keyword CORRESPONDING dopo UNION allora il match tra colonne non avviene per posizione ma per nome delle colonne è anche possibile specificare esplicitamente le colonne da mettere in corrispondenza per nome con CORRESPONDING BY(ListaNomiColonne) se si usa una clausola di ORDER BY questa deve essere usata una sola alla fine dell'interrogazione e non alla fine di ogni SELECT 143
19 SQL - Operazioni insiemistiche 144 Union quando si specificano le colonne su cui eseguire l'ordinamento non si possono usare i nomi di colonna, poichè questi potrebbero essere differenti nelle varie relazioni occorre indicarle specificandone la posizione relativa all'interno della clausola di proiezione esempio: SELECT Nome,Imp# FROM Impiegati_Tempo_Parziale UNION SELECT Nome,Imp# FROM Impiegati_In_Congedo ORDER BY 2;
20 SQL - Operazioni insiemistiche Union l'operatore UNION elimina i duplicati dal risultato l'operatore UNION ALL non elimina i duplicati la ragione per includere UNION ALL è che in molti casi l'utente sa che non ci saranno duplicati nel risultato in tal caso il tentativo da parte del sistema di eliminare i duplicati causa un peggioramento delle prestazioni 145
21 SQL - Operazioni insiemistiche Intersect ed Except gli operatori INTERSECT ed EXCEPT (o MINUS) eseguono l'intersezione e la differenza per questi operatori valgono le stesse condizioni di applicabilità viste per l'unione esempi: determinare i nomi degli impiegati a tempo parziale che sono in congedo SELECT Nome FROM Impiegati_Tempo_Parziale INTERSECT SELECT Nome FROM Impiegati_In_Congedo; 146
22 SQL - Operazioni insiemistiche Intersect ed Except determinare i nomi degli impiegati a tempo parziale che non sono in congedo SELECT Nome FROM Impiegati_Tempo_Parziale EXCEPT SELECT Nome FROM Impiegati_In_Congedo; qualora i linguaggio SQL che si ha a disposizione non supporta gli operatori INTERSECT ed EXCEPT, tali operazioni possono essere eseguite mediante l'uso di EXISTS e NOT EXISTS 147
23 SQL - Operazioni insiemistiche 148 Intersect ed Except esempio determinare i nomi degli impiegati a tempo parziale che sono in congedo SELECT Nome FROM Impiegati_Tempo_Parziale X WHERE EXISTS (SELECT * FROM Impiegati_In_Congedo WHERE Imp#=X.Imp#); determinare i nomi degli impiegati a tempo parziale che non sono in congedo SELECT Nome FROM Impiegati_Tempo_Parziale X WHERE NOT EXISTS (SELECT * FROM Impiegati_In_Congedo WHERE Imp#=X.Imp#);
24 SQL Un esempio: la divisione Divisione le subqueries correlate e l'operatore di NOT EXISTS permettono di esprimere l'operazione di divisione la specifica della divisione in SQL richiede di ragionare in base al concetto di controesempio esempio: siano date le relazioni Progetti(Prog#, Pnome, Budget) Partecipanti(Dip#, Prog#) determinare i nomi dei dipartimenti che partecipano a tutti i progetti con un budget maggiore di 50,
25 SQL Un esempio: la divisione 150 Divisione un dipartimento X verifica l'interrogazione se non è possibile determinare un progetto che ha un budget maggiore di 50,000 ed a cui il dipartimento X non partecipa SELECT Nome_Dip FROM Dipartimenti X WHERE NOT EXISTS (SELECT * FROM Progetti Y WHERE Budget > 50,000 AND NOT EXISTS (SELECT * FROM Partecipanti WHERE X.Dip# = Dip# AND Y.Prog#=Prog#));
26 SQL - Valori nulli SQL usa una logica a tre valori per valutare il valore di verità di una condizione di ricerca (clausola where) True (T), False (F), Unknown (?) un predicato semplice valutato su un attributo a valore nullo dà come risultato della valutazione? 151 il valore di verità di un predicato complesso viene calcolato in base alle seguenti tabelle di verità una tupla per cui il valore di verità è? non viene restituita dalla query se la valutazione del predicato di un constraint è? Il constraint non è violato
27 SQL - Valori nulli AND OR T F? T F? T T F? T T T T F F F F F T F??? F?? T?? 152 NOT T F F T??
28 SQL - Valori nulli esempio: R A B C a? c1 t1 a1 b c2 t2 a2?? t3 SELECT * FROM R WHERE A=a OR B=b; il valore di verità della condizione per ogni tupla è il seguente: t1 T OR? --> T t2 F OR T --> T t3 F OR? -->? le tuple che verificano la query sono t1 e t2 153
29 SQL - Valori nulli 154 SELECT * FROM R WHERE A=a AND B=b; il valore di verità della condizione per ogni tupla è il seguente: t1 T AND? -->? t2 F AND T --> F t3 F AND? --> F nessuna tupla verifica la query SELECT * FROM R WHERE NOT C=c1; il valore di verità della condizione per ogni tupla è il seguente: t1 NOT T --> F t2 NOT F --> T t3 NOT? -->? la tupla che verifica la query è t2
30 SQL - Valori nulli il predicato IS NULL applicato ad un dato attributo di una tupla restituisce True se la tupla ha valore nullo per l'attributo esempio: SELECT * FROM R WHERE B IS NULL; restituisce le tuple t1 e t3 SELECT * FROM R WHERE B IS NULL AND C IS NULL; restituisce la tupla t3 SELECT * FROM R WHERE B IS NULL OR C IS NULL; restituisce le tuple t1 e t3 155
31 SQL - Valori nulli il predicato IS NOT NULL applicato ad un dato attributo di una tupla restituisce True se la tupla ha valore non nullo per l'attributo esempio: SELECT * FROM R WHERE B IS NOT NULL; restituisce la tupla t2 si noti che quindi le interrogazioni SELECT * FROM R WHERE B = B; SELECT * FROM R WHERE B = b OR B <> b ; SELECT * FROM R WHERE B IS NOT NULL; sono tutte equivalenti 156
32 SQL - Valori nulli nelle espressioni (ad es. aritmetiche) se un argomento è NULL allora il valore dell intera espressione è NULL esempio: Stipendio * 12, Stipendio + Premio_P nelle funzioni di gruppo i valori nulli sono invece ignorati esempio: SUM(Premio_P) questo ha come conseguenza che, ad esempio, SUM(Colonna1 + Colonna2) può dare risultato diverso da SUM(Colonna1) + SUM(Colonna2) 157
33 SQL - Valori nulli se e1 ed e2 sono NULL, e1=e2 non è vero (è?) 158 quindi due espressioni con valore nullo non sono uguali ma non sono distinte, cioè vengono considerate duplicati SELECT DISTINCT: si ha al più un NULL nel risultato GROUP BY: si ha al più un gruppo per il valore NULL esiste un predicato IS DISTINCT FROM che coincide con <> tranne che per il valore nullo, cioè se e1 ed e2 sono NULL: e1 <> e2 restituisce UNKNOWN, ma e1 IS DISTINCT FROM e2 restituisce FALSE
SQL - Sottointerrogazioni
una delle ragioni che rendono SQL un linguaggio potente è la possibilità di esprimere interrogazioni più complesse in termini di interrogazioni più semplici, tramite il meccanismo delle subqueries (sottointerrogazioni)
Data Management Software. Il linguaggio SQL. Query Innestate. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management 10 Settembre 2003
DB2 Data Management Software Il linguaggio SQL Query Innestate Paolo Avallone Sr Consulting IT Specialist DB2, Data Management 10 Settembre 2003 LEGGERE LE SEGUENTI ATTENZIONI Le informazioni contenute
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
Il linguaggio SQL: query innestate
Il linguaggio SQL: query innestate Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLc-subquery.pdf Sistemi Informativi L-A DB di riferimento
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
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
SQL: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma
SQL: Structured Query Language 1 SQL:Componenti Principali Data Manipulation Language (DML): interrogazioni, inserimenti, cancellazioni, modifiche Data Definition Language (DDL): creazione, cancellazione
Tipi di sottoquery SQL
Tipi di sottoquery SQL È possibile specificare subquery in numerose posizioni: Con le parole chiave IN e NOT IN. Con operatori di confronto. Con le parole chiave ANY, SOME e ALL. Con le parole chiave EXISTS
Operatori aggregati: COUNT
Operatori aggregati: COUNT Il numero di figli di select count(*) as NumFigliDi where Padre = '' Paternità Padre Sergio Figlio Olga Filippo Andrea Aldo l operatore aggregato (count) viene applicato al risultato
Il linguaggio SQL: raggruppamenti. Versione elettronica: SQLb-gruppi.pdf
Il linguaggio SQL: raggruppamenti Versione elettronica: SQLb-gruppi.pdf Informazioni di sintesi Quanto sinora visto permette di estrarre dal DB informazioni che si riferiscono a singole tuple (eventualmente
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
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
<Nome Tabella>.<attributo>
Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (2) Tabelle mult., variabili, aggreg, group Prof. Alberto
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
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,
Elena Baralis 2007 Politecnico di Torino 1
Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE Linguaggio SQL: fondamenti 2 (1/3) Inserimento di tuple Cancellazione di tuple Modifica di tuple 4 (2/3) INSERT inserimento di nuove tuple
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
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,
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
Corso di Basi di Dati A.A. 2015/2016
Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2015/2016 Tiziana Catarci, Andrea Marrella Ultimo aggiornamento : 22/02/2016 Interrogazioni nidificate In
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
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
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 è
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
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
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
SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:
SQL e linguaggi di programmazione L interazione con l ambiente SQL può avvenire in 3 modi: in modo interattivo col server attraverso interfacce o linguaggi ad hoc legati a particolari DBMS attraverso i
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)
Algebra Relazionale. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma
Algebra Relazionale 1 Linguaggi di interrogazione relazionale Linguaggi di interrogazione: permettono la manipolazione e il reperimento di dati da una base di dati Il modello relazionale supporta LI semplici
Le interrogazioni annidate
Le interrogazioni annidate Lezione 5 lezione 5 Le interrogazioni annidate In questa lezione impareremo... a codificare operazioni insiemistiche su tabelle e relazioni a eseguire interrogazioni scalari
Il linguaggio SQL: query innestate
Il linguaggio SQL: query innestate Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLc-subquery.pdf Sistemi Informativi L-A DB di riferimento
SQL Avanzato. Interrogazioni e il valore NULL. Interrogazioni complesse, trigger, viste e modifiche dello schema. Giorgio Giacinto 2015
SQL Avanzato Interrogazioni complesse, trigger, viste e modifiche dello schema 2 Interrogazioni e il valore NULL Il valore NULL Logica a tre valori 3 Significato del valore NULL Valore sconosciuto Valore
Tipi di operatori. Gli operatori dell algebra relazionale sono classificabili nelle seguenti categorie:
lgebra relazionale Il linguaggio per interrogare ed aggiornare la base di dati fa parte del modello di questi ultimi. Un operazione di aggiornamento può essere vista come una funzione che, data un istanza
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
SQL - Funzioni di gruppo
una funzione di gruppo permette di estrarre informazioni da gruppi di tuple di una relazione le funzioni di gruppo si basano su due concetti: partizionamento delle tuple di una relazione in base al valore
Algebra relazionale: operazioni
Dipartimento di Elettronica ed ormazione Politecnico di Milano ormatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2011/2012 Algebra relazionale: operazioni Le presenti slide sono tratte dalle slide
ALGEBRA RELAZIONALE. L algebra relazionale
ALGEBRA RELAZIONALE 2 L algebra relazionale L insieme principale di operazioni per il modello relazionale è l algebra relazionale. Le operazioni dell algebra relazionale consentono all utente di specificare
BASI DATI: algebra relazionale
BASI DATI: algebra relazionale BIOINGEGNERIA ED INFORMATICA MEDICA 1 Algebra relazionale Definizione L'algebra relazionale è un insieme di operazioni (query) che servono per manipolare relazioni (tabelle).
Linguaggio SQL. studenti matricola nome cognome citta anno 11 marco bini bologna 1985 13 laura sicuro rimini 1984 esami codice
Linguaggio SQL Il linguaggio SQL (Structured Query Language) è il linguaggio standard per la definizione, manipolazione e interrogazione delle basi di dati relazionali sostenuti codice matricola anno voto
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
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;
Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2
Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2 Vincoli di integrita 2 Cosa e un vincolo di integrita E una proprieta sempre valida
Lezione 6. Algebra e Calcolo Relazionale
Lezione 6 Algebra e Calcolo Relazionale 1 Sommario Esempio di Applicazione con Database (AZIENDA) Algebra Relazionale Operazioni Relazionali Unarie Operazioni dell Algebra Relazionale dalla teoria degli
Capitolo 4. SQL: il linguaggio di interrogazione. Originato da SEQUEL-XRM e System-R ( ) dell IBM
Capitolo 4 SQL: il linguaggio di interrogazione SQL Originato da SEQUEL-XRM e System-R (1974-1977) dell IBM Significato originario Structured Query Language Standard de facto Attuale standard ANSI/ISO
Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26
Uso delle variabili di alias SQL slide aggiuntive Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione educazione Non solo per disambiguare la notazione
Elena Baralis 2007 Politecnico di Torino 1
Linguaggio SQL: fondamenti Struttura di base Clausola WHEE Ordinamento del risultato Join unzioni aggregate Operatore GOU BY Istruzione SELECT: esempio di BD forniture prodotti Istruzione SELECT: esempio
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
Equivalenza di Espressioni Algebriche
Equivalenza di Espressioni Algebriche Basi di dati e sistemi informativi 1 Equivalenza di Espressioni Algebriche Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Equivalenza
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
Esercitazione su SQL
Esercizio 1. Esercitazione su SQL Si consideri la base di dati relazionale composta dalle seguenti relazioni: impiegato Matricola Cognome Stipendio Dipartimento 101 Sili 60 NO 102 Rossi 40 NO 103 Neri
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
Basi di dati attive. Paolo Atzeni Stefano Ceri. Basi di dati attive
Basi di dati attive Paolo Atzeni Stefano Ceri Basi di dati attive BD con componente per la gestione di regole Evento- Condizione-Azione (regole di produzione): eventi: normalmente modifiche della base
Basi di Dati. Esercitazione 1: Interrogazioni in SQL. K. Donno - Interrogazioni in SQL
Basi di Dati Esercitazione 1: Interrogazioni in SQL DB di riferimento per esempi Consideriamo i seguenti schemi di una base di dati relazionale: PremioProduzione, DataAssunzione) Viene data la seguente
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
Esempi di funzioni di Excel
Esempi di funzioni di Excel Funzione SOMMA Categoria: Matematiche e trigonometriche Restituisce la somma aritmetica degli argomenti. SOMMA(num1;[num2]; ) num1, obbligatorio, è il primo argomento da valutare
Esercitazione 4 SQL: cataloghi e viste
Esercitazione 4 SQL: cataloghi e viste Sistemi Informativi T Versione elettronica: L04.CatView.pdf Cataloghi di sistema Sono insieme di tables e views che descrivono la struttura logica e fisica degli
Basi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 9 Raffaella Gentilini 1 / 41 Sommario 1 DBMS Attivi e Triggers 2 2 / 41 DBMS Attivi DBMS Attivi I DBMS tradizionale sono passivi: Eseguono delle operazioni solo
Esercitazione 3 SQL 2
Esercitazione 3 SQL 2 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E3-1 Schema della base di dati Persone (Nome, Sesso, Anno, Città) Discendenza (Genitore, Figlio) Stato (Città, Inizio, Fine, Stato)
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
