Lezione 6 - SQL. Linguaggi per DB Per interagire con le basi di dati occorre un linguaggio Linguaggio SQL (Structured Query Language), linguaggio standardizzato.

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)
Structured Query Language
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B1 Introduzione alle basi di dati.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
1 DATA BASE GESTIONE VENDITE. 2 QUERY1 Per ogni Cognome di Rappresentante e Descrizione di Prodotto calcolare la somma delle quantità vendute: Somma (Quantità)
DML – Data Manipulation Language
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
SQL Dati i seguenti schemi relazionali:
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.
Luglio 2004Memorie Tradizionali1 MEMORIE TRADIZIONALI Luglio 2004.
Corso di Informatica (Basi di Dati)
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.
Basi di dati Università Degli Studi Parthenope di Napoli
SQL: Lezione 7 Nataliya Rassadko
Esercitazione.
Equivalenza di espressioni
Duplicati Lalgebra relazionale non ammette duplicati, SQL li ammette. Quindi select Città from Persona where Cognome= Rossi estrae una lista di città in.
SQL SQL (pronunciato anche come l’inglese sequel) è l’acronimo di Structured Query Language (linguaggio di interrogazione strutturato) E’ un linguaggio.
Daniel Stoilov Tesi di Laurea
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.
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.
Realizzato da Roberto Savino
1 Il Linguaggio SQL Il Linguaggio SQL Prof. Lorenzo Vita, Ing. Luigi Testa.
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi Il Linguaggio SQL Home page del corso:
BIOINFO3 - Lezione 51 INSERIMENTO DEI DATI Visto come si creano le tabelle (sinora tristemente vuote), cominciamo ad occuparci di come riempirle con dei.
Sistemi Informativi Insieme di “strutture” in grado di acquisire, elaborare, trasmettere ed archiviare informazioni in genere ad uso di un’organizzazione.
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.
Basi di dati I Prof.ssa Rosalba Giugno Prof. Alfredo Pulvirenti SQL :Structured Query Language: SELECT (IV) SQL (Slide tratte in parte da da Atzeni, Ceri,
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.
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?
IV D Mercurio DB Lezione 2
Microsoft Access Query (III).
1 Basi di Dati S tructured Q uery L anguage Appunti Matteo Longhi.
Interrogazioni (parte 2)
MySQL Database Management System
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.
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 =
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015 UdA 1A Database Progettazione Fisica G IORGIO P ORCU
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Lezione 5 - SQL. Linguaggi per DB Per interagire con le basi di dati occorre un linguaggio Linguaggio SQL (Structured Query Language), linguaggio standardizzato.
Funzionalità del DBMS relazionale l Funzioni per –definizione della base di dati –inserimento / rimozione /aggiornamento di informazioni deve soddisfare.
Approfondimenti SQL.
Basi di Dati e Sistemi Informativi Esercitazione: Il Linguaggio SQL (DDL+DML) Home page del corso:
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.
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.
Lezione 4 – Linguaggi ed Interazione. Linguaggi La comunicazione è essenziale tra gli esseri umani Se vogliamo chiedere informazioni stradali ad un passante.
Transcript della presentazione:

Lezione 6 - SQL

Linguaggi per DB Per interagire con le basi di dati occorre un linguaggio Linguaggio SQL (Structured Query Language), linguaggio standardizzato per basi dati, progettato per: Creare e modificare schemi di database DDL (Data Definition Language) Inserire, Modificare e gestire dati memorizzati DML (Data Manipulation Language Interrogare i dati memorizzati DQL (Data Query Language) Creare e gestire strumenti di controllo ed accesso ai dati DCL (Data Control Language)

Definizione del Problema Supponiamo di avere una base di dati per gestire una struttura ospedaliera Ci occorre un elenco dei nomi e cognomi dei medici Attenzione, vogliamo che chi legga non venga a conoscenza dello stipendio

Interrogazioni SQL Dobbiamo Selezionare solo ed esclusivamente i campi che ci interessano di una tabella SELECT campo1, campo2 FROM NomeTabella Il Carattere * permette di selezionare tutti i campi della tabella SELECT * FROM NomeTabella

Esempio Ci occorre un elenco dei nomi e cognomi dei medici MatricolaCognomeNomeSpecializzazioneSalario 1RossiMarioCardiologia VerdiAntonio GialliCiroCardiologia BianchiAnna48000

Esempio SELECT Cognome, Nome FROM Medici MatricolaCognomeNomeSpecializzazioneSalario 1RossiMarioCardiologia VerdiAntonio GialliCiroCardiologia BianchiAnna48000 CognomeNome RossiMario VerdiAntonio GialliCiro BianchiAnna

Più specifici Se vogliamo conoscere i medici che hanno specializzazione in urologia? MatricolaCognomeNomeSpecializzazioneSalario 1RossiMarioCardiologia VerdiAntonioUrologia GialliCiroCardiologia RossiAnnaOrtopedia48000

Condizione - Where SELECT Nome, Cognome FROM Medici WHERE Specializzazione = ‘Urologia’ MatricolaCognomeNomeSpecializzazioneSalario 1RossiMarioCardiologia VerdiAntonioUrologia GialliCiroCardiologia RossiAnnaOrtopedia48000 MatricolaCognomeNomeSpecializzazio ne Salario 2VerdiAntonioUrologia45000

Operatori AND e OR Siamo interessati ad individuare il salario dei medici con cognome Rossi specializzati in Ortopedia Le condizioni da rispettare sono due: Cognome = Rossi Specializzazione = Ortopedia

Operatore AND SELECT Salario FROM Medici WHERE Cognome=‘Rossi’ AND Specializzazione=‘Ortopedia’ MatricolaCognomeNomeSpecializzazioneSalario 1RossiMarioCardiologia VerdiAntonioUrologia GialliCiroCardiologia RossiAnnaOrtopedia48000 Salario 48000

Operatore OR Siamo interessati ad individuare il salario dei medici specializzati in Ortopedia oppure Urologia Le condizioni di interesse sono due: Specializzazione = Urologia Specializzazione = Ortopedia

Operatore OR SELECT Salario FROM Medici WHERE Specializzazione=‘Urologia’ OR Specializzazione=‘Ortopedia’ MatricolaCognomeNomeSpecializzazioneSalario 1RossiMarioCardilogia VerdiAntonioUrologia GialliCiroCardilogia RossiAnnaOrtopedia48000 Salario

Funzioni Count - conta Sum - somma Avg - media Max - massimo Min - minimo

Count Restituisce il numero di righe che soddisfano la condizione specificata nella clausola WHERE Es. Vogliamo conoscere il numero dei medici specializzati in Cardiologia

Count Vogliamo conoscere il numero dei medici specializzati in Cardiologia SELECT COUNT(*) FROM Medici WHERE Specializzazione = ‘Cardiologia’ MatricolaCognomeNomeSpecializzazioneSalario 1RossiMarioCardiologia VerdiAntonioUrologia GialliCiroCardiologia RossiAnnaOrtopedia

Sum Questa funzione somma tutti i valori di una colonna Es. Quanto costano i medici in termini di stipendi?

Sum Quanto costano i medici in termini di stipendi? SELECT SUM(Salario) FROM Medici MatricolaCognomeNomeSpecializzazioneSalario 1RossiMarioCardiologia VerdiAntonioUrologia GialliCiroCardiologia RossiAnnaOrtopedia

Sum Quanto costano i medici Cardiologi in termini di stipendi? SELECT SUM(Salario) FROM Medici WHERE Specializzazione = ‘Cardiologia’ MatricolaCognomeNomeSpecializzazioneSalario 1RossiMarioCardiologia VerdiAntonioUrologia GialliCiroCardiologia RossiAnnaOrtopedia

AVG Calcola la media aritmetica dei valori di una colonna ES. Quant’è la media degli stipendi dei medici? MatricolaCognomeNomeSpecializzazioneSalario 1RossiMarioCardiologia VerdiAntonioUrologia GialliCiroCardiologia RossiAnnaOrtopedia48000

AVG Quant’è la media degli stipendi dei medici? SELECT AVG(Salario) FROM Medici MatricolaCognomeNomeSpecializzazioneSalario 1RossiMarioCardiologia VerdiAntonioUrologia GialliCiroCardiologia RossiAnnaOrtopedia

AVG Quant’è la media degli stipendi dei medici Cardiologi? SELECT AVG(Salario) FROM Medici WHERE Specializzazione = ‘Cardiologia’ MatricolaCognomeNomeSpecializzazioneSalario 1RossiMarioCardiologia VerdiAntonioUrologia GialliCiroCardiologia RossiAnnaOrtopedia

Max Questa funzione calcola il valore massimo di una colonna Es. Vogliamo conoscere l’ammontare dello stipendio maggiore dei medici

Max Vogliamo conoscere l’ammontare dello stipendio maggiore dei medici SELECT MAX(Salario) FROM Medici MatricolaCognomeNomeSpecializzazioneSalario 1RossiMarioCardiologia VerdiAntonioUrologia GialliCiroCardiologia RossiAnnaOrtopedia48000

Min Questa funzione calcola il valore minimo di una colonna Es. Vogliamo conoscere l’ammontare dello stipendio minimo dei medici

Min Vogliamo conoscere l’ammontare dello stipendio minimo dei medici SELECT MIN(Salario) FROM Medici MatricolaCognomeNomeSpecializzazioneSalario 1RossiMarioCardiologia VerdiAntonioUrologia GialliCiroCardiologia RossiAnnaOrtopedia

MAX e MIN sui Caratteri Le funzioni di MAX e MIN possono essere utilizzate anche sui caratteri La stringa ‘AAA’ è minore di ‘BB’ Quindi non si opera sul numero dei caratteri, bensì sulle lettere La stringa ‘Maria’ è maggiore di ‘Giovanna’

JOIN Il vocabolo join significa unione In SQL si intende unione di tabelle E’ importante perché ci permette di visualizzare dati appartenenti a tabelle diverse

Natural Join Il Natural Join è un tipo di operazione che ci permette di correlare due o più tabelle sulla base di valori uguali in attributi contenenti lo stesso tipo di dato Vogliamo un Join delle righe delle due tabelle dove i valori dei campi Proprietario e Patente sono uguali PatenteCognome 154Blu 231Verdi 376Gialli 473Rossi ProprietarioTarga 341ab22ed 473cd352ma 154na659nx 457az649cd

Natural Join Vogliamo un Join delle righe delle due tabelle dove i valori dei campi Proprietario e Patente sono uguali SELECT * FROM Persone, Auto WHERE Patente = Proprietario PatenteCognome 154Blu 231Verdi 376Gialli 473Rossi ProprietarioTarga 341ab22ed 473cd352ma 154na659nx 457az649cd

Natural Join SELECT * FROM Persone, Auto WHERE Patente = Proprietario PatenteCognomeProprietarioTarga 154Blu154na659nx 473Rossi473cd352ma