Linguaggio SQL. Prof. Giuseppe Tandoi
|
|
- Giulio Ferrario
- 6 anni fa
- Visualizzazioni
Transcript
1
2 Caratteristiche generali SQL è uno strumento per organizzare gestire recuperare dati memorizzati in DataBase organizzati su base Relazionale.
3 Caratteristiche generali SQL è l'acronimo di Structured Query Language. SQL è un linguaggio (non procedurale) per interagire con database.
4 Caratteristiche generali SQL è un linguaggio standard per chi deve gestire database. Può essere considerato un sottolinguaggio di interazione le cui dichiarazioni possono anche essere incluse in programmi scritti in altro linguaggio (Cobol, Php, ecc.).
5 Caratteristiche generali SQL non è un software un sistema di gestione di database un linguaggio di programmazione procedurale
6 Caratteristiche generali - DBMS DBMS = Data Base Management System Software che controlla il database consente le operazioni di definizione, manipolazione e estrazione
7 Caratteristiche generali estrazione informazioni Processo di estrazione delle informazioni 1. DBMS riceve la richiesta SQL 2. DBMS elabora la richiesta 3. DBMS recupera i dati richiesti 4. DBMS restituisce le informazioni Il processo di estrazione delle informazioni viene denominato QUERY.
8 Caratteristiche generali - DBMS E' il DBMS che consente interazioni attraverso l'uso del linguaggio SQL.
9 Regole generali - formato istruzione Le istruzioni sono formate dal verbo imperativo e dai parametri e terminano con il punto e virgola ( ; ) create table ALUNNI ( ID Smallint, COGNOME char(20), NOME char(20) ) ;
10 Regole generali definizione identificatori Gli identificatori, cioè i nomi di Tabelle o di Attributi - sono costituiti da caratteri, cifre, carattere '_' (UnderScore) - possono essere lunghi massimo 18 caratteri - devono iniziare con una lettera
11 Regole generali definizione identificatori L'identificatore assoluto di un attributo è costituita dalla abituale notazione : NomeTabella. NomeAttributo Ordini.Data Alunni.Data_di_Nascita NomeTabella si può omettere se non vi sono di ambiguità di identificazione.
12 Regole generali definizione costanti La costante e' definita attraverso il suo valore * considerata di tipo numerico intero se il valore non contiene parte frazionaria * considerata di tipo numerico reale se il valore presenta il punto decimale separatore tra parte intera e parte frazionaria * la costante di tipo stringa è racchiusa tra singoli apici ('cost') se la costante contiene un'apice allora deve essere racchiusa tra doppi apici ( cost ) La costante NULL rappresenta il concetto di valore non definito o valore non disponibile incontrato in una colonna.
13 Definizione dei dati - DDL DDL : Data Description Language Sottoinsieme di istruzioni di SQL che consentono di * definire nuove tabelle * modificare la struttura delle tabelle * rimuovere tabelle
14 DDL tipi standard di dati BOOLEAN Valore logico True, false CHARACTER(n) Stringa di lunghezza (n) N da 1 a DATE Data nella forma mm/gg/aa TIME Ora nella forma hh:mm INTEGER(p) Numero intero di precisione P P da 1 a 45 SMALLINT Numero intero (16 bit) Da a INTEGER Numero intero (32 bit) Da a DECIMAL(p,s) Numero decimale di p cifre di cui s decimali REAL Numero reale con mantissa di precisione 7 FLOAT Numero reale con mantissa di precisione 15 FLOAT(p) Numero reale con mantissa di precisione p
15 DDL definizione nuove tabelle CREATE TABLE NomeTabella ( nome attr 1 tipo, nome attr 2 tipo,... nome attr n tipo) ;
16 DDL definizione nuove tabelle CREATE TABLE Alunni ( Id SMALLINT, Cognome Nome CHAR(20), CHAR(20), Indirizzo CHAR(40), Classe CHAR(10) );
17 DDL eliminazione tabella DROP TABLE NomeTabella ;
18 DDL eliminazione tabella DROP TABLE Alunni;
19 DDL modifica struttura tabella Aggiunta attributo ALTER TABLE NomeTabella ADD nome attr 1 tipo; Rimozione attributo ALTER TABLE NomeTabella DROP nome attr ;
20 DDL modifica struttura tabella Aggiunta attributo ALTER TABLE Alunni ADD ContattoMSN Char(50); Rimozione attributo ALTER TABLE Alunni DROP Classe;
21 DDL definizione nuove tabelle - clausole CREATE TABLE NomeTabella ( nome attr 1 tipo PRIMARY KEY, nome attr 2 nome attr 3 nome attr 4 tipo UNIQUE, tipo NOT NULL, tipo AUTO_INCREMENT,... nome attr n tipo DEFAULT valore) ;
22 DDL definizione nuove tabelle - clausole PRIMARY KEY UNIQUE NOT NULL DEFAULT dichiara quell'attributo come chiave primaria della tabella rende inammissibili valori uguali obbliga ad indicare un valore determina il valore (costante) da attribuire al momento della creazione del record in assenza di indicazione AUTO_INCREMENT per attributi di tipo numerico; assegna automaticamente il valore incrementando un contatore ad ogni inserimento di record
23 DDL definizione nuove tabelle - clausole CREATE TABLE Alunni ( Id SMALLINT PRIMARY KEY, Cognome Nome CHAR(20) NOT Null, CHAR(20) NOT Null, Indirizzo CHAR(40), Classe CHAR(10) NOT Null, Citta CHAR(30) DEFAULT 'Bari' );
24 Manipolazione dei dati - DML DML : Data Manipulation Language Sottoinsieme di istruzioni di SQL che consentono di * inserire nuovi record * modificare il contenuto dei campi dei record * cancellare record
25 DML Inserimento record INSERT INTO NomeTabella (nome attr 1, nome attr 2,..., nome attr n ) VALUES (val 1, val 2,..., val n );
26 DML Inserimento record INSERT INTO Alunni (Id, Cognome, Nome, Indirizzo, Classe, Citta) VALUES (23,'Rossi', 'Mario','Via Roma,12', '', 'Bari' );
27 DML Modifica record UPDATE NomeTabella SET nome attr = valore WHERE CondizioneDiSelezione;
28 DML Modifica record UPDATE Alunni SET Classe = '5BM' WHERE ID = 23;
29 DML Elimina record DELETE FROM NomeTabella WHERE CondizioneDiSelezione;
30 DML Elimina record DELETE FROM Alunni WHERE ID = 23; DELETE FROM Alunni WHERE Alunni.Classe = '5BM';
31 Query Language Interrogazione database L' interrogazione al database: consente l'estrazione dal database delle informazioni desiderate produce una nuova tabella attraverso l'attivazione delle operazioni relazionali
32 Query Language Interrogazione database Le interrogazioni al database si pongono attraverso il comando SELECT La struttura base del comando SELECT è SELECT colonne FROM tabella;
33 Query Language Interrogazione database SELECT * DELETE FROM Alunni FROM Alunni; WHERE ID = 23;
34 Query Language Interrogazione database SELECT * DELETE FROM Alunni FROM Alunni; WHERE ID = 23; SELECT Alunni.Id, Alunni.Cognome, Alunni.Nome, Alunni.Indirizzo, Alunni.Classe, Alunni.Citta FROM Alunni;
35 Query Language Interrogazione database SELECT * DELETE FROM Alunni FROM Alunni; WHERE ID = 23; SELECT Alunni.Id, Alunni.Cognome, Alunni.Nome, Alunni.Indirizzo, Alunni.Classe, Alunni.Citta FROM Alunni; SELECT Id, Cognome, Nome, Indirizzo, Classe, Citta FROM Alunni;
36 Query Language Interrogazione database La tabella prodotta dalla interrogazione è costituita da colonne con l'intestazione equivalente al nome dei campi Si può far mostrare una intestazione differente utilizzando la clausola AS. SELECT colonna AS intestazionecolonna FROM tabella;
37 Query Language Interrogazione database SELECT Id AS Matricola, Cognome, Nome AS NomeDiBattesimo, DELETE FROM Alunni FROM Alunni; WHERE ID = 23;
38 Query Language Interrogazione database La tabella prodotta dalla interrogazione può anche vedere la presenza di colonne con valori calcolati sugli attributi presenti ed ottenuti dalla esecuzioni di espressioni aritmetiche SELECT espressionenumerica AS intestazionecolonna FROM Tabella;
39 Query Language Interrogazione database SELECT Numero, Data, Importo As Imponibile, Importo * 0,20 AS Iva, DELETE FROM Alunni Importo * 1,20 AS TotaleFattura WHERE ID = 23; FROM Fatture;
40 Operazioni relazionali Selezione Si ottiene specificando la clausola WHERE SELECT * FROM Tabella WHERE CondizioneDiSelezione;
41 Operazioni relazionali Condizioni di selezione La Condizioni di Selezione determina la selezione delle righe E' una espressione relazionale in cui sono confrontati una colonna ed un valore. Il confronto è espresso da uno degli operatori relazionali: =, >, <, <>, >=, <=
42 Operazioni relazionali Selezione SELECT * DELETE FROM Alunni FROM Alunni WHERE ID = 23; WHERE Alunni.Citta = 'Bari';
43 Operazioni relazionali Condizioni di selezione Una CondizioneDiSelezione può essere costituita da più condizioni legate tra loro dagli operatori AND, OR Una CondizioneDiSelezione può essere preceduta dall'operatore NOT
44 Operazioni relazionali Operatori di Selezione SELECT * DELETE FROM Alunni FROM Alunni WHERE ID = 23; WHERE Alunni.Citta <> 'Bari' AND Alunni.Classe = '5BM';
45 Operazioni relazionali Operatori di Selezione SELECT * DELETE FROM Alunni FROM Alunni WHERE ID = 23; WHERE Alunni.Citta <> 'Bari' AND Alunni.Classe = '5BM'; SELECT * FROM Alunni WHERE NOT (Alunni.Citta <> 'Bari' AND Alunni.Classe = '5BM') ;
46 Operazioni relazionali Altri operatori di relazione Le Condizioni di Selezione si possono esprimere utilizzando altri operatori o predicati per determinare ricerche più affinate IN LIKE BETWEEN
47 Operazioni relazionali Altri operatori di relazione IN L'operatore IN confronta se il valore appartiene ad uno dei valori di una lista definita, tra parentesi dopo la clausola In.... WHERE Colonna IN ( valore 1, Valore 2,..., Valore n );
48 Operazioni relazionali Operatori di Selezione SELECT * DELETE FROM Alunni FROM Alunni WHERE ID = 23; WHERE Alunni.Classe IN ('3BM', '4BM', '5BM');
49 Operazioni relazionali Operatori di Selezione SELECT * DELETE FROM Alunni FROM Alunni WHERE ID = 23; WHERE Alunni.Classe IN ('3BM', '4BM', '5BM'); corrisponde a SELECT * FROM Alunni WHERE Alunni.Classe = '3BM' OR Alunni.Classe = '4BM' OR Alunni.Classe = '5BM';
50 Operazioni relazionali Altri operatori di relazione BETWEEN L'operatore BETWEEN confronta se il valore nella colonna è incluso in un intervallo di valori, estremi compresi.... WHERE Colonna BETWEEN Valore 1 AND Valore 2 ;
51 Operazioni relazionali Operatori di Selezione SELECT * DELETE FROM Alunni FROM Alunni WHERE ID = 23; WHERE Alunni.Voto BETWEEN 6 AND 8;
52 Operazioni relazionali Altri operatori di relazione LIKE L'operatore LIKE confronta il valore di un attributo con un modello di stringa contenenti caratteri caratteri jolly * una qualunque sequenza di caratteri? un carattere... WHERE Colonna LIKE MascheraDiRicerca;
53 Operazioni relazionali Operatori di Selezione SELECT * DELETE FROM Alunni FROM Alunni WHERE ID = 23; WHERE Alunni.Cognome LIKE 'BA*'; SELECT * FROM Alunni WHERE Alunni.Cognome LIKE 'BA??';
54 Operazioni relazionali Predicati ALL e DISTINCT SELECT ALL colonna 1, colonna 2,..., colonna m FROM Tabella WHERE condizione; consente di ottenere tutte le righe che soddisfano la condizione. Il predicato ALL è considerato di default.
55 Operazioni relazionali Predicati ALL e DISTINCT SELECT ALL * DELETE FROM Alunni FROM Alunni WHERE ID = 23; WHERE Classe = '5BM';
56 Operazioni relazionali Predicati ALL e DISTINCT SELECT DISTINCT colonna FROM Tabella WHERE condizione; consente di ottenere nella colonna valori non ripetuti; vale a dire che se nella colonna appare più volte uno stesso valore, sarà riportata una sola riga in cui questo è contenuto. E' opportuno utilizzarlo per conoscere quali sono i differenti valori presenti in una colonna
57 Operazioni relazionali Predicati ALL e DISTINCT SELECT DISTINCT CittaNascita DELETE FROM Alunni FROM Alunni; WHERE ID = 23;
58 Operazioni relazionali Proiezione Si ottiene specificando l'elenco degli attributi richiesti SELECT colonna 1, colonna 2,..., colonna m FROM Tabella;
59 Operazioni relazionali Proiezione SELECT Alunni.Cognome, Alunni.Nome, Alunni.Classe DELETE FROM Alunni FROM Alunni; WHERE ID = 23;
60 Operazioni relazionali Proiezione SELECT Alunni.Cognome, Alunni.Nome, Alunni.Classe DELETE FROM Alunni FROM Alunni; WHERE ID = 23; SELECT Cognome, Nome, Classe FROM Alunni;
61 Operazioni relazionali Selezione di proiezione SELECT Colonna 1, Colonna 2,..., Colonna m FROM Tabella WHERE CondizioneDiSelezione ;
62 Operazioni relazionali Selezione di proiezione SELECT Alunni.Cognome, Alunni.Nome, Alunni.Classe DELETE FROM Alunni FROM Alunni WHERE ID = 23; WHERE Alunni.Citta = 'Bari';
63 Operazioni relazionali Congiunzione SELECT * FROM Tabella 1, Tabella 2 WHERE CondizioneDiCongiunzione ; CondizioneDiCongiunzione : CampoChiaveEsterna = CampoChiavePrimaria Sono combinate solo le righe per le quali si possono trovare valori uguali per gli attributi che si corrispondono (equi-join).
64 Operazioni relazionali Congiunzione SELECT * DELETE FROM Alunni FROM Alunni, Prove WHERE ID = 23; WHERE Prove.IDAlunno = Alunni.ID ; La query dell'esempio produce una tabella costituita da tante colonne quanti sono gli attributi delle tabelle congiunte e dalle sole righe aventi valori uguali per gli attributi messi nella condizione di congiunzione.
65 Operazioni relazionali Combinazione delle operazioni relazionali SELECT colonna 1, colonna 2,..., colonna m FROM Tabella 1, Tabella 2 WHERE CondizioneDiCongiunzione AND CondizioneDiSelezione ;
66 Operazioni relazionali Combinazione delle operazioni relazionali Mostrare gli esiti di tutte le prove di Inglese sostenute dagli studenti della 5BM
67 Operazioni relazionali Combinazione delle operazioni relazionali Mostrare gli esiti di tutte le prove di Inglese sostenute dagli studenti della 5BM SELECT Alunni.Cognome, Alunni.Nome, Prove.Data, Prove.Voto FROM Alunni, Prove WHERE Prove.IDAlunno = Alunni.ID AND ( Prove.Materia = 'INGLESE' AND Alunni.Classe = '5BM' );
68 Operazioni relazionali Funzioni di aggregazione Funzioni predefinite che operano sui dati contenuti nelle righe selezionate dall'interrogazione effettuando conteggio, determinazione del massimo o del minimo, somma, media fra i valori di una colonna. COUNT SUM MIN e MAX AVG
69 Operazioni relazionali Funzioni di aggregazione SELECT COUNT(colonna) FROM Tabella WHERE CondizioneDiSelezione ; Restituisce il numero delle righe della tabella (solo quelle selezionate) ove si riscontra un valore non nullo nella colonna.
70 Operazioni relazionali Funzioni di aggregazione SELECT COUNT(Cognome) FROM Alunni WHERE Classe = '5BM'; Mostrare il numero di alunni della 5BM
71 Operazioni relazionali Funzioni di aggregazione SELECT COUNT(Prove.Data) FROM Alunni,Prove WHERE Prove.IDAlunno = Alunni.ID AND ( Prove.Materia = 'INGLESE' AND Alunni.Classe = '5BM' ) Mostrare il numero delle prove (compiti e interrogazioni) sostenute dagli alunni della 5BM in Inglese
72 Operazioni relazionali Funzioni di aggregazione SELECT COUNT( DISTINCT ( colonna ) ) FROM Tabella WHERE CondizioneDiSelezione ; Conta i valori diversi non ripetutii riscontrati nella colonna.
73 Operazioni relazionali Funzioni di aggregazione SELECT COUNT( DISTINCT (CittaDiResidenza) ) FROM Alunni WHERE Classe = '5BM'; Mostrare il numero delle città di residenza degli alunni della 5BM
74 Operazioni relazionali Funzioni di aggregazione SELECT COUNT(*) FROM Tabella WHERE CondizioneDiSelezione ; Restituisce il numero di tutte le righe selezionate della tabella; non sono escluse righe con valori nulli.
75 Operazioni relazionali Funzioni di aggregazione SELECT COUNT(NumeroCartaDiCredito) FROM Correntisti; Mostrare il numero dei correntisti titolari di carta di credito
76 Operazioni relazionali Funzioni di aggregazione SELECT COUNT(NumeroCartaDiCredito) FROM Correntisti; Mostra il numero dei correntisti titolari di carta di credito SELECT COUNT(*) FROM Correntisti; Mostra il numero di tutti i correntisti
77 Operazioni relazionali Funzioni di aggregazione SELECT SUM(colonna) FROM Tabella WHERE CondizioneDiSelezione ; Restituisce la somma di tutti i valori presenti in tutte le righe della tabella (solo quelle selezionate) di una specifica colonna. La colonna deve contenere dati di tipo non numerico.
78 Operazioni relazionali Funzioni di aggregazione SELECT SUM(Prezzo) FROM LibriDiTesto WHERE Classe = '5BM'; Mostrare il costo totale dei libri di testo adottati per la 5BM
79 Operazioni relazionali Funzioni di aggregazione SELECT MAX(colonna) oppure MIN(colonna) FROM Tabella WHERE CondizioneDiSelezione ; Restituisce il massimo fra i valori presenti in tutte le righe della tabella (solo quelle selezionate) di una specifica colonna. La colonna può contenere dati di tipo non numerico.
80 Operazioni relazionali Funzioni di aggregazione SELECT MIN(Voto) FROM Prove; Mostrare qual'è il voto minimo fra tutti quelli che sono stati registrati
81 Operazioni relazionali Funzioni di aggregazione SELECT MAX(Prove.Voto) FROM Alunni,Prove WHERE Prove.IDAlunno = Alunni.ID AND ( Prove.Materia = 'INGLESE' AND Alunni.Classe = '5BM' ); Mostrare qual'è il massimo riportato da un alunno della 5BM in Inglese.
82 Operazioni relazionali Funzioni di aggregazione SELECT AVG(colonna) FROM Tabella WHERE CondizioneDiSelezione ; Restituisce la media fra i valori presenti in tutte le righe della tabella (solo quelle selezionate) di una specifica colonna. Ovviamente la colonna deve contenere dati di tipo numerico.
83 Operazioni relazionali Funzioni di aggregazione SELECT AVG(Prove.Voto) FROM Alunni, Prove WHERE Prove.IDAlunno = Alunni.ID AND ( Prove.Materia = 'Matematica' AND Alunni.Classe = '5BM' AND Alunni.Cognome = 'Martinelli' ); Mostrare qual'è la media dei voti assegnati a Martinelli della 5BM in Matematica
84 Operazioni relazionali Funzioni di aggregazione SELECT AVG(Prove.Voto) FROM Alunni, Prove WHERE Prove.IDAlunno = Alunni.ID AND ( Prove.Materia = 'Matematica' AND Alunni.Classe = '5BM'); Mostrare qual'è la media dei voti delle prove conseguiti dagli alunni della 5bm in matematica.
85 Operazioni relazionali Funzioni di aggregazione SELECT AVG(Prove.Voto) FROM Alunni, Prove WHERE Prove.IDAlunno = Alunni.ID AND ( Prove.Materia = 'Matematica' AND Alunni.Classe = '5BM'); Mostrare qual è la media dei voti delle prove conseguiti dagli alunni della 5bm in matematica.
86 Operazioni relazionali Funzioni di aggregazione SELECT Prove.Voto FROM Alunni, Prove WHERE Prove.IDAlunno = Alunni.ID AND ( Prove.Materia = 'Matematica' AND Alunni.Classe = '5BM'); Mostrare i voti riportati dagli alunni della 5 bm in matematica
87 Ordinamenti L'interrogazione mostra le righe elencate come presenti nelle tabelle da cui sono originate. E' possibile mostrare le righe anche secondo un differente ordine basato sui valori presenti in una colonna (o più) specificando la clausola ORDER BY Si impostare un ordinamento crescente (ASCending) o decrescente (DESCending)
88 Ordinamenti SELECT colonna 1, colonna 2,..., colonna n FROM... WHERE... ORDER BY colonna1 [ ASC / DESC ], colonna2 [ ASC / DESC ]... ;
89 Ordinamenti SELECT Prove.Data, Alunni.Cognome, Alunni.Nome, Prove.Voto FROM Alunni, Prove WHERE Prove.IDAlunno = Alunni.ID AND ( Prove.Materia = 'INGLESE' AND Alunni.Classe = '5BM' ) ORDER BY Prove.Data DESC; Lista delle prove (interrogazioni e compiti) di inglese svolte dagli alunni della 5BM ordinati per data, dalla più recente alla più remota.
90 Ordinamenti SELECT Alunni.Cognome, Alunni.Nome, Prove.Data, Prove.Voto FROM Alunni, Prove WHERE Prove.IDAlunno = Alunni.ID AND ( Prove.Materia = 'INGLESE' AND Alunni.Classe = '5BM' ) ORDER BY 4; Lista delle prove (interrogazioni e compiti) di inglese svolte dagli alunni della 5BM ordinati in base alla quarta colonna definita nella proiezione, cioè in base al voto.
91 Ordinamenti SELECT Alunni.Cognome, Alunni.Nome, Prove.Data, Prove.Materia, Prove.Voto FROM Alunni, Prove WHERE Prove.IDAlunno = Alunni.ID AND ( Alunni.Classe = '5BM' ) ORDER BY Prove.Materia, Prove.Voto DESC, Alunni.Cognome; Lista delle prove (interrogazioni e compiti) svolte dagli alunni della 5BM ordinati alfabeticamente per materia, in modo decrescente per voto nell'ambito delle prove di una stessa materia ed infine per alunno.
92 Raggruppamenti Le funzioni di aggregazione (MIN, MAX, AVG, COUNT, SUM )condensano le informazioni di tutta una tabella (o solo delle righe selezionate) in un unico valore. Le funzioni di aggregazione possono operare non solo su tutta la tabella ma per gruppi di record. Per esempio voglio che venga mostrata : per ciascun alunno la sua media dei voti per ciascuna materia il numero di prove che sono state sostenute per ciascuna classe il voto più alto registrato al suo interno
93 Raggruppamenti Cliente Altomare NumFatt Importo Altomare Bellomo Bellomo Bellomo Genchi Genchi Lorusso Lorusso Lorusso
94 Raggruppamenti Cliente Altomare NumFatt Importo Altomare Bellomo Cliente Sum(Importo) Bellomo Bellomo Altomare 3200 Bellomo 2200 Genchi Genchi Lorusso Lorusso Lorusso Genchi 1000 Lorusso 2100
95 Raggruppamenti Il raggruppamento si definisce utilizzando la clausola GROUP BY
96 Raggruppamenti SELECT Colonna, FunzioneDiAggregazione(colonna) FROM... GROUP BY Colonna ;
97 Raggruppamenti SELECT Cliente, Sum(Importo) FROM Fatture GROUP BY Cliente;
98 Raggruppamenti Lista dei voti massimi riportati da ciascun alunno in qualunque prova.
99 Raggruppamenti Lista dei voti massimi riportati da ciascun alunno in qualunque prova. SELECT Alunni.Cognome, Max(Prove.Voto) FROM Alunni, Prove WHERE Prove.IDAlunno = Alunni.ID GROUP BY Alunni.Cognome;
100 Raggruppamenti condizioni sui raggruppamenti Lista dei voti massimi riportati da ciascun alunno della 5BM nelle prove di Matematica. SELECT Alunni.Cognome, Max(Prove.Voto) FROM Alunni, Prove WHERE Prove.IDAlunno = Alunni.ID AND ( Prove.Materia = 'MATEMATICA' AND Alunni.Classe = '5BM' ) GROUP BY Alunni.Cognome;
101 Raggruppamenti condizioni sui raggruppamenti Lista dei voti massimi riportati da ciascun alunno della 5BM nelle prove di Matematica. SELECT Alunni.Cognome, Max(Prove.Voto) FROM Alunni, Prove WHERE Prove.IDAlunno = Alunni.ID AND ( Prove.Materia = 'MATEMATICA' AND Alunni.Classe = '5BM' ) GROUP BY Alunni.Cognome; Il raggruppamento opera sulle righe selezionate dalla clausola WHERE
102 Raggruppamenti condizioni sui raggruppamenti La clausola HAVING condizione usata insieme a GROUP BY, consente di visualizzare le sole righe prodotte dai raggruppamenti che soddisfano la condizione.
103 Raggruppamenti condizioni sui raggruppamenti La clausola HAVING condizione usata insieme a GROUP BY, consente di visualizzare le sole righe prodotte dai raggruppamenti che soddisfano la condizione. Per esempio gli alunni con una media superiore a 6 i professionisti che hanno un compenso totale superiore a Euro le discipline in cui gli studenti non abbiano riportato un voto superiore a 7
104 Raggruppamenti condizioni sui raggruppamenti SELECT Colonna, FunzioneDiAggregazione(colonna) FROM... GROUP BY Colonna HAVING condizione ; La condizione si basa sul confronto tra la funzione di aggregazione e un altro dato. Valuta per ciascun raggruppamento il risultato della funzione di aggregazione sul raggruppamento e l'altro dato.
105 Raggruppamenti condizioni sui raggruppamenti Lista degli alunni che hanno riportato come loro voto più alto, un voto maggiore di 7. In qualunque prova di qualunque disciplina
106 Raggruppamenti condizioni sui raggruppamenti Lista degli alunni che hanno riportato come loro voto più alto, un voto maggiore di 7. In qualunque prova di qualunque disciplina SELECT Alunni.Cognome, Max(Prove.Voto) FROM Alunni, Prove WHERE Prove.IDAlunno = Alunni.ID GROUP BY Alunni.Cognome HAVING Max(Prove.Voto) > 7;
107 Query nidificate (o sottoquery) La sottoquery è una normale interrogazione che viene inclusa in un'altra query nella espressione condizionale di quella che la contiene.
108 Query nidificate (o sottoquery) La sottoquery è una normale interrogazione che viene inclusa in un'altra query nella espressione condizionale di quest'ultima. ES. SELECT... FROM... WHERE dato >, =, <, IN ;
109 Query nidificate (o sottoquery) La sottoquery è una normale interrogazione che viene inclusa in un'altra query nella espressione condizionale di quest'ultima. ES. SELECT... FROM... WHERE dato >, =, <, IN ( SELECT... FROM WHERE...) ;
110 Query nidificate (o sottoquery) La sottoquery è una normale interrogazione che viene inclusa in un'altra query nella espressione condizionale di quest'ultima. ES. SELECT... FROM... WHERE dato >, =, <, IN ( SELECT... FROM WHERE...) ; Query principale SottoQuery o Query interna
111 Query nidificate (o sottoquery) La sottoquery produce un'unica colonna in una o più righe. Quindi la sottoquery deve essere la proiezione di un'unica colonna.
112 Query nidificate (o sottoquery) La sottoquery produce un'unica colonna in una o più righe. Quindi la sottoquery deve essere la proiezione di un'unica colonna.... SELECT AVG(Prove.Voto) FROM Alunni, Prove WHERE Prove.IDAlunno = Alunni.ID AND ( Prove.Materia = 'Matematica' AND Alunni.Classe = '5BM')... Media dei voti di tutte le prove di matematica degli alunni della 5BM.
113 Query nidificate (o sottoquery) La sottoquery produce un'unica colonna in una o più righe. Quindi la sottoquery deve essere la proiezione di un'unica colonna.... SELECT AVG(Prove.Voto) FROM Alunni, Prove WHERE Prove.IDAlunno = Alunni.ID AND ( Prove.Materia = 'Matematica' AND Alunni.Classe = '5BM')... Media dei voti di tutte le prove di matematica degli alunni della 5BM. AVG(Prove.Voto) 6,34
114 Query nidificate (o sottoquery) Il valore prodotto dalla esecuzione della query interna AVG(Prove.Voto) 6,34 è utilizzato nella espressione condizionale che definisce la selezione della query principale
115 Query nidificate (o sottoquery) Alunni della 5BM che conseguito nelle prove di Matematica almeno un voto superiore alla media di tutte le prove.
116 Query nidificate (o sottoquery) Alunni della 5BM che conseguito nelle prove di Matematica almeno un voto superiore alla media dei voti di tutte le prove. SELECT DISTINCT Alunni.Cognome, Alunni.Nome FROM Alunni, Prove WHERE Prove.IDAlunno = Alunni.ID AND Prove.Materia = 'Matematica' AND Prove.Voto > ( SELECT AVG(Prove.Voto) FROM Alunni, Prove WHERE Prove.IDAlunno = Alunni.ID AND ( Prove.Materia = 'Matematica' AND Alunni.Classe = '5BM') );
117 Query nidificate (o sottoquery) SELECT DISTINCT Prove.IdAlunno FROM Prove WHERE Prove.Materia = 'Matematica' AND Prove.Voto > ( SELECT AVG(Prove.Voto) FROM Alunni, Prove WHERE Prove.IDAlunno = Alunni.ID AND ( Prove.Materia = 'Matematica' AND Alunni.Classe = '5BM') );
118 Query nidificate (o sottoquery) SELECT DISTINCT Prove.IdAlunno FROM Prove WHERE Prove.Materia = 'Matematica' AND Prove.Voto > ( SELECT AVG(Prove.Voto) FROM Alunni, Prove WHERE Prove.IDAlunno = Alunni.ID AND ( Prove.Materia = 'Matematica' AND Alunni.Classe = '5BM') ); Codici degli alunni della 5BM che conseguito nelle prove di Matematica almeno un voto superiore alla media dei voti di tutte le prove.
119 Query nidificate (o sottoquery) SELECT DISTINCT Prove.IdAlunno FROM Prove WHERE Prove.Materia = 'Matematica' AND Prove.Voto > ( SELECT AVG(Prove.Voto) FROM Alunni, Prove WHERE Prove.IDAlunno = Alunni.ID AND ( Prove.Materia = 'Matematica' AND Alunni.Classe = '5BM') ); Prove.IdAlunno
120 Query nidificate (o sottoquery) SELECT DISTINCT Alunni.ComuneResidenza FROM Alunni WHERE Alunni.ID IN ( SELECT DISTINCT Prove.IdAlunno FROM Prove WHERE Prove.Materia = 'Matematica' AND Prove.Voto > ( SELECT AVG(Prove.Voto) FROM Alunni, Prove WHERE Prove.IDAlunno = Alunni.ID AND ( Prove.Materia = 'Matematica' AND Alunni.Classe = '5BM') ) );
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
DettagliCaratteristiche 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;
DettagliStructured. 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
DettagliManuale 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,
DettagliSQL 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
DettagliPROGETTAZIONE 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
DettagliLinguaggio 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
DettagliIl linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.
(Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System
DettagliSQL (STRUCTURED QUERY LANGUAGE)
SQL (STRUCTURED QUERY LANGUAGE) Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan SQL DDL Data Definition Language DML Data Manipulation Language DCL Data Control Language DDL Obiettivo: Definire la struttura
DettagliEsercitazione 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
DettagliESERCITAZIONI 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)
DettagliI.I.S. G. COSSALI - ORZINUOVI DATABASE. Marzo 2017 Prof. Dario Tomasoni 1
I.I.S. G. COSSALI - ORZINUOVI DATABASE Marzo 2017 Prof. Dario Tomasoni 1 IMPOSTAZIONE 60 min = Database concetti + Esercizi; 10 min = pausa; 30 min = Linguaggio SQL; 30 min = Database prove LibreOffice
DettagliInterrogare 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 è
DettagliIl 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,
DettagliBasi 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
DettagliSQL (STRUCTURED QUERY LANGUAGE)
SQL (STRUCTURED QUERY LANGUAGE) Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan SQL DDL Data Definition Language DML Data Manipulation Language DCL Data Control Language DDL Obiettivo: Definire la struttura
DettagliLaboratorio 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
DettagliMODULO 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,
DettagliSQL - 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
DettagliINFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. INFORMATICA GENERALE Prof. Alberto Postiglione
INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università degli Studi di Salerno 2.3b: SQL (2) Interrogazioni semplici INFORMATICA GENERALE Prof. Alberto Postiglione Scienze
DettagliUno dei principali motivi del successo delle basi di dati: è diventato uno standard
SQL [1] Concetti essenziali di SQL 2 Il linguaggio SQL Uno dei principali motivi del successo delle basi di dati: è diventato uno standard Fornisce un interfaccia dichiarativa di alto livello, permettendo
DettagliInterrogazioni 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,
DettagliEsempio 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
DettagliSQL. SQL: "storia. Sviluppato nella metà degli anni settanta (1974) presso il laboratorio di ricerca IBM di S.Josè. Dal 1983 ca. "standard di fatto"
SQL SQL: "storia Sviluppato nella metà degli anni settanta (194) presso il laboratorio di ricerca IBM di S.Josè Dal 1983 ca. "standard di fatto" E il linguaggio di riferimento per l interrogazione di DBMS
DettagliBasi 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<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
DettagliSQL. 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
DettagliV. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/2002 4.1
Modelli di Base Dati 4 Un DBMS: Access a.a. 2001/2002 4.1 DBMS 4.2 DBMS = Data Base Management System Software per la costruzione e la gestione di una base dati Esempi di DBMS: Oracle, MySQL, SQLServer,
DettagliInterrogazioni 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)
DettagliLaboratorio 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
DettagliIl 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
DettagliQuery SQL - singola tabella
Query SQL - singola tabella Informatica@SEFA 07/08 - Lezione 9 Massimo Lauria http://massimolauria.net/courses/infosefa07/ Mercoledì, 6 Dicembre 07 Tabelle in SQL Tabelle nel
DettagliElena 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
DettagliISTITUTO PARITARIO MICHELANGELO - RIMINI- PIANO DI LAVORO
ISTITUTO PARITARIO MICHELANGELO - RIMINI- PIANO DI LAVORO ANNO SCOLASTICO 2016-2017 SETTORE Economico Classe V Sez. A MATERIA DI INSEGNAMENTO: INFORMATICA STRUMENTI Paolo Camagni, Riccardo Nikolassy (2014)
DettagliSQL 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
DettagliIl linguaggio SQL. ing. Alfredo Cozzi 1
Il linguaggio SQL ing. Alfredo Cozzi 1 Il linguaggio SQL Il linguaggio SQL (Structured Query Language) è nato con l intento di soddisfare alle seguenti richieste nei db relazionali: - definire e creare
DettagliBasi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi.
Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi. Cognome: Nome: Matricola: Domanda 1 (15%) Considerare la base di dati relazionale contenente le seguenti relazioni:
DettagliIstruzioni DML di SQL
Istruzioni DML di SQL Pag. 99 par.4 1 Sintassi: Costrutto: INSERT INTO (Inserimento di dati in tabelle) INSERT INTO [(, ,, )] VALUES (, ,
DettagliDatabase 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
DettagliSELECT 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
DettagliSELECT 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
DettagliIl linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL
: fondamenti Linguaggio per gestire le basi di dati relazionali Structured Query Language SQL possiede istruzioni per definire lo schema di una base di dati relazionale leggere e scrivere i dati definire
DettagliBasi di dati I Prova di autovalutazione 30 ottobre 2014
Basi di dati I Prova di autovalutazione 3 ottobre 214 La prova verrà discussa in aula, prevedibilmente giovedì 6 novembre. Si consiglia di svolgerlo simulando l esame, sulla carta e senza ausilio di libri
DettagliGestione 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
DettagliElena 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 Trovare il codice e il numero di soci dei fornitori
DettagliSQL. SQL: una visione panoramica. SQL: "storia" Definizione dei dati
SQL SQL: una visione panoramica I lucidi presentati sono liberamente ispirati al contenuto del Capitolo 4 del libro Atzeni, Ceri, Paraboschi, Torlone Basi di dati - McGraw-Hill, 1999 Structured Query Language
DettagliQuery. 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
DettagliD B M G. Linguaggio SQL: fondamenti. Istruzione SELECT: fondamenti. Elena Baralis 2007 Politecnico di Torino 1. Struttura di base
Linguaggio SQL: fondamenti Struttura di base Clausola WHERE Ordinamento del risultato Join Funzioni aggregate Operatore GROUP BY 2007 Politecnico di Torino 1 Istruzione SELECT: esempio Trovare il codice
DettagliAlessandra 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
DettagliS.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
DettagliIL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI
IL LINGUAGGIO SQL Il linguaggio SQL ( Structured Query Languages) è un linguaggio non procedurale che è diventato uno standard tra i linguaggi per la gestione dei database relazionali. Il linguaggio procedurale
DettagliCorso di Access. Prerequisiti. Modulo L2 A (Access) Le query
Corso di Access Modulo L2 A (Access) 2.3.1 Le query 1 Prerequisiti Concetto di database relazionale Utilizzo elementare del computer Concetti fondamentali di basi di dati Interrogazione di un DB 2 1 Introduzione
DettagliSQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE
SQL e ACCESS Prof. Salvatore Multazzu (salvatoremultazzu@tiscali.it) Applicazioni Informatiche nella comunicazione Modello relazionale Entità Record o Ennuple Attributi o Campi Tipi Chiavi Primarie (PK)
DettagliIntroduzione a MySQL. Definizione SQL. Esempio
Introduzione a MySQL Moreno Marzolla Dipartimento di Informatica Università Ca' Foscari di Venezia marzolla@dsi.unive.it http://www.dsi.unive.it/~marzolla Definizione Una tabella (o relazione) è costituita
DettagliInterrogazioni 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
DettagliAtzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : SQL SQL originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia
DettagliSQL: DDL, VI, Aggiornamenti e Viste
SQL: DDL, VI, Aggiornamenti e Viste 1 SQL è più di un semplice linguaggio di interrogazione v Linguaggio di definizione dati (Data-definition language, DDL): Crea/distrugge/modifica relazioni e viste Definisce
DettagliCORSO 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
DettagliBasi 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
DettagliSQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)
1 SQL Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) a.a. 2017/2018 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2017-18.htm Prof.ssa Francesca A. Lisi francesca.lisi@uniba.it
DettagliIntroduzione al linguaggio SQL
Introduzione al linguaggio SQL Structured Query Language (Linguaggio Strutturato di Interrogazione di Database) prof. Cleto Azzani IPSIA MORETTO BRESCIA (2004) Che cos è un Data Base (Base di dati) Insieme
DettagliSQL: 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
DettagliDATABASE PER IL WEB. Programmazione Web 1
DATABASE PER IL WEB Programmazione Web 1 Archite3ura web con database Client Tier Web/App Tier DB Tier Client Web / App Server Database Il server web comunica con un altro server che con8ene il la banca
DettagliLaboratorio di Basi di Dati Per Bioinformatica
Laboratorio di Basi di Dati Per Bioinformatica Laurea in Bioinformatica - A.A. 2010/11 Docente: Carlo Combi Email: carlo.combi@univr.it Lezione 1 SQL Structured Query Language SQL è stato definito nel
DettagliInterrogazioni 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
DettagliI comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER
Caratteristiche generali del linguaggio SQL Il linguaggio SQL è il linguaggio usato per la gestione dei database relazionali, cioè dei database creati con un DBMS di tipo relazionale. Esso nacque nella
DettagliAccess. P a r t e t e r z a
Access P a r t e t e r z a 1 Query: Concetti generali (2) Query 1 Tabella Query 2 Le query rappresentano viste differenti sul DB (possono coinvolgere una o più tabelle) 2 Creazione (1) Diverse possibilità,
DettagliData base relazionale ed SQL. Modello relazionale dei data base e il linguaggio standard per la loro gestione
Data base relazionale ed SQL Modello relazionale dei data base e il linguaggio standard per la loro gestione Contenuti Modello relazionale Cenni sulla progettazione di un data base Normalizzazione delle
DettagliAppunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov.
Appunti di MySql Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov. Indice generale avviare la shell mysql...2 comandi SQL per la gestione del database (DDL)...2 visualizzare l'elenco
Dettagli----------------------------------------------------------------------------
APPUNTI DI SQL Gli appunti qui forniti vogliono essere un riferimento scritto di alcuni degli argomenti trattati a lezione per gli studenti a cui vengono messi a disposizione. Non viene fornita alcuna
DettagliTabelle esempio: Impiegato/Dipartimento
Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (4) Query di aggiornamento Prof. Alberto Postiglione
DettagliPrincipi di Progettazione del Software a.a Il linguaggio SQL. Prof. Luca Mainetti Università del Salento
Principi di Progettazione del Software a.a. 2016-2017 Prof. Università del Salento Linguaggi per DBMS Il modello relazionale definisce i concetti generali ed i vincoli per modellare e strutturare i dati
DettagliDUE GRUPPI DI COMANDI
LEZIONE16 SQL DDL PAG. 1 / 9 PROF. ANDREA ZOCCHEDDU LEZIONE16 SQL DDL LINGUAGGIO SQL DATA DESCRIPTION LANGUAGE DUE GRUPPI DI COMANDI I comandi del linguaggio SQL sono divisi in due grandi gruppi che formano
DettagliCorso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati) Lezione 6 (15 gennaio 2009) Linguaggio SQL: Data Definition Language (DDL) Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof.
DettagliElena 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
DettagliLABORATORIO di INFORMATICA
Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto IL MODELLO RELAZIONALE http://www.diee.unica.it/giacinto/lab
DettagliVARIABILI, ASSEGNAZIONE, DECISIONI
LEZIONE-TSQL-03 PROGRAMMAZIONE (VER02) PAG. 1 / 6 LEZIONE-TSQL-03 PROGRAMMAZIONE (VER02) T-SQL PROGRAMMAZIONE PARTE TERZA VARIABILI, ASSEGNAZIONE, DECISIONI Tratto da Gregory A. Larsen, http://www.databasejournal.com/features/mssql/article.php/3087431/t-sql-programming-part-1---defining-variables-and-if-logic.htm
DettagliEsercitazione: Interrogazioni SQL
Laurea in Ingegneria Informatica SAPIENZA Università di Roma Insegnamento di Basi di Dati Esercitazione: Interrogazioni SQL Domenico Fabio Savo 1 Sommario 1. Creazione del database utilizzato per l esercitazione
DettagliBasi di Dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL
Basi di Dati Il Linguaggio SQL Il Linguaggio SQL SQL (Structured Query Language) è di fatto lo standard tra i linguaggi per la gestione di basi di dati relazionali è un linguaggio dichiarativo (non-procedurale),
DettagliUniversita 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
DettagliLaboratorio di Basi di Dati
Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 1 SQL SQL (Structured Query Language) è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali. Sono stati proposti
DettagliDBMS (Data Base Management System)
Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire
DettagliSQL - 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)
DettagliDichiarazione degli schemi in SQL DDL 1
Dichiarazione degli schemi in SQL DDL 1 Storia di SQL Definito nell'ambito del progetto SYSTEM R (IBM S. JOSE) nel 1976 Nome originario: SEQUEL Adottato progressivamente da tutti i sistemi commerciali
DettagliMicrosoft 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
Dettagli2.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
DettagliIntroduzione alle basi di dati
Introduzione alle basi di dati Marco Botta botta@di.unito.it www.di.unito.it/~botta/didattica/bioinfo.html 1 Sistema Informativo Insieme di strutture in grado di acquisire, elaborare, trasmettere ed archiviare
DettagliLe 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
DettagliCorso base SQLite. Copyright (c) 2015 Antonio Gallo
Corso base SQLite Copyright (c) 2015 Antonio Gallo (antoniog.web@gmail.com) Il seguente documento è rilasciato sotto licenza Creative Commons 2.5 Attribution Share alike. Per leggere una copia della licenza
DettagliTipi 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
DettagliBasi 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
DettagliBasi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL
Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,
DettagliIntroduzione Sql con Microsoft Access
Introduzione Sql con Microsoft Access SQL (Structured Query Language) è un linguaggio per l interrogazione del database che permette anche di leggere, modificare, creare, eliminare e gestire i dati all
DettagliESERCIZI SQL. Esercizio 1
ESERCIZI SQL 2 Esercizio 1 3 Esercizio 1 4 Esercizio 1 Si specifichino le seguenti interrogazioni SQL sulla base di dati relazionale AZIENDA. Si mostri il risultato di ciascuna interrogazione. 1. Si restituisca
DettagliCorso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.
Programma 30 set 205 Installazione Macchina Virtuale Introduzione alla BI nelle Aziende Introduzione SQL Macchina Virtuale È un emulazione di un computer su un altro computer Stesso punto di partenza per
DettagliBibliografia. INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. Definizione di DB e di DBMS
INFORMATICA GENERALE DBMS: Introduzione alla gestione dei dati Bibliografia 4 ott 2011 Dia 2 Curtin, Foley, Sen, Morin Vecchie edizioni: 8.4, 8.5, 8.6, 8.7, 8.8 Edizione dalla IV in poi: 6.5, 21.1, 19.4,
DettagliSTUDIO. Esercizi proposti a lezione cap. 3 rev. dic. 2007 da Ulmann, Widom Introduzione ai database. indirizzo. titolo. nome. recitain. attori.
Basi di dati ad oggetti:un esempio ODL-OQL 1. Caso filmoteca: modello dei dati lunghezza tipo_pellicola via città indirizzo titolo anno FILM attori recitain ATTORE nome posseduto da lunghezza_in_ore (
DettagliDATA BASE MANAGEMENT SYSTEM
DATA BASE (1) Problematica gestione dati: oggetti delle elaborazioni, difficili da gestire, memorizzare, reperire, modificare; talvolta ridondanti/incongruenti; non sufficientemente protetti; spesso comuni
DettagliFiltri. 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 è
DettagliRipasso Concetti Pratica in Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 3
ECDL - Database Ripasso European Computer Driving Licence - Modulo 5 - Database LEZIONE 3 Ripasso Cosa sono le relazioni? Come si gestiscono le relazioni in Access? Cosa si intende per query? Come interroghiamo
Dettagli