SQL Structured Query Language

Slides:



Advertisements
Presentazioni simili
TIPI STANDARD DI SQL BOOLEAN Valori: vero, falso CHAR(n)
Advertisements

Structured Query Language
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B1 Introduzione alle basi di dati.
SQL applicato a SQL Server
© 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 Comandi per la manipolazione dei dati. 2 Tipi di comandi INSERT UPDATE DELETE COMANDI COMANDI 2.
Sistemi per il recupero delle informazioni
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
1 SQL come linguaggio di definizione di dati Eugenio Di Sciascio.
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Massimo Mancino MODULO DIDATTICO - Ambienti.
SQL.
Sistemi di Elaborazione delle Informazioni Modello Relazionale
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.
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. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
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.
Equivalenza di espressioni
Modello Relazionale Definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso.
SQL SQL (pronunciato anche come l’inglese sequel) è l’acronimo di Structured Query Language (linguaggio di interrogazione strutturato) E’ un linguaggio.
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
SELECT STATEMENT Clausola WHERE permette di limitare il numero di record da estrarre SELECT */ [DISTINCT] colonna/ espressione [alias],… FROM table [WHERE.
Transazioni.
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.
Creazione e manipolazione tabelle. TABELLE una tabella può essere creata in qualsiasi momento,anche quando gli utenti stanno usando il database la struttura.
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
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
Creazione di un database MySQL
DAGLI ARCHIVI AI DATABASE
Realizzato da Roberto Savino
Corso di Basi di Dati Il Linguaggio SQL Home page del corso:
sql: esempi di linguaggio sql nell'implementazione mysql
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:
SQL.
BIOINFO3 - Lezione 51 INSERIMENTO DEI DATI Visto come si creano le tabelle (sinora tristemente vuote), cominciamo ad occuparci di come riempirle con dei.
LINGUAGGIO S Q L breve presentazione curata da Aldo Pappalepore
SQL (IV) Data Definition Language/ Data Manipulation Language.
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?
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
1 Basi di Dati S tructured Q uery L anguage Appunti Matteo Longhi.
Il linguaggio SQL.
SQL (III) Data Definition Language/ Data Manipulation Language.
MySQL Database Management System
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
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
Lezione 6 - SQL. Linguaggi per DB Per interagire con le basi di dati occorre un linguaggio Linguaggio SQL (Structured Query Language), linguaggio standardizzato.
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015 UdA 1A Database Progettazione Fisica G IORGIO P ORCU
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:
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
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:

SQL Structured Query Language Linguaggio non procedurale o di tipo dichiarativo. È ormai da tempo uno degli standard tra i linguaggi per basi di dati relazionali. 27/03/2017 Daniela Musio

Versioni Prima versione introdotta da IBM alla fine degli anni 1970 Negli anni 1980 viene introdotto il termine SQL SQL-2 (1992) SQL-3 (implementa nuove caratteristiche come la ricorsione e funzionalità per il trattamento degli oggetti) Il linguaggio SQL è presente in diverse versioni o dialetti, che sono in genere aderenti agli standard internazionali ANSI (American National Standards Institute) e ISO (International Standards Organization). Le differenze tra tali versioni possono essere facilmente individuate attraverso la documentazione elettronica o cartacea fornita dai prodotti software che le implementano. Tutte si rifanno alla versione dello standard adottato nel 1992, detto SQL-2. 27/03/2017 Daniela Musio

Modalità di utilizzo Il linguaggio SQL può essere utilizzato in modalità: stand-alone o a sé stante embedded o linguaggio ospite 27/03/2017 Daniela Musio

Nome Tabella.NomeAttributo Identificatori Identificatori = nomi di tabelle e di attributi max 18 caratteri (devono iniziare con una lettera e possono contenere il carattere “_”) Nome Tabella.NomeAttributo Quando è necessario identificare il nome di un attributo della tabella occorre indicare sia il nome della tabella sia il nome dell’attributo separati dal “.” 27/03/2017 Daniela Musio

Le costanti si rappresentano con gli apici ‘ ’,o i doppi apici” “ Tipi di dati Character(n), Char(n) Stringhe di caratteri di lunghezza n, con n che può variare da 1 a 15.000 Date Data nella forma MM/GG/AA Time Ora nella forma HH:MM Integer(p), Int(p) Numero intero con precisione p (numero max di cifre che il numero può contenere), con p che può variare da 1 a 45 Integer Numero intero con precisione 10 Smallint Numero intero con precisione 5 Decimal(p,d), Dec(p,d) Numero reale in fixed point con precisione p cifre intere e d cifre decimali. Float(p), Float, Real Numeri reali in floating point con precisione p, 15, 7 per la mantissa Le costanti si rappresentano con gli apici ‘ ’,o i doppi apici” “ 27/03/2017 Daniela Musio

Funzioni di SQL Il linguaggio SQL assolve alle funzioni di: DDL (Data Definition Language), che prevede le istruzioni per definire la struttura delle relazioni della base di dati. Serve quindi per creare tabelle, vincoli, viste e indici; DML (Data Manipulation Language), che prevede le istruzioni per manipolare i dati contenuti nelle diverse tabelle. In particolare permette inserimenti, cancellazioni e modifiche dei record delle tabelle; DCL (Data Control Language), che prevede istruzioni per controllare gli accessi e i permessi per gli utenti; Query Language, consente di porre interrogazioni al database. 27/03/2017 Daniela Musio

Istruzioni del DDL Create Table consente di creare una tabella Alter Table consente di modificare la struttura di una tabella Drop Table consente di eliminare una tabella Create/Drop Index consente di creare/cancellare un indice su una tabella esistente, indicando il nome degli attributi cui associare tale indice Create/Drop View consente di creare/cancellare delle viste = modalità con le quali gli utenti possono vedere le tabelle del database 27/03/2017 Daniela Musio

Create Table (creazione di una tabella) Create Table <nome tabella> ( < attributo1> <tipo> [not null], < attributo2> <tipo> [not null], ………………………… < attributoN> <tipo> [not null] [Primary Key <nome attributo chiave>], [Foreign Key <attributo> References<tabella(attributo)>] ); 27/03/2017 Daniela Musio

Alter Table (modifica di una tabella) Alter Table <nome tabella> Add <nuovo attributo> <tipo>; Consente di inserire un nuovo attributo Drop <nome attributo da cancellare>; Consente di cancellare un attributo Modify <nome attributo> <nuovo tipo attributo>; Consente di modificare il tipo di un attributo 27/03/2017 Daniela Musio

Drop Table (cancellazione di una tabella) Drop Table <nome tabella>; 27/03/2017 Daniela Musio

Istruzioni del DML Insert consente di inserire i valori in una tabella Update consente di modificare i dati presenti in una tabella Delete consente di eliminare le righe da una tabella 27/03/2017 Daniela Musio

Insert Insert into <nome tabella> (<attributo1>, <attributo2>, …, <attributoN>) Values (<valore1>,<valore2>, … ,<valoreN>); 27/03/2017 Daniela Musio

Update Update <nometabella> Set <attributo1>=<espressione1>, <attributo2>=<espressione2>, …………………….. <attributoN>=<espressioneN> [where <condizione>] 27/03/2017 Daniela Musio

Delete Delete From <nome tabella> [where <condizione>] 27/03/2017 Daniela Musio

Istruzioni del DCL Grant consente di concedere i permessi di accesso al database, specificando i tipi di accesso e l’elenco degli utenti cui sono riconosciuti tali accessi. Lock/unlock Table Recover Table Check Table Repair Table Insieme di comandi che consentono di salvaguardare l’integrità dei dati contro eventuali malfunzionamenti del sistema 27/03/2017 Daniela Musio

Query Language Select consente di attivare le interrogazioni sul database al fine di reperire le informazioni che interessano. Il risultato dell’interrogazione è una nuova tabella. per ottenere tutti gli attributi basta indicare * Select <elenco attributi da visualizzare> From <elenco tabelle su cui operare> separate dalla , Where <condizioni> nelle condizioni possono comparire sia dati costanti sia parametri con input da parte dell’utente possono comparire anche + condizioni combinate, separate dagli operatori AND, OR e NOT 27/03/2017 Daniela Musio

Predicati ALL e DISTINCT ALL  indica la richiesta di ottenere come risultato dell’interrogazione tutte le righe che soddisfano le condizioni presenti nel comando Where (è un predicato di default, quindi non è necessario specificarlo) DISTINCT  le righe duplicate nella tabella, risultante dall’operazione di selezione dei dati, vengono ridotte ad una. 27/03/2017 Daniela Musio

Clausola AS AS  consente di modificare l’intestazione delle colonne della tabella risultante dall’operazione di selezione. Per default l’intestazione riprende il nome dell’attributo visualizzato nella colonna. Con questa clausola è anche possibile intestare le nuove colonne derivanti dal calcolo di espressioni su attributi presenti nella tabella. 27/03/2017 Daniela Musio

Le condizioni di ricerca Operatori utilizzabili =, <, >, <>, >=, <=, AND, OR, NOT Between  controlla se un valore è compreso all’interno di un intervallo di valori, inclusi gli estremi IN  controlla se un valore appartiene ad un insieme specificato di valori LIKE  controlla il valore di un attributo di tipo carattere con un modello di stringa che può contenere caratteri jolly (metacaratteri: _,%) IS NULL  controlla che il valore di una colonna sia pari al valore Null 27/03/2017 Daniela Musio

Operazioni relazionali Selezione Consente di ricavare da una tabella relazionale un’altra tabella contenente solo le righe che soddisfano una certa condizione. Si realizza con l’istruzione: Select * From <nome tabella> Where <condizione>; 27/03/2017 Daniela Musio

Operazioni relazionali Proiezione Consente di ottenere una tabella relazionale contenente solo alcuni attributi della tabella di partenza. Si realizza con l’istruzione: Select <attributo1> … <attributoN> From <nome tabella>; 27/03/2017 Daniela Musio

Operazioni relazionali Congiunzione Consente di ottenere una tabella relazionale contenente tutti gli attributi (selezione) o solo alcuni attributi (proiezione), derivanti da due o più tabelle sulle quali si effettua un’operazione di congiunzione grazie ad un attributo comune. Si realizza con l’istruzione: Select elenco attributi From <tabella1>, …, <tabellaN> Where <uguaglianza attributi chiave>; 27/03/2017 Daniela Musio

Funzioni di aggregazione COUNT conta il numero di righe presenti in una tabella SUM calcola la somma dei valori numerici presenti in una colonna specificata come argomento della funzione AVG calcola la media dei valori numerici presenti in una colonna specificata come argomento della funzione MIN, MAX individuano rispettivamente il valore minimo e il valore massimo dei valori numerici presenti in una colonna specificata come argomento della funzione 27/03/2017 Daniela Musio

Ordinamenti e raggruppamenti Order By (Asc, Desc) Consente di ottenere i risultati di una interrogazione ordinati secondo i valori contenuti in una o più colonne, tra quelle elencate con la Select. L’ordinamento è crescente per default, se si vuole un ordinamento decrescente occorre specificare la parola chiave DESC. Group By È una clausola aggiuntiva che si utilizza quando la Select contiene funzioni di aggregazione; consente di raggruppare un insieme di righe aventi lo stesso valore nelle colonne indicate, producendo una riga di risultati per ogni raggruppamento.  La struttura del comando Select con raggruppamenti può essere ampliata con la clausola HAVING, che consente di sottoporre a condizione i gruppi creati con la Group By 27/03/2017 Daniela Musio

Linguaggio dichiarativo Le istruzioni si limitano a descrivere “cosa” si vuol fare , al “come” ci pensa il sistema. Differenza rispetto ai linguaggi procedurali attraverso i quali vengono descritte singole istruzioni elementari. 27/03/2017 Daniela Musio