Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)

Slides:



Advertisements
Presentazioni simili
Interrogazioni Semplici Le operazioni di interrogazione vengono specificate per mezzo dellistruzione select select ListaAttributi from ListaTabelle [where.
Advertisements

TIPI STANDARD DI SQL BOOLEAN Valori: vero, falso CHAR(n)
DBMS (DataBase Management System)
SQL applicato a SQL Server
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Algebra relazionale Presentazione 12.1
SQL92 e XQuery1.0 a confronto1 SQL92 E XQUERY1.0 A CONFRONTO Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria - Sede di Modena Corso.
Biglietti e Ritardi: schema E/R
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
SQL.
SQL Structured Query Language
19/01/2014 Viste. 19/01/2014 Viste Le Viste Logiche o Viste o View possono essere definite come delle tabelle virtuali, i cui dati sono riaggregazioni.
1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) SQL: Data Manipulation Language (DML) Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi,
SQL per la modifica di basi di dati. 29/01/2014SQL per la modifica di basi di dati2 Data Manipulation Language Introduciamo ora il Data Manipulation Language.
Laboratorio di Basi di Dati Introduzione ad Access 2ª Parte.
Access: Query semplici
Basi di dati Università Degli Studi Parthenope di Napoli
SQL: Lezione 7 Nataliya Rassadko
SQL Per la modifica di basi di dati
SQL Per la definizione di basi di dati SQL per definire ed amministrare Ogni utente puo definire una base di dati di cui diventa lamministratore potendo.
Esercitazione.
Duplicati Lalgebra relazionale non ammette duplicati, SQL li ammette. Quindi select Città from Persona where Cognome= Rossi estrae una lista di città in.
SELECT STATEMENT Clausola WHERE permette di limitare il numero di record da estrarre SELECT */ [DISTINCT] colonna/ espressione [alias],… FROM table [WHERE.
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
SQL basato su ANSI (American National Standards Institute) – standard SQL SQL – Structured Query Language è un linguaggio dichiarativo e permette di comunicare.
In questa lezione Introduzione La query di selezione
Basi di dati Claudia Raibulet
SQL: Structured Query Language
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL OPERATORI INSIEMISTICI IN SQL Siano due tabelle: GiochiSolitari(CodiceGioco, NomeGioco, PrezzoGioco)
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
Introduzione a Oracle 9i
Basi di Dati e Sistemi Informativi
Realizzato da Roberto Savino
sql: esempi di linguaggio sql nell'implementazione mysql
SQL.
BIOINFO3 - Lezione 51 INSERIMENTO DEI DATI Visto come si creano le tabelle (sinora tristemente vuote), cominciamo ad occuparci di come riempirle con dei.
DATABASE Introduzione
Sistemi Informativi Insieme di “strutture” in grado di acquisire, elaborare, trasmettere ed archiviare informazioni in genere ad uso di un’organizzazione.
Informatica II – Basi di Dati (07/08) – Parte 2 Gianluca Torta Dipartimento di Informatica dell’Università di Torino
SQL Interrogazioni. 2 Interrogazioni in SQL Non esiste un SQL standard (vari dialetti) Formulazione di interrogazioni (query) è parte del Data Manipulation.
Microsoft Access (parte 5) Introduzione alle basi di dati Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Interrogare il database
SEFOC – SETTORE FORMAZIONE CONTINUA DEL PERSONALE CORSO MYSQL AVANZATO ROBERTO PENNOLINO – CARMELO MASSIMO PRIOLO PALERMO – 07 | 06 | 2011.
Microsoft Access Query (II), filtri.
Le query in SQL Unità didattica sviluppata per l’ITIS “A. Volta” – Classe 5 sez. I Ing Domenico Liguori - Università degli studi di Napoli “Federico.
Pagine ASP parte 3 I data base Stefano Schacherl.
Microsoft Access Maschere (II).
Il Linguaggio SQL. Le interrogazioni in SQL (continua…) La parte di SQL dedicata alla formulazione di interrogazioni fa parte del DML. SQL esprime le.
SQL, esempi 30/10/2014Basi di dati SQL1. 30/10/2014Basi di dati SQL2 CREATE TABLE, esempi CREATE TABLE corsi( codice numeric NOT NULL PRIMARY KEY, titolo.
Algebra relazionale (III). Esempi di Interrogazioni: 3 Trovare matricola e nome dei capi i cui impiegati guadagnano tutti più di Tutti gli impiegati?
Interrogazioni (parte 2)
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
Interrogazioni Le interrogazioni in SQL sono formulate in modo dichiarativo specificando cioè cosa si vuole ottenere e non come lo si vuole ottenere. L’interrogazione.
Query languages per Basi di Dati Relazionali  Algebra Relazionale:  basato sulla teoria degli insiemi  procedurale  usato per l’implementazione di.
Vincoli Interrelazionali Per i vincoli visti l’inserimento di un valore che li viola viene semplicemente impedito. In caso di vincoli di integrità referenziale,
Vincoli interrelazionali
Raggruppamenti e target list scorretta select padre, avg(f.reddito), p.reddito from persone f join paternita on figlio = nome join persone p on padre =
Lezione 6 - SQL. Linguaggi per DB Per interagire con le basi di dati occorre un linguaggio Linguaggio SQL (Structured Query Language), linguaggio standardizzato.
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Interrogazioni Le interrogazioni in SQL sono formulate in modo dichiarativo specificando cioè cosa si vuole ottenere e non come lo si vuole ottenere. L’interrogazione.
Funzionalità del DBMS relazionale l Funzioni per –definizione della base di dati –inserimento / rimozione /aggiornamento di informazioni deve soddisfare.
Approfondimenti SQL.
Microsoft Access Filtri, query. Filtri Un filtro è una funzione che provoca la visualizzazione dei soli record contenenti dati che rispondono a un certo.
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
SQL Linguaggio per l’interrogazione di una base dati.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
SQLite. Introduzione a SQLite Oltre alla possibilità di memorizzare informazioni persistenti attraverso Preferences e files, Android mette a disposizione.
Il linguaggio SQL (Structured Query Language) è il linguaggio standard per creare, manipolare e interrogare database relazionali. SQL non è case-sensitive:
Esercizi SQL Group by. CREATE TABLE dipendente (codDip CHAR(8) NOT NULL UNIQUE PRIMARY KEY, cognome CHAR(60) NOT NULL, nome CHAR(60) NOT NULL, stipendio.
Transcript della presentazione:

Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)

Presentazione 13.1 Structured Query Language (SQL) Sql è un linguaggio standard che permette di operare con i DBMS quali Access, Oracle, Microsoft SQL Server, Informix, DB2,... E linguaggio dichiarativo: specifica le proprietà del risultato. Permette di: –inserire, modificare e cancellare dei dati da database –prelevare, elaborare e visualizzare dati in diversi modi –effettuare operazioni quali creazione e cancellazione di tabelle e database.

Informatica Generale (Prof. Luca A. Ludovico) Presentazione 13.1 Il costrutto SELECT Permette di estrarre alcuni (o tutti) gli attributi di una tabella. Sintassi semplificata: SELECT attributi FROM nome_tabella attributi può essere: –il nome di un solo attributo dello schema di nome_tabella; –il nome di più attributi dello schema, separati da virgole; –il carattere speciale *, che considera tutti gli attributi. In questa forma, SELECT è la proiezione dellalgebra relazionale

SELECT Nome FROM Artisti Attenzione alla cardinalità della relazione SELECT Cognome, Nome FROM Artisti SELECT * FROM Artisti Informatica Generale (Prof. Luca A. Ludovico) Presentazione 13.1 SELECT: esempi NomeCognomeOpera RiccardoMutiTosca RiccardoChaillyBoheme GiuseppeSinopoliAida DanieleGattiRigoletto Artisti

Informatica Generale (Prof. Luca A. Ludovico) Presentazione 13.1 La clausola WHERE Luso di WHERE in una SELECT permette di estrarre alcuni (o tutti) i dati di una tabella in base a determinati criteri espressi nella clausola WHERE. Sintassi: SELECT attributi FROM tabella WHERE condizioni Le condizioni sono espressioni booleane da soddisfare. Sono ammessi gli operatori booleani AND, OR e NOT. In questa forma, SELECT è in generale la proiezione su attributi di una selezione (basata su condizioni) in algebra relazionale SELECT * FROM tabella WHERE condizioni è la pura selezione dellalgebra relazionale.

Informatica Generale (Prof. Luca A. Ludovico) Presentazione 13.1 La clausola WHERE: sintassi delle condizioni Operatori di confronto ammessi: = uguale < minore > maggiore <> diverso <= minore o uguale >= maggiore o uguale LIKE contiene Se il valore dellattributo deve essere confrontato con testo, allora il testo deve essere incluso tra gli apici ', mentre se esso deve essere confrontato con un numero, gli apici non devono essere utilizzati.

SELECT * FROM Artisti WHERE Opera = Aida SELECT Cognome FROM Artisti WHERE Nome <> Riccardo SELECT * FROM Artisti WHERE Opera = Aida AND Recite > 6 Informatica Generale (Prof. Luca A. Ludovico) Presentazione 13.1 SELECT… FROM … WHERE: esempi NomeCognomeOperaRecite RiccardoMutiTosca8 RiccardoChaillyBoheme10 GiuseppeSinopoliAida7 DanieleGattiAida4 Artisti

Informatica Generale (Prof. Luca A. Ludovico) Presentazione 13.1 Sintassi di LIKE e il carattere speciale % LIKE permette di ricercare allinterno dei valori degli attributi parole, numeri o parti di essi (iniziali, centrali e finali). Per restituire come risultati tutti i dati che sono presenti nella colonna Nome e che iniziano per m: SELECT Nome FROM Artisti WHERE Nome LIKE m Per cercare invece nomi che finiscono per ele si utilizza la seguente query: SELECT Nome FROM Artisti WHERE Nome LIKE %ele Infine per cercare le tuple ove i cognomi iniziano, terminano o contengono la r, si utilizza la seguente query: SELECT * FROM Artisti WHERE Cognome LIKE '%r%'

Informatica Generale (Prof. Luca A. Ludovico) Presentazione 13.1 La condizione BETWEEN … AND BETWEEN... AND è un caso particolare di condizione, quindi posto dopo WHERE, che serve a prelevare dati il cui valore è compreso tra due valori (estremi esclusi). Sintassi: SELECT attributi FROM tabella WHERE attributo BETWEEN valore1 AND valore2 Esempio: SELECT * FROM Artisti WHERE (Recite BETWEEN 5 AND 20) AND (Nome = Riccardo)

Informatica Generale (Prof. Luca A. Ludovico) Presentazione 13.1 La clausola DISTINCT DISTINCT è una parola chiave che si pone immediatamente dopo SELECT per non ripetere nei risultati lo stesso valore. Sintassi: SELECT DISTINCT attributi FROM tabella … LSQL ammette (al contrario dellAlgebra relazionale) valori ripetuti. La clausola DISTINCT serve ad evitare tale situazione. Esempio: SELECT DISTINCT Nome FROM Artisti

Informatica Generale (Prof. Luca A. Ludovico) Presentazione 13.1 ORDER BY Ordina i risultati in ordine crescente (ORDER BY attributi) o decrescente (ORDER BY attributi DESC) secondo i valori di uno o più attributi. Sintassi: SELECT DISTINCT attributi FROM tabella WHERE condizioni ORDER BY attributi [DESC] Se si vuole ordinare per più attributi, essi devono essere separati da virgole. Lordine di valutazione è da sinistra verso destra.

Informatica Generale (Prof. Luca A. Ludovico) Presentazione 13.1 Costrutto AS Svolge loperazione di ridenominazione sugli attributi estrapolati tramite unistruzione di SELECT Sintassi: SELECT attr_1 AS alias_1, …, attr_n AS alias_n FROM tabella WHERE condizione … Esempio: SELECT Recite AS NumeroDiRecite FROM Artisti

Informatica Generale (Prof. Luca A. Ludovico) Presentazione 13.1 Funzione COUNT Conta le tuple di una relazione. Si pone immediatamente dopo unistruzione di SELECT, e consente di specificare DISTINCT per eliminare i duplicati nei valori degli attributi. Il risultato della query è un numero. Sintassi: SELECT COUNT (attributi) FROM tabella Esempi: SELECT COUNT (*) FROM Artisti SELECT DISTINCT COUNT (Nome) FROM Artisti

Informatica Generale (Prof. Luca A. Ludovico) Presentazione 13.1 Funzioni MIN, MAX e AVG Posti immediatamente dopo SELECT, permettono di selezionare il valore minimo, il valore massimo ed il valore medio di una serie di valori di un attributo. Tali operazioni sono definite solo su particolari domini. Sintassi: SELECT {MIN | MAX | AVG} (attributo) FROM tabella … Esempi: SELECT MIN (Nome) FROM Artisti SELECT MAX (Opera) FROM Artisti SELECT AVG (Recite) FROM Artisti

Informatica Generale (Prof. Luca A. Ludovico) Presentazione 13.1 Costrutto INSERT INTO Inserisce una nuova tupla allinterno di una relazione di schema dato. Sintassi: INSERT INTO tabella VALUES (valore_1, …, valore_n) per inserire una tupla completa secondo lordine dello schema, oppure INSERT INTO tabella (attributo_1, …, attributo_n) VALUES (valore_1, …, valore_n) per specificare lordine dei valori, o non valorizzare tutti gli attributi.

INSERT INTO Artisti VALUES (Antonio, Pappano, Rigoletto, 1) INSERT INTO Artisti (Cognome, Nome) VALUES (Toscanini, Arturo) Informatica Generale (Prof. Luca A. Ludovico) Presentazione 13.1 INSERT… INTO: esempio NomeCognomeOperaRecite RiccardoMutiTosca8 RiccardoChaillyBoheme10 GiuseppeSinopoliAida7 DanieleGattiAida4 Artisti NomeCognomeOperaRecite RiccardoMutiTosca8 RiccardoChaillyBoheme10 GiuseppeSinopoliAida7 DanieleGattiAida4 AntonioPappanoRigoletto1 ArturoToscanini

Informatica Generale (Prof. Luca A. Ludovico) Presentazione 13.1 Costrutto UPDATE Aggiorna tuple già inserite che rispondono a una certa condizione Sintassi: UPDATE tabella SET attributo = valore WHERE condizione Esempio: UPDATE Artisti SET Nome = Edoardo WHERE Cognome LIKE %m%

Informatica Generale (Prof. Luca A. Ludovico) Presentazione 13.1 Costrutto DELETE FROM Elimina le tuple che soddisfano una data condizione Sintassi: DELETE FROM tabella WHERE condizione Esempio: DELETE FROM Artisti WHERE Recite < 1 OR Opera = Aida

Informatica Generale (Prof. Luca A. Ludovico) Presentazione 13.1 Prodotto cartesiano e join SELECT * FROM tabella1, tabella2 SELECT * FROM tabella1, tabella2 WHERE tabella1.attr1 = tabella2.attr2 SELECT * FROM tabella1 JOIN tabella2 ON tabella1. attr1 = tabella2. attr2 Varianti: invece di JOIN, è possibile usare LEFT JOIN o RIGHT JOIN