Storia. Corso di Basi di Dati Spaziali. Componente DDL. Funzionalità. Esempio. Creazione di schema. Linguaggi: SQL. Storia:

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Storia. Corso di Basi di Dati Spaziali. Componente DDL. Funzionalità. Esempio. Creazione di schema. Linguaggi: SQL. Storia:"

Transcript

1 Corso di Basi di Dati Spaziali Linguaggi: SQL Angelo Montanari Donatella Gubiani Storia Storia: 1974: prima proposta SEQUEL 1981: prime implementazioni 1983: standard di fatto 1986, 1989, 1992 e 1999: standard 2 Funzionalità Insieme di linguaggi con varie funzionalità: DDL DML aggiornamento interrogazione Componente DDL Permette di creare schemi di basi di dati: domini tabelle indici asserzioni viste privilegi 3 4 Creazione di schema Permette di creare schemi di basi di dati CREATE SCHEMA: definisce il nome della base di dati definisce il nome del creatore Esempio CREATE SCHEMA Company AUTHORIZATION Smith( ) CREATE TABLE... create schema [ SchemaName ] [ [ authorization ] Authorization ] { SchemaElementDefinition } 5 6 1

2 Domini Due tipi di domini: elementari (predefiniti) definiti dall utente Domini elementari Character singoli caratteri o stringhe di caratteri di lunghezza fissa o variabile character [varying] [(lunghezza)] [ character set NomeFamigliaCaratteri ] Bit singoli valori booleani o stringhe di valori booleani bit [ varying ] [ (Length) ] 7 8 Domini elementari Tipi numerici esatti valori esatti, interi o con parte frazionaria quattro alternative: numeric [ ( Precision [, Scale ] ) ] decimal [ ( Precision [, Scale ] ) ] integer smallint Domini elementari Tipi numerici approssimati valori reali approssimati tre tipi: float [ ( Precision ) ] double precision real 9 10 Domini elementari Tipi temporali date time [ ( Precision) ] [ with time zone ] timestamp [ ( Precision) ] [ with time zone ] Intervalli temporali interval FirstUnitOfTime [to LastUnitOfTime ] Domini definiti dall utente Un dominio è caratterizzato da: nome dominio elementare valore di default insieme di vincoli Sintassi: create domain DomainName as ElementaryDomain [ DefaultValue ] [ Constraints ]

3 Domini definiti dall utente CREATE DOMAIN Voto AS SMALLINT DEFAULT NULL CHECK (value>=18 AND value<=30) Creazione tabella CREATE TABLE: definisce lo schema delle singole relazioni crea un istanza vuota specifica attributi, domini e vincoli Creazione tabella CREATE TABLE nametable ( nameattribute Domain [DefaultValue] [Constraints] {, nameattribute Domain [DefaultValue] [Constraints]} OtherVonstraints ) Esempio CREATE TABLE Impiegato( Matricola CHAR(6) PRIMARY KEY, Nome CHAR(20) NOT NULL, Cognome CHAR(20) NOT NULL, Dip CHAR(15), Stipendio NUMERIC(9) DEFAULT 0, FOREIGN KEY(Dip) REFERENCES Dipartimento(Nome) ) Vincoli Vincoli intrarelazionali Condizioni che devono essere soddisfatte Tipi di vincoli: intrarelazionali interrelazionali 17 NOT NULL: definisce un attributo che non può essere nullo not null (su attributi singoli) UNIQUE: definisce attributi che identificano univocamente le istanze attributi singoli: unique, dopo il dominio attributi multipli: unique(attribute {,Attribute } ) PRIMARY KEY: definisce la chiave (implica NOT NULL e UNIQUE) sintassi come unique CHECK: descritto più avanti 18 3

4 Vincoli intrarelazionali Nome character(20) not null, Cognome character(20) not null, unique(nome,cognome), Che è diverso da: Nome character(20) not null unique, Cognome character(20) not null unique, Vincoli interrelazionali CHECK: descritto più avanti FOREIGN KEY REFERENCES: definiscono i vincoli di integrità referenziale per attributi singoli references, dopo il dominio per attributi multipli foreign key ( Attribute {, Attribute } ) references Politiche di reazione Le operazioni di modifica e cancellazione sulle tabelle possono introdurre violazione dei vincoli interrelazionali Possibili reazioni: cascade: propaga il cambiamento set null: assegna il valore null set default: assegna il valore di default no action: annulla la modifica Sintassi: on < delete update > < cascade set null set default no action > 21 Politiche di reazione CREATE TABLE Impiegato( Matricola CHAR(6) PRIMARY KEY, Nome CHAR(20) NOT NULL, Cognome CHAR(20) NOT NULL, Dip CHAR(15), Stipendio NUMERIC(9) DEFAULT 0, FOREIGN KEY(Dip) REFERENCES Dipartimento(Codice) on delete set null on update cascade ) 22 Modifiche degli schemi ALTER: permette di modificare domini e schemi di tabella alter domain..., alter table DROP: permette di rimuovere dei componenti drop < schema domain table view assertion > ComponentName [ restrict cascade ] 23 Modifiche degli schemi alter table Dipartimento add column NumUffici numeric(4) drop table TempTable cascade 24 4

5 Definizione degli indici Riguarda il livello fisico Rilevante dal punto di vista delle prestazioni CREATE INDEX Altre definizioni Vincoli di integrità generici Asserzioni Viste Vincoli di integrità generici Esempio di check Permette di specificare ulteriori vincoli CHECK (Condizione) Condizioni uguali a quelle che si può avere nella clausola WHERE 27 CREATE TABLE Impiegato (Matricola character(6) CHECK (Matricola is not null and 1 = (SELECT count(*) I WHERE Matricola=I.Matricola), Cognome character(20) CHECK (Cognome is not null), Dip character(15) CHECK (Dip IN (SELECT Nome FROM Dipartimento)) ) 28 Asserzioni Asserzioni Rappresentano vincoli che appartengono direttamente allo schema CREATE ASSERTION NomeAsserzione CHECK (Condizione) Permettono la definizione di vincoli su più tabelle o vincoli di cardinalità minima create assertion SempreUnImpiegato check (1 <= (select count(*) from Impiegato) )

6 Viste Viste Una vista è una query materializzata Le viste non possono essere usate per formulare query complesse e non può essere modificata Le viste sono spesso necessarie per esprimere certe query: query combinate con innesti e operatori di aggregazione query che usano operatori di unione create view Amministrazione (Matricola, Nome,Cognome) as select Matricola, Nome, Cognome from Impiegato where Dip = Amministrazione Controllo dell accesso È importante prevedere dei meccanismi di protezione L amministratore deve scegliere e implementare opportune politiche di accesso proteggere le componenti del sistema Controllo dell accesso Di regola l utente che crea una risorsa ne è il proprietario è autorizzato a compiere qualsiasi operazione SQL prevede meccanismi di gestione flessibile privilegi Controllo dell accesso Un privilegio è caratterizzato da: risorsa a cui si riferisce utente che concede il privilegio utente che riceve il privilegio azione che viene permessa se il privilegio può essere trasmesso Controllo dell accesso Privilegi disponibili: insert update delete select references usages grant option (per la revoca)

7 Controllo dell accesso Sintassi: grant Privilegi on Risorsa to Utenti [with grant option] revoke Privilegi on Risorsa from Utenti [resric cascade] Controllo dell accesso grant select on Dipartimento to Stefano grant all privileges on Impiegato to Paolo, Riccardo revoke delete on Impiegato from Paolo Componente di interrogazione Permette di accedere all informazione presente in una base dei dati (ma non consente di modificarla) 39 Operazioni fondamentali SELECT: specifica la lista degli attributi che si vuole siano restituiti (anche funzioni aggregate) FROM: indica le tabelle alle quali bisogna accedere per rispondere all interrogazione WHERE: specifica le condizioni che devono essere soddisfatte dalle righe coinvolte nell interrogazione per poter partecipare alla soluzione finale 40 Interrogazione e operazioni fondamentali INTERROGAZIONE: seleziona, tra le righe che appartengono al prodotto cartesiano delle tabelle elencate nella clausola FROM, quelle che soddisfano le condizioni espresse nella clausola WHERE RISULTATO: una tabella con una riga per ogni riga selezionata dalla clausola WHERE e le cui colonne si ottengono dalla valutazione della clausola SELECT 41 Istanza di base per gli esempi IMPIEGATO Matricola AC345 FC876 XA778 SH844 Nome Cognome Nascita Indirizzo Carlo Rossi 20/4/75 Via Roma Marco Rossi 4/12/70 Via Del Bon Alessandra Bianchi 1/7/69 Antonio Neri 10/4/71 Via Giolitti Dip D1 Stipendio 1000 D D D DIPARTMENTO PROGETTO LAVORA Codice Nome Manager Codice Dip Progetto Impiegato D1 Ricerca AC345 P1 D1 P1 XA778 D2 Analisi SH844 P2 D2 P2 FC876 D3 Progettazione FC876 P2 SH

8 Esempi 1: Operazioni fondamentali Determinare la data di nascita e l indirizzo di Rossi SELECT Nascita, Indirizzo WHERE Cognome= Rossi Nascita 20/4/75 4/12/70 Indirizzo Via Roma Via Del Bon 43 Esempi 2: Operazioni fondamentali Determinare il nome e il cognome di tutti gli impiegati del dipartimento di ricerca SELECT Impiegato.Nome,Cognome,Dipartimento WHERE Dip=Codice and Dipartimento.Name= Ricerca Nome Carlo Alessandra Cognome Rossi Bianchi 44 Alias Clausola DISTINCT Si possono rinominare: attributi: SELECT tabelle: FROM SELECT Nome as N, Cognome as C as I, Dipartmento as D WHERE I.Dip=D.Codice AND D.Nome= Ricerca N Carlo Alessandra C Rossi Bianchi 45 Per forzare la rimozione dei duplicati si qualifica l attributo con la clausola DISTINCT Esempio: Determinare tutti i diversi stipendi dei dipendenti SELECT DISTINCT Stipendio Stipendio Asterisco * Operatore like Per indicare tutti gli attributi si può sostituire la lista esplicita degli attributi con l asterisco Esempio: SELECT * 47 Per confrontare stringhe _ carattere arbitrario % stringa di lunghezza arbitraria Esempio: Determinare il nome e il cognome di tutti gli impiegati il cui Nome inizia per A SELECT Nome, Cognome Nome Cognome Alessandra Bianchi WHERE Nome like A% Antonio Neri 48 8

9 Operatore is [not] null Per selezionare i termini con valore null (rispettivamente, diverso da null) Esempio: Determinare il nome e il cognome di tutti gli impiegati di cui non si conosce l indirizzo SELECT Nome, Cognome WHERE indirizzo is null Nome Alessandra Cognome Bianchi 49 Operazioni insiemistiche - 1 Tipi di operazione: union except (differenza) intersect Effettuano di default la rimozione dei duplicati Si possono mantenere i duplicati introducendo la clausola ALL 50 Operazioni insiemistiche - 2 Operazioni insiemistiche - 3 Esempio: Determinare tutti i progetti che coinvolgono un impiegato con cognome Rossi o come lavoratore nel progetto o come manager del dipartimento che controlla il progetto SELECT Progetto, Lavora WHERE Cognome='Rossi' and Matricola=Impiegato UNION SELECT P.Codice I, Dipartimento D, Progetto P WHERE Cognome='Rossi' and Matricola=Manager and P.Dip=D.Codice Divisione dell algebra relazionale La divisione non è inclusa nello standard SQL2 Può essere simulata utilizzando la clausola NOT IN (descritta più avanti) Interrogazioni annidate - 1 IN (o =ANY, =SOME) permettono di effettuare dei test di appartenenza all interno della clausola WHERE Esempio: Determinare tutti i progetti che coinvolgono un impiegato con cognome Rossi -come lavoratore nel progetto -come manager del dipartimento che controlla il progetto [interrogazione precedente]

10 Interrogazioni annidate - 2 SELECT Codice FROM Progetto WHERE Codice IN ( SELECT Progetto,Lavora WHERE Cognome='Rossi' and Impiegato=Matricola) OR Codice IN ( SELECT P.Codice I, Dipartimento D, Progetto P WHERE Cognome='Rossi and Matricola=Manager and P.Dip=D.Codice) 55 Interrogazioni annidate - 3 Valutazione: Prendere ogni tupla generata da FROM Per ciascuna si valuta la condizione WHERE Se l attributo specificato soddisfa il test di appartenenza, la tupla viene restituita nel risultato 56 Interrogazioni annidate - 4 Sotto-interrogazioni: Non correlate all interrogazione esterna: l interrogazione interna può essere calcolata una volta sola Correlate all interrogazione esterna: si fa riferimento ad attributi non locali e quindi per ogni interrogazione esterna bisogna rivalutare l interrogazione interna 57 Interrogazioni annidate - 5 Esempio: Restituire la matricola degli impiegati che lavorano in un dipartimento in cui lavora anche un loro omonimo (Cognome) SELECT Matricola I WHERE Dip IN ( SELECT Dip WHERE I.Cognome=Cognome and I.Matricola<Matricola) 58 Interrogazioni annidate - 6 Altre condizioni: > SOME: esiste almeno un valore maggiore > ALL: esiste un valore maggiore di tutti Operatori su interrogazioni annidate - 1 EXISTS: ha successo se il risultato dell interrogazione annidata non è vuoto NOT EXISTS: contrario di EXISTS UNIQUE: ha successo se il risultato dell interrogazione annidata non ha duplicati

11 Operatori su interrogazioni annidate - 2 Esempio: Restituire la matricola degli impiegati che lavorano in un dipartimento in cui lavora un altro impiegato con lo stesso cognome [interrogazione precedente] SELECT Matricola I WHERE EXISTS (SELECT Matricola WHERE I.Cognome=Cognome and I.Dip=Dip Join interni La clausola WHERE mescola condizioni di join e condizioni di selezione Raffinamento nella clausola FROM Esempio: Determinare tutti gli impiegati che lavorano per il dipartimento di ricerca SELECT Nome,Cognome as I JOIN Dipartmento as D ON Dip=Codice WHERE D.Nome= Ricerca and I.Matricola<Matricola) Join esterni Esegue un join mantenendo tutte le righe di una o entrambi le tabelle coinvolte Tre tipi: left, right e full Esempio: Determinare per ogni dipartimento i relativi progetti evidenziando anche i dipartimenti senza progetti SELECT D.Codice, P.Codice FROM Dipartimento D LEFT JOIN Progetto P ON D.Codice=Dip Clausola ORDER BY ORDER BY: specifica l ordine secondo cui devono essere visualizzate le tuple che partecipano alla soluzione dell interrogazione Se si specifica DESC l ordine è decrescente, altrimenti è crescente Esempio ORDER BY Selezionare il cognome e il nome dei dipendenti ordinando il risultato secondo l ordine crescente dei cognomi e, se se ci sono cognomi uguali, secondo l ordine decrescente dei nomi SELECT Cognome, Nome ORDER BY Cognome, Nome DESC Funzioni aggregate Funzioni che calcolano valori a partire da insiemi di ennuple conteggio, minimo, massimo, media, somma totale Differenze dall algebra relazionale: vengono contate anche le ripetizioni DISTINCT: per non contare le ripetizioni

12 Esempi funzioni aggregate Clausola GROUP BY Esempio: Contare il numero dei dipendenti del dipartimento 1 SELECT Count(*) WHERE Dip= D1 Esempio: Determinare la media degli stipendi degli impiegati del dipartimento 1 SELECT AVG(Stipendio) WHERE Dip= D1 67 GROUP BY: specifica l attributo o l insieme di attributi su cui fare il raggruppamento 68 Esempio GROUP BY Determinare il numero di dipendenti che lavorano ad un progetto SELECT Dip, count(*) as NumeroDipendenti GROUP BY Dip Clausola HAVING HAVING: specifica una condizione da applicare a ciascuna classe della partizione indotta della clausola GROUP BY Esempio HAVING Determinare i dipartimenti che spendono più di 100 in stipendi SELECT Dip, sum(stipendio) as SommaStipendi GROUP BY Dip HAVING sum(stipendio)>1000 Ordine di valutazione Valutazione clausola WHERE come se GROUP BY non ci fosse Raggruppamento secondo la clausola GROUP BY Valutazione clausola HAVING

13 Componente di aggiornamento Permette di operare sulle tabelle: inserire, modificare e cancellare i dati di una base dei dati Operazioni di aggiornamento Operazioni di inserimento: insert eliminazione: delete modifica: update di una o più ennuple di una relazione sulla base di una condizione che può coinvolgere anche altre relazioni Inserimento Esempi di inserimento Inserimento di righe nelle tabelle attraverso due tecniche: - usando i valori INSERT INTO Tabella [ ( Attributi ) ] VALUES ( Valori ) - usando una interrogazione INSERT INTO Tabella [ ( Attributi )] SELECT INSERT INTO Impiegato VALUES ('AC345','Carlo','Rossi','D1',1000); INSERT INTO Impiegato(Matricola, Nome, Cognome) VALUES('AR156','Antonio','Pino') INSERT INTO Impiegato(Nome, Matricola) VALUES('Lino','FT655') INSERT INTO Impiegato ( Nome ) SELECT PrimoNome FROM Persona WHERE età<40 76 Inserimento, commenti - 1 Inserimento, commenti - 2 l ordinamento degli attributi (se presente) e dei valori è significativo le due liste debbono avere lo stesso numero di elementi se la lista di attributi è omessa, si fa riferimento a tutti gli attributi della relazione, secondo l ordine con cui sono stati definiti se la lista di attributi non contiene tutti gli attributi della relazione, per gli altri viene inserito un valore nullo (che deve essere se alcuni valori di attributi non sono specificati viene introdotto il valore di default o, in assenza, null se l inserimento viola un vincolo di not null l inserimento viene rifiutato permesso) o un valore di default

14 Eliminazione di ennuple Eliminazione di righe dalle tabelle DELETE FROM Tabella [ WHERE Condizione ] Esempi di eliminazione DELETE DELETE WHERE Stipendio > 1300 DELETE WHERE Nome NOT in (SELECT Nome FROM Persone) Eliminazione, commenti Modifica di ennuple elimina le ennuple che soddisfano la condizione può causare (se i vincoli di integrità referenziale sono definiti con politiche di reazione cascade) eliminazioni da altre relazioni se la clausola where viene omessa, si intende where true Modifica di righe dalle tabelle UPDATE NomeTabella SET Attributo = < Espressione SELECT NULL DEFAULT > [ WHERE Condizione ] Esempi di eliminazione Modifica set-oriented UPDATE Impiegato SET Stipendio = 1200 WHERE Nome = Antonio' UPDATE Impiegato SET Stipendio = Stipendio * 1.1 WHERE dip = D2 UPDATE Impiegato SET Stipendio = Stipendio * 1.2 WHERE Stipendio <= 1000 UPDATE Impiegato SET Stipendio = Stipendio * 1.1 WHERE Stipendio > 1000 Attenzione all ordine!

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Basi 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,

Dettagli

SQL Sintassi Dei Comandi

SQL Sintassi Dei Comandi SQL Sintassi Dei Comandi Di Roberto Aloi http://prof3ta.homeunix.org prof3ta@email.it Questo fascicolo è stato realizzato esclusivamente a fini divulgativi e per la libera consultazione. E' concessa la

Dettagli

Definizione di domini

Definizione di domini Definizione di domini Come nei linguaggi ad alto livello (es. C) è possibile definire nuovi domini (tipi di dati) a partire da quelli predefiniti, anche se il costruttore è più limitato. create domain

Dettagli

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione SQL DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE SQL è più di un semplice linguaggio di interrogazione! Linguaggio di definizione dati (Data-definition language, DDL):! Crea/distrugge/modifica relazioni

Dettagli

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari: SQL SQL (pronunciato anche come l inglese sequel: acronimo di Structured Query Language (linguaggio di interrogazione strutturato Linguaggio completo che presenta anche proprietà di: DDL (Data Definition

Dettagli

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: storia SQL SQL: concetti base originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia il DML ne esistono varie versioni vediamo gli aspetti essenziali,

Dettagli

Basi di Dati e Sistemi Informativi. Structured Query Language

Basi di Dati e Sistemi Informativi. Structured Query Language Basi di Dati e Sistemi Informativi Structured Query Language Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale SQL come DDL e DML SQL non è solo un linguaggio di interrogazione Linguaggio

Dettagli

Gestione delle tabelle

Gestione delle tabelle Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 Creazione di una tabella (1/3) Si utilizza

Dettagli

Domini elementari, 2. Basi di dati. Domini elementari, 4. Domini elementari, 3. Domini definiti dagli utenti. Domini elementari, 5

Domini elementari, 2. Basi di dati. Domini elementari, 4. Domini elementari, 3. Domini definiti dagli utenti. Domini elementari, 5 Domini elementari, Basi di dati Linguaggi di Interrogazione: SQL Prof.Angela Bonifati Bit Valori booleani (vero/falso), singoli o in sequenza (la sequenza può essere di lunghezza variabile) Sintassi: bit

Dettagli

Linguaggio SQL: fondamenti D B M G. Gestione delle tabelle

Linguaggio SQL: fondamenti D B M G. Gestione delle tabelle Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 2007 Politecnico di Torino 1 Creazione

Dettagli

Laboratorio di Basi di Dati e Web

Laboratorio di Basi di Dati e Web Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 1 SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali Il linguaggio

Dettagli

Documentazione SQL. Argomento Sintassi Note Definizione schema create schema [NomeSchema] [[authorization] Autorizzazione] {DefElementoSchema}

Documentazione SQL. Argomento Sintassi Note Definizione schema create schema [NomeSchema] [[authorization] Autorizzazione] {DefElementoSchema} Documentazione SQL Argomento Sintassi Note Definizione schema create schema [NomeSchema] [[authorization] Autorizzazione] {DefElementoSchema} Definizione tabella Definizione dominio Specifica di valori

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

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 2 Raffaella Gentilini 1 / 45 Sommario 1 Il DDL di SQL: Cancellazione ed Aggiornamento di una BD Cancellazione di Schemi, Tabelle, e Domini Aggiornamento di Tabelle

Dettagli

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone SQL: il DDL Parti del linguaggio SQL Definizione di basi di dati (Data Definition Language DDL) Linguaggio per modificare

Dettagli

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)

SQL. 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. 2014/2015 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2014-15.htm dott.ssa Francesca A. Lisi francesca.lisi@uniba.it

Dettagli

Basi di dati SQL. Standardizzazione di SQL. Linguaggi di Interrogazione: SQL. Prof.Angela Bonifati

Basi di dati SQL. Standardizzazione di SQL. Linguaggi di Interrogazione: SQL. Prof.Angela Bonifati Basi di dati Linguaggi di Interrogazione: SQL Prof.Angela Bonifati 1 SQL Il nome stava per Structured Query Language Più che un semplice linguaggio di query: si compone di una parte DDL e di una DML DDL:

Dettagli

OR true null false true true true true null true null null false true null false NOT

OR true null false true true true true null true null null false true null false NOT Il linguaggio SQL è un linguaggio standard per la definizione, manipolazione e interrogazione delle basi di dati relazionali ed ha le seguenti caratteristiche: è dichiarativo; opera su multiset di tuple,

Dettagli

SQL - Tipi di dato Il linguaggio SQL

SQL - Tipi di dato Il linguaggio SQL SQL - Tipi di dato Il linguaggio SQL I tipi di dato in SQL:1999 si suddividono in tipi predefiniti tipi strutturati tipi user-defined ci concentreremo sui tipi predefiniti i tipi predefiniti sono suddivisi

Dettagli

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. SQL - Tipi di dato. SQL - Tipi di dato numerici. SQL - Tipi di dato numerici

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. SQL - Tipi di dato. SQL - Tipi di dato numerici. SQL - Tipi di dato numerici Il linguaggio SQL Il linguaggio SQL il linguaggio SQL è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose (California) è diventato

Dettagli

Capitolo 4. Soluzione: Soluzione: Create domain STRING as character varying (256) default sconosciuto not null

Capitolo 4. Soluzione: Soluzione: Create domain STRING as character varying (256) default sconosciuto not null Capitolo 4 Esercizio 4.1 Ordinare i seguenti domini in base al valore massimo rappresentable, supponendo che integer abbia una rappresentazione a 32 bit e smallint a 16 bit: numeric(12,4), decimal(10),

Dettagli

Laboratorio di Basi di Dati

Laboratorio 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

Dettagli

SQL: Concetti Base -Prima Parte-

SQL: Concetti Base -Prima Parte- SQL: Concetti Base -Prima Parte- Atzeni, Ceri, Paraboschi, Torlone Basi Di Dati: Modelli e Linguaggi di Interrogazione, McGraw-Hill Italia Capitolo 4 SQL Structured Query Language Contiene: DDL (Data Definition

Dettagli

SQL (STRUCTURED QUERY LANGUAGE)

SQL (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

Dettagli

SQL Laboratorio di Basi di Dati a.a. 2002/2003

SQL Laboratorio di Basi di Dati a.a. 2002/2003 1 SQL Laboratorio di Basi di Dati a.a. 2002/2003 dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì ore 10-12 2 Cos'è SQL? Linguaggio di riferimento per le basi di dati relazionali

Dettagli

Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2011-2012

Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2011-2012 Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2011-2012 2012 Docente: Gigliola Vaglini Docente laboratorio: Alessandro Lori 1 Lezione 3 Structured Query Language

Dettagli

Esercitazione 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: 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

Dettagli

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Il 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

Dettagli

Corso di Informatica (Basi di Dati)

Corso 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.

Dettagli

Giovanna Rosone 04/03/2010. 04/03/2010 SQL, Istruzioni per la modifica dello schema

Giovanna Rosone 04/03/2010. 04/03/2010 SQL, Istruzioni per la modifica dello schema Giovanna Rosone 04/03/2010 04/03/2010 SQL, Istruzioni per la modifica dello schema 1 Riepilogo Impiegato Pagamenti Nome colonna PAG_COD PAG_MATR Tipo dati CHAR(6) CHAR(6) Nome colonna Tipo dati PAG_STIPENDIO

Dettagli

SQL (STRUCTURED QUERY LANGUAGE)

SQL (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

Dettagli

Informatica. Sintassi. Interrogazioni in SQL. Significato dell interrogazione. Tabella Impiegato. Basi di dati parte 4 SQL

Informatica. Sintassi. Interrogazioni in SQL. Significato dell interrogazione. Tabella Impiegato. Basi di dati parte 4 SQL Informatica Basi di dati parte 4 SQL Lezione 13 Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2012 2013 1 Interrogazioni in

Dettagli

Join in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a

Join in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a Join in SQL (primo modo) Informatica Lezione 7 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 09- Per formulare interrogazioni che coinvolgono

Dettagli

Operazioni sui database

Operazioni sui database Operazioni sui database Le operazioni nel modello relazionale sono essenzialmente di due tipi: Operazioni di modifica della base di dati (update) Interrogazioni della base di dati per il recupero delle

Dettagli

SQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL))

SQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) SQL PER LA DEFINIZIONE DI BASI DI DATI 1 SQL non è solo un linguaggio di interrogazione (Query Language), ma Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) CREATE SCHEMA

Dettagli

Istruzioni DML di SQL

Istruzioni DML di SQL Istruzioni DML di SQL Pag. 99 par.4 1 Sintassi: Costrutto: INSERT INTO (Inserimento di dati in tabelle) INSERT INTO [(, ,, )] VALUES (, ,

Dettagli

SQL. Storia e standard

SQL. Storia e standard SQL Lorenzo Sarti 2009 Basi di Dati 1 Storia e standard Lorenzo Sarti 2009 Basi di Dati 2 SQL-2 È ricco e complesso e nessun sistema commerciale lo implementa in maniera completa Sono definiti 3 livelli

Dettagli

SQL PER LA DEFINIZIONE DI BASI DI DATI

SQL PER LA DEFINIZIONE DI BASI DI DATI SQL PER LA DEFINIZIONE DI BASI DI DATI SQL non è solo un linguaggio di interrogazione (Query Language), ma Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) CREATE SCHEMA

Dettagli

Basi di Dati prof. Letizia Tanca

Basi di Dati prof. Letizia Tanca Basi di Dati prof. Letizia Tanca (lucidi tratti dal libro Atzeni-Ceri-Paraboschi-Torlone) AA 2003-04 Linguaggi di interrogazione commerciali per il Modello Relazionale dei Dati: SQL - il DDL Domini I domini

Dettagli

MAX, SUM, AVG, COUNT)

MAX, SUM, AVG, COUNT) INTRODUZIONE A SQL Definizione di tabelle e domini Alcuni vincoli di integrità Struttura base SELECT FROM WHERE Funzioni di aggregazione (MIN, MAX, SUM, AVG, COUNT) Query da più tabelle (FROM R1, Rk) Join

Dettagli

DDL DML. Tipi di linguaggi per basi di dati. Si distinguono due categorie:

DDL DML. Tipi di linguaggi per basi di dati. Si distinguono due categorie: Tipi di linguaggi per basi di dati Si distinguono due categorie: DDL DML Linguaggi di definizione dei dati o data definition languages: utilizzati per definire gli schemi logici, esterni e fisici e le

Dettagli

SQL. Alcune note sulla definizione dei dati

SQL. Alcune note sulla definizione dei dati SQL Alcune note sulla definizione dei dati Domini Domini elementari (predefiniti) Domini definiti dall'utente (riutilizzabili, possono servire per specificare vincoli di dominio propri di una certa applicazione)

Dettagli

Linguaggio SQL Descriviamo la notazione usata nel seguito:

Linguaggio SQL Descriviamo la notazione usata nel seguito: Descriviamo la notazione usata nel seguito: i termini del linguaggio sono sottolineati; i termini variabili sono scritti in corsivo; le parentesi angolari (< >)permettono di isolare un termine della sintassi;

Dettagli

Linguaggio SQL. Structured Query Language

Linguaggio SQL. Structured Query Language Linguaggio SQL Structured Query Language Creato negli anni 70 presso IBM Inizialmente solo linguaggio di interrogazione Ora linguaggio di riferimento per DB relazionali Standardizzato grazie al lavoro

Dettagli

SQL. Structured Query Language 1974: SEQUEL by IBM 1981: SQL by IBM 1986 1992: SQL ISO 9075:1992 SQL:1999 SQL:2003

SQL. Structured Query Language 1974: SEQUEL by IBM 1981: SQL by IBM 1986 1992: SQL ISO 9075:1992 SQL:1999 SQL:2003 SQL Structured Query Language 1974: SEQUEL by IBM 1981: SQL by IBM 1986 1992: SQL ISO 9075:1992 SQL:1999 SQL:2003 SQL Il linguaggio SQL è stato originariamente dichiarativo, diventando nel tempo sempre

Dettagli

Il linguaggio SQL: DDL di base

Il linguaggio SQL: DDL di base Il linguaggio SQL: DDL di base Sistemi Informativi T Versione elettronica: 04.1.SQL.DDLbase.pdf SQL: caratteristiche generali SQL (Structured Query Language) èil linguaggio standard de facto per DBMS relazionali,

Dettagli

Basi di Dati. Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio. Corso di Laurea in Informatica. a.a. 2010-2011

Basi di Dati. Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio. Corso di Laurea in Informatica. a.a. 2010-2011 Corso di Laurea in Informatica Basi di Dati a.a. 2010-2011 Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio PROGETTAZIONE FISICA SQL-DDL OBIETTIVO: Rappresentare i dati della realtà di interesse

Dettagli

DBMS (Data Base Management System)

DBMS (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

Dettagli

Il linguaggio SQL: le basi

Il linguaggio SQL: le basi Il linguaggio SQL: le basi Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLa-basi.pdf Sistemi Informativi L-A SQL: caratteristiche generali

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 2.2 Comandi sulle tabelle 1 Prerequisiti Introduzione ai DB Tabelle, relazioni e attributi Chiave primaria Chiave esterna Vincoli di integrità 2 1 Introduzione

Dettagli

Basi di Dati Relazionali

Basi di Dati Relazionali Corso di Laurea in Informatica Basi di Dati Relazionali a.a. 2009-2010 Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio Coadiutore: Dott.ssa D. Nicotera PROGETTAZIONE FISICA SQL-DDL OBIETTIVO: Rappresentare

Dettagli

Il linguaggio SQL: query innestate

Il linguaggio SQL: query innestate Il linguaggio SQL: query innestate Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLc-subquery.pdf Sistemi Informativi L-A DB di riferimento

Dettagli

IL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI

IL 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

Dettagli

Il linguaggio SQL: viste e tabelle derivate

Il linguaggio SQL: viste e tabelle derivate Il linguaggio SQL: viste e tabelle derivate Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLd-viste.pdf Sistemi Informativi L-A DB di riferimento

Dettagli

Il linguaggio SQL: viste e tabelle derivate. Versione elettronica: SQLd-viste.pdf

Il linguaggio SQL: viste e tabelle derivate. Versione elettronica: SQLd-viste.pdf Il linguaggio SQL: viste e tabelle derivate Versione elettronica: SQLd-viste.pdf DB di riferimento per gli esempi Imp Sedi CodImp Nome Sede Ruolo Stipendio Sede Responsabile Citta E001 Rossi S01 Analista

Dettagli

Vincoli di Integrità Approccio dichiarativo alla loro implementazione

Vincoli di Integrità Approccio dichiarativo alla loro implementazione Vincoli di Integrità Approccio dichiarativo alla loro implementazione Antonella Poggi Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico

Dettagli

DUE GRUPPI DI COMANDI

DUE 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

Dettagli

Corso di Laboratorio di Basi di Dati

Corso di Laboratorio di Basi di Dati Corso di Laboratorio di Basi di Dati F1I072 - INF/01 a.a 2009/2010 Pierluigi Pierini Technolabs S.p.a. Pierluigi.Pierini@technolabs.it Università degli Studi di L Aquila Dipartimento di Informatica Technolabs

Dettagli

Corso di Basi di Dati A.A. 2013/2014

Corso di Basi di Dati A.A. 2013/2014 Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2013/2014 Tiziana Catarci, Andrea Marrella Ultimo aggiornamento : 29/03/2014 SQL : Structured Query Language

Dettagli

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26 Uso delle variabili di alias SQL slide aggiuntive Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione educazione Non solo per disambiguare la notazione

Dettagli

Corso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

Corso 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

Dettagli

Laboratorio di Basi di Dati Introduzione a SQL

Laboratorio di Basi di Dati Introduzione a SQL Laboratorio di Basi di Dati Introduzione a SQL Pierluigi Pierini Technolabs S.p.a. Pierluigi.Pierini@technolabs.it evoluzione e standards 1970 - E.F. Codd, A Relational Model of Data for Large Shared Data

Dettagli

SQL - Funzioni di gruppo

SQL - Funzioni di gruppo una funzione di gruppo permette di estrarre informazioni da gruppi di tuple di una relazione le funzioni di gruppo si basano su due concetti: partizionamento delle tuple di una relazione in base al valore

Dettagli

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

SQL 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)

Dettagli

SQL -DDL. FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza)

SQL -DDL. FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza) 26/03/2013 SQL SQL -DDL Esercizio 4.3 Dare le definizioni SQL delle tre tabelle FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza) rappresentando

Dettagli

CAPITOLO 4 ESERCIZI SU SQL

CAPITOLO 4 ESERCIZI SU SQL CAPITOLO 4 ESERCIZI SU SQL (le soluzioni sono riportate da pag. 5 in poi (Nota: gli esercizi non sono sempre in ordine di difficoltà Esercizio 1 Si prendano tutti gli schemi relazionali considerati negli

Dettagli

Il linguaggio SQL: le basi. Versione elettronica: SQLa-basi.pdf

Il linguaggio SQL: le basi. Versione elettronica: SQLa-basi.pdf Il linguaggio SQL: le basi Versione elettronica: SQLa-basi.pdf SQL: caratteristiche generali SQL (Structured Query Language) è il linguaggio standard de facto per DBMS relazionali, che riunisce in sé funzionalità

Dettagli

Vincoli di integrità

Vincoli di integrità Vincoli di integrità Non tutte le istanze di basi di dati sintatticamente corrette rappresentano informazioni plausibili per l applicazione di interesse Studenti Matricola Nome Nascita 276545 Rossi 23-04-72?

Dettagli

Vincoli di Integrità

Vincoli di Integrità Vincoli di Integrità Antonella Poggi Dipartimento di informatica e Sistemistica Sapienza Università di Roma Progetto di Applicazioni Software Anno accademico 2010-2011 Questi lucidi sono stati prodotti

Dettagli

Il Modello Relazionale

Il Modello Relazionale Il Modello Relazionale Basi di dati 1 Il Modello Relazionale Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Il Modello Relazionale Basi di dati 2 Introduzione Il modello

Dettagli

********************* MODIFICA STRUTTURA DI UNA TABELLA (inserimento di un nuovo campo) ALTER TABLE Personale ADD Nascita date;

********************* MODIFICA STRUTTURA DI UNA TABELLA (inserimento di un nuovo campo) ALTER TABLE Personale ADD Nascita date; CREAZIONE STRUTTURA DI UNA TABELLA by Marinsalta Fausto CREATE TABLE Personale Matricola char(5), Cognome char(30), Nome char(20), Codfis char(16) not null, Assunzione date, Filiale smallint, Funzione

Dettagli

Basi di Dati Corso di Laura in Informatica Umanistica

Basi di Dati Corso di Laura in Informatica Umanistica Basi di Dati Corso di Laura in Informatica Umanistica Appello del 10/09/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione

Dettagli

SQL IL LINGUAGGIO DI INTERROGAZIONE

SQL IL LINGUAGGIO DI INTERROGAZIONE SQL IL LINGUAGGIO DI INTERROGAZIONE SQL! Originato da SEQUEL-XRM e System-R (1974-1977) dell IBM! Significato originario Structured Query Language! Standard de facto! Attuale standard ANSI/ISO è SQL:1999

Dettagli

Basi di Dati. Programmazione e gestione di sistemi telematici

Basi di Dati. Programmazione e gestione di sistemi telematici Basi di Dati. Programmazione e gestione di sistemi telematici Coordinatore: Prof. Paolo Nesi Docenti: Prof. Paolo Nesi Dr.sa Michela Paolucci Dr. Emanuele Bellini SQL SQL = Structured Query Language Linguaggio

Dettagli

Volumi di riferimento

Volumi di riferimento Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di

Dettagli

Domini elementari in SQL

Domini elementari in SQL SQL SQL è un acronimo per Structured Query Language. Fu sviluppato originalmente come linguaggio per il DBMS System R dall IBM Research Laboratory (San Jose, California) nei tardi anni settanta. Al giorno

Dettagli

Stringhe di caratteri

Stringhe di caratteri Domini primitivi In SQL sono disponibili alcune famiglie di domini elementari attraverso le quali è possibile definire i domini di appartenenza dei campi. Stringhe di caratteri CHARACTER [VARYING] [(NumeroCaratteri)]

Dettagli

SQL. (Structured Query Language) Eugenio Di Sciascio

SQL. (Structured Query Language) Eugenio Di Sciascio SQL (Structured Query Language) Eugenio Di Sciascio SQL come DDL e DML SQL non è solo un linguaggio di interrogazione Linguaggio di definizione e manipolazione dati DDL (Data Definition Language): consente

Dettagli

Query. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi

Query. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi Query (Interrogazioni) Ultima modifica: 5/4/2012 SQL Materiale aggiuntivo per il corso di laurea in Lingue e Culture per il Turismo classe L-15! È necessario un modo per interrogare le basi di dati, cioè

Dettagli

PROGRAMMA DI CLASSE 5AI

PROGRAMMA DI CLASSE 5AI Istituto di Istruzione Superiore Euganeo Istituto tecnico del settore tecnologico Istituto professionale del settore servizi socio-sanitari Istituto professionale del settore industria e artigianato PROGRAMMA

Dettagli

Linguaggio SQL. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Linguaggio SQL. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Linguaggio SQL Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni SQL: caratteristiche generali SQL (Structured Query Language) è il linguaggio standard de facto per DBMS relazionali, che

Dettagli

SQL. Definizione dei da6 in SQL. SQL: "storia" CREATE TABLE: esempio. CREATE TABLE: esempio

SQL. Definizione dei da6 in SQL. SQL: storia CREATE TABLE: esempio. CREATE TABLE: esempio SQL Atzeni, Ceri, Paraboschi, Torlone Basi di da6 Originariamente Structured Query Language, ora "nome proprio" Linguaggio con varie funzionalità: DDL Data Defini6on Language (insieme di comandi per la

Dettagli

4 SQL : Interrogazioni nidificate

4 SQL : Interrogazioni nidificate Corso di Laurea in Ingegneria Gestionale SAPIENZA Università di Roma Esercitazioni del corso di Basi di Dati Prof.ssa Catarci e Prof.ssa Scannapieco Anno Accademico 2010/2011 Andrea Marrella Ultimo aggiornamento

Dettagli

Data Management Software. Il linguaggio SQL. Raggruppamenti. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004

Data Management Software. Il linguaggio SQL. Raggruppamenti. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004 DB2 Data Management Software Il linguaggio SQL Raggruppamenti Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004 LEGGERE LE SEGUENTI ATTENZIONI Le informazioni contenute in questa

Dettagli

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati Basi di dati Il Modello Relazionale dei Dati Proposto da E. Codd nel 1970 per favorire l indipendenza dei dati Disponibile come modello logico in DBMS reali nel 1981 (non è facile realizzare l indipendenza

Dettagli

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7 ESEMPI DI QUERY SQL Dati di esempio... 2 Query su una sola tabella... 2 Esempio 1 (Ordinamento)... 2 Esempio 2 (Scelta di alcune colonne)... 3 Esempio 3 (Condizioni sui dati)... 3 Esempio 4 (Condizioni

Dettagli

Corrado Aaron Visaggio 1. Esercizio

Corrado Aaron Visaggio 1. Esercizio SQL Corrado Aaron Visaggio 1 Esercizio Definire un archivio di polizia, ispirato al sistema disponibile sull sito www.fbi.gov. Ogni criminale deve possedere: informazioni anagrafiche (nome, cognome, indirizzo,

Dettagli

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari: SQL SQL (pronunciato anche come l inglese sequel): acronimo di Structured Query Language (linguaggio di interrogazione strutturato) Linguaggio completo che presenta anche proprietà di: DDL (Data Definition

Dettagli

Esercizio 4.1. Soluzione:

Esercizio 4.1. Soluzione: Capitolo 4 Esercizio 4.1 Ordinare i seguenti domini in base al valore massimo rappresentable, supponendo che integer abbia una rappresentazione a 32 bit e smallint a 16 bit: numeric(12,4), decimal(10),

Dettagli

Corso di Informatica Generale 1 IN1. Linguaggio SQL

Corso di Informatica Generale 1 IN1. Linguaggio SQL Università Roma Tre Facoltà di Scienze M.F.N. di Laurea in Matematica di Informatica Generale 1 Linguaggio SQL Marco (liverani@mat.uniroma3.it) Sommario Prima parte: le basi dati relazionali Basi di dati:

Dettagli

Structured Query Language. Informatica Generale - SQL Versione 1.0, aa 2005-2006 p.1/172

Structured Query Language. Informatica Generale - SQL Versione 1.0, aa 2005-2006 p.1/172 Structured Query Language Informatica Generale - SQL Versione 1.0, aa 2005-2006 p.1/172 Linguaggio SQL (1) Il linguaggio SQL, acronimo di Structured Query Language è un linguaggio per la definizione e

Dettagli

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.

Dettagli

Domini Numerici Esatti (1) I domini numerici esatti permettono di definire attributi che contenegono valori esatti interi o con parte frazionaria.

Domini Numerici Esatti (1) I domini numerici esatti permettono di definire attributi che contenegono valori esatti interi o con parte frazionaria. Linguaggio SQL (1) Il linguaggio SQL, acronimo di Structured Query Language è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose

Dettagli

SQL Manuale introduttivo

SQL Manuale introduttivo SQL Manuale introduttivo SOMMARIO INTRODUZIONE... 3 TIPI DI DATI... 3 STRINGHE DI CARATTERI... 3 NUMERI... 3 DATA/ORA... 4 COSTANTI STRINGA... 4 COSTANTI NUMERICHE... 4 COSTANTI DATA/ORA... 5 NOTE SULLA

Dettagli

a.a. 2012/13 12 Novembre 2012 Preparazione al Test in itinere, Compito A 1. Modellare tramite uno schema entità- relazione la seguente base di dati:

a.a. 2012/13 12 Novembre 2012 Preparazione al Test in itinere, Compito A 1. Modellare tramite uno schema entità- relazione la seguente base di dati: Gestione dei dati e della conoscenza, a.a. 2012/13 12 Novembre 2012 Preparazione al Test in itinere, Compito A 1. Modellare tramite uno schema entità- relazione la seguente base di dati: Si vuole modellare

Dettagli

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER

I 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

Dettagli

Il Domino Character Il domino CHARACTER permette di definire attributi che contengono un singolo carattere o stringhe di caratteri di lunghezza

Il Domino Character Il domino CHARACTER permette di definire attributi che contengono un singolo carattere o stringhe di caratteri di lunghezza Linguaggio SQL (1) Il linguaggio SQL, acronimo di Structured Query Language è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose

Dettagli

Basi di dati. SQL: concetti base

Basi di dati. SQL: concetti base Basi di dati SQL: concetti base SQL originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia il DML ne esistono varie versioni vediamo

Dettagli

Introduzione a MySQL

Introduzione a MySQL Introduzione a MySQL Cinzia Cappiello Alessandro Raffio Politecnico di Milano Prima di iniziare qualche dettaglio su MySQL MySQL è un sistema di gestione di basi di dati relazionali (RDBMS) composto da

Dettagli

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 9 SETTEMBRE 2015 Tempo: 2h30m

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 9 SETTEMBRE 2015 Tempo: 2h30m Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 9 SETTEMBRE 2015 Tempo: 2h30m Si consideri il seguente schema di base di dati, che vuole memorizzare informazioni relative a un sito di affitto

Dettagli