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

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

1 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 definizione dello schema della BD relazionale) DML Data Manipula6on Language (insieme di comandi per la modifica e l interrogazione dell istanza della BD). Ne esistono varie versioni Vediamo gli aspeo essenziali, non i depagli 2 SQL: "storia" Prima proposta SEQUEL (1974); Prime implementazioni in SQL/DS e Oracle (1981) Dal 1983 ca. "standard di fapo" Standard (1986, poi 1989 e infine 1992, 1999) Definizione dei da6 in SQL Istruzione CREATE TABLE: Definisce uno schema di relazione e ne crea un istanza vuota Specifica un elenco di apribu6 che compongono lo schema e un insieme (eventualmente vuoto) di vincoli tra più apribu6. Per ogni apributo si definisce un nome, un dominio e eventualmente un insieme di vincoli che devono essere soddisfao dai valori dell apributo. 3 4 CREATE TABLE: esempio CREATE TABLE Dipar6mento( Nome CHAR(20) PRIMARY KEY, Indirizzo CHAR(50), CiPà CHAR(20) ) CREATE TABLE: esempio CREATE TABLE Impiegato( Matricola CHAR(6) PRIMARY KEY, Nome CHAR(20) NOT NULL, Cognome CHAR(20) NOT NULL, Dipart CHAR(20), S6pendio NUMERIC(9) DEFAULT 0, FOREIGN KEY(Dipart) REFERENCES Dipar6mento(Nome), UNIQUE (Cognome,Nome) ) 5 6 1

2 Domini Domini elementari (predefini6 del linguaggio) Domini defini6 dall'utente a par6re dai domini predefini6. Domini elementari CaraPere: singoli caraperi o stringhe, anche di lunghezza variabile (si indica la lunghezza massima) Bit: singoli booleani o stringhe di bit Numerici (esao e approssima6) Data, ora, intervalli di tempo IntrodoO in SQL:1999: Boolean (valore singolo booleano) BLOB, CLOB (Binary/Character Large Object): per grandi immagini e tes6 7 8 Definizione di domini Istruzione CREATE DOMAIN: Definisce un dominio (semplice), u6lizzabile in definizioni di relazioni. Dominio caraperizzato da un nome, da un dominio elementare (o definito dall utente in precedenza), da un eventuale valore di default, da un eventuale insieme di vincoli (insieme di condizioni che devono essere rispepate dai valori del dominio). Definizione di domini La dichiarazione di nuovi domini permepe di associare un insieme di vincoli ad un nome di dominio: importante quando si deve ripetere (o modificare) la stessa definizione di apributo in diverse tabelle. Valore di default: valore che deve assumere l apributo quando viene inserita un nuova riga in tabella senza che sia specificato un valore per l apributo stesso CREATE DOMAIN: esempio CREATE DOMAIN Voto AS SMALLINT DEFAULT NULL CHECK ( value >=18 AND value <= 30 ) Vincoli intrarelazionali NOT NULL UNIQUE: definisce chiavi PRIMARY KEY: definisce chiave primaria (una sola, implica NOT NULL) CHECK, vedremo più avan

3 UNIQUE e PRIMARY KEY Definibili apraverso due forme: nella definizione di un singolo apributo, se forma da solo la chiave come elemento separato elencando più apribu6 UNIQUE Impone che i valori dell apributo (o degli apribu6) siano una (super)chiave: righe differen6 della tabella non possono avere gli stessi valori Eccezione per il valore nullo che può comparire su righe diverse (si assume che i valori nulli siano diversi tra loro) Chiavi su più apribu6, apenzione Nome CHAR(20) NOT NULL, Cognome CHAR(20) NOT NULL, UNIQUE (Cognome,Nome), Nome CHAR(20) NOT NULL UNIQUE, Cognome CHAR(20) NOT NULL UNIQUE, Non è la stessa cosa: nel primo caso si impone che non ci siano 2 righe con nome e cognome uguali, nel secondo (più restriovo) si impone che non ci siano più di una volta lo stesso nome o lo stesso cognome. PRIMARY KEY Impone che i valori dell apributo (o degli apribu6) siano la chiave primaria. Definibile una sola chiave primaria per ogni tabella (mentre i vincoli UNIQUE e NOT NULL si possono usare più volte). Gli apribu6 che fanno parte della chiave primaria non possono assumere il valore nullo (la definizione NOT NULL è implicita) PRIMARY KEY: Esempio PRIMARY KEY: alterna6ve Nome CHAR(20), Cognome CHAR(20), PRIMARY KEY (Cognome,Nome), Matricola CHAR(6) PRIMARY KEY Oppure Matricola CHAR(6),, PRIMARY KEY (Matricola)

4 CREATE TABLE: esempio CREATE TABLE Impiegato( Matricola CHAR(6) PRIMARY KEY, Nome CHAR(20) NOT NULL, Cognome CHAR(20) NOT NULL, Dipart CHAR(15), S6pendio NUMERIC(9) DEFAULT 0, FOREIGN KEY(Dipart) REFERENCES Dipar6mento(NomeDip), UNIQUE (Cognome,Nome) ) Vincoli interrelazionali CHECK, vedremo più avan6 REFERENCES e FOREIGN KEY permepono di definire vincoli di integrità referenziale: creano legami tra i valori di un apributo nella tabella corrente (interna) e i valori di un apributo di un altra tabella (esterna) per ogni riga della tabella il valore dell apributo (se diverso dal valore nullo) deve essere presente nelle righe della tabella esterna tra i valori del corrispondente apributo. Requisito: l apributo della tabella esterna deve essere soggepo a vincolo UNIQUE (in genere è PRIMARY KEY) Vincoli interrelazionali Due sintassi: per un singolo apributo: REFERENCES si deve specificare la tabella esterna e l apributo della tabella esterna al quale l apributo corrente deve essere legato. su più apribu6: FOREIGN KEY dopo la definizione degli apribu6. si devono elencare gli apribu6 della tabella corrente coinvol6, cui segue REFERENCES alla tabella esterna e la definizione dei corrisponden6 apribu6 della tabella esterna 21 Infrazioni Codice Data Vigile Prov Numero /2/95 4/3/95 5/4/96 5/2/ MI TO PR PR 39548K E Vigili Matricola Cognome Nome Rossi Neri Neri Luca Piero Mario 7543 Mori Gino 22 Infrazioni Codice Data Vigile Prov Numero /2/95 4/3/95 5/4/96 5/2/ MI TO PR PR 39548K E Auto Prov Numero Cognome Nome MI TO PR 39548K E Rossi Rossi Neri Mario Mario Luca 23 CREATE TABLE: esempio CREATE TABLE Infrazioni( Codice CHAR(6) PRIMARY KEY, Data DATE NOT NULL, Vigile INTEGER NOT NULL REFERENCES Vigili(Matricola), Provincia CHAR(2), Numero CHAR(6), FOREIGN KEY(Provincia, Numero) REFERENCES Auto(Provincia, Numero) ) 24 4

5 CREATE SCHEMA Per definire uno schema di base di da6 come insieme di elemen6 (tabelle, domini, viste, ecc.) CREATE SCHEMA [NomeSchema] {defelemen6} Modifica degli schemi Per modificare domini, schemi di tabelle, vincoli, valori di default, ecc.: ALTER DOMAIN ALTER TABLE Per rimuovere domini, schemi di tabelle, vincoli, valori di default, ecc.: DROP DOMAIN DROP TABLE DML SQL esprime le interrogazioni in modo dichiara6vo: si specifica l obieovo dell interrogazione e non il modo in cui openerlo. SQL si contrappone ai linguaggi di interrogazione procedurali (come l algebra relazionale) in cui l interrogazione specifica i passi da compiere per estrarre l informazione cercata. In mol6 sistemi si u6lizzano strumen6 diversi dal codice SQL per definire lo schema della base di da6. SQL: operazioni sui da6 Interrogazione: SELECT Per modificare il contenuto della base di da6 (l istanza della base di da6): INSERT, DELETE, UPDATE Istruzione SELECT: versione base SELECT ListaAPribu6 FROM ListaTabelle [ WHERE Condizione ] clausola SELECT depa "target list" clausola FROM clausola WHERE 29 Maternità Paternità Madre Figlio Olga Filippo Padre Figlio Sergio Olga Filippo Persone Nome Età Reddito Filippo Olga Sergio

6 Selezione e proiezione: esempio Nome e reddito delle persone con meno di trenta anni PROJ Nome, Reddito (SEL Eta<30 (Persone)) select nome, reddito from persone where eta < 30 proiezione selezione Persone Nome Età Reddito Reddito Filippo Filippo Olga Sergio SELECT: abbreviazioni Si può fare uso di alias per le tabelle per abbreviare i riferimenti ad esse. select nome, reddito from persone where eta < 30 select p.nome as nome, p.reddito as reddito from persone p where p.eta < 30 alias Selezione, senza proiezione Nome, età e reddito delle persone con meno di trenta anni select * from persone where eta < 30 SEL Eta<30 (Persone) L asterisco rappresenta la selezione di tutti gli attributi della tabella persone select * from persone where eta < 30 Equivale a: select nome, età, reddito from persone where eta < 30 Proiezione, senza selezione Nome e reddito di tupe le persone PROJ Nome, Reddito (Persone) select nome, reddito from persone

7 R(A,B) select * from R SELECT, abbreviazioni Equivale (intui6vamente) a select X.A as A, X.B as B from R X where true Condizione complessa: esempio select * from persone where reddito > 25 and (eta < 30 or eta > 60) Ges6one dei valori nulli Impiegati Matricola Cognome Filiale Età Rossi Neri Milano Roma Bruni Neri Milano NULL Bruni Milano NULL Gli impiega6 la cui età è o potrebbe essere maggiore di 40 SEL Età > 40 OR Età IS NULL (Impiegati) Gli impiega6 la cui età è o potrebbe essere maggiore di 40 SEL Età > 40 OR Età IS NULL (Impiegati) select * from impiegati where eta > 40 or eta is null Selezione, proiezione e join Istruzioni SELECT con una sola relazione nella clausola FROM permepono di realizzare: selezioni, proiezioni, ridenominazioni Con più relazioni nella clausola FROM si realizzano join (e prodoo cartesiani) SQL e algebra relazionale R1(A1,A2) R2(A3,A4) select R1.A1, R2.A4 from R1, R2 where R1.A2 = R2.A3 prodopo cartesiano (FROM) selezione (WHERE) proiezione (SELECT)

8 SQL e algebra relazionale, 2 R1(A1,A2) R2(A3,A4) select R1.A1, R2.A4 from R1, R2 where R1.A2 = R2.A3 possono essere necessarie ridenominazioni nel prodopo cartesiano nella target list select X.A1 AS B1,... from R1 X, R2 Y, R1 Z where X.A2 = Y.A3 AND... PROJ A1,A4 (SEL A2=A3 (R1 JOIN R2)) SQL: esecuzione delle interrogazioni Le espressioni SQL sono dichiara6ve e noi ne s6amo vedendo la seman6ca In pra6ca, i DBMS eseguono le operazioni in modo efficiente, ad esempio: eseguono le selezioni al più presto se possibile, eseguono join e non prodoo cartesiani SQL: specifica delle interrogazioni Un interrogazione SQL viene poi passata all oomizzatore delle interrogazioni (query op6mizer) che la riformula nel linguaggio procedurale interno al DBMS (nascosto all utente). La capacità dei DBMS di "oomizzare" le interrogazioni, rende (di solito) non necessario preoccuparsi dell'efficienza quando si specifica un'interrogazione È perciò più importante preoccuparsi della chiarezza (anche perché così è più difficile sbagliare ) Proiezione: apenzione cognome e filiale di tutti gli impiegati Matricola Cognome Filiale Stipendio 7309 Neri Napoli Neri Milano Rossi Roma Rossi Roma 64 Duplica6 In SQL si possono avere in una tabella più righe uguali (depe duplica6). Per l eliminazione dei duplica6 occorre specificare: select dis6nct PROJ Cognome, Filiale (Impiegati)

9 select cognome, filiale from impiega6 Cognome Neri Neri Rossi Rossi Filiale Napoli Milano Roma Roma select dis6nct cognome, filiale from impiega6 Cognome Neri Neri Rossi Filiale Napoli Milano Roma 49 Maternità Paternità Madre Figlio Olga Filippo Padre Figlio Sergio Olga Filippo Persone Nome Età Reddito Filippo Olga Sergio Selezione, proiezione e join I padri di persone che guadagnano più di ven6 milioni PROJ Padre (paternita JOIN Figlio =Nome SEL Reddito>20 (persone)) select distinct padre from persone, paternita where figlio = nome and reddito > 20 Join naturale Padre e madre di ogni persona paternita JOIN maternita select paternita.figlio,padre, madre from maternita, paternita where paternita.figlio = maternita.figlio Le persone che guadagnano più dei rispeovi padri; mostrare nome, reddito e reddito del padre PROJ Nome, Reddito, RP (SEL Reddito>RP (REN NP,EP,RP Nome,Eta,Reddito (persone) JOIN NP=Padre (paternita JOIN Figlio =Nome persone))) SELECT, con ridenominazione del risultato select figlio, f.reddito as reddito, p.reddito as redditopadre from persone p, paternita, persone f where p.nome = padre and figlio = f.nome and.reddito > p.reddito select f.nome, f.reddito, p.reddito from persone p, paternita, persone f where p.nome = padre and figlio = f.nome and f.reddito > p.reddito

10 Join esplicito La condizione di join non compare come argomento della clausola where ma viene spostata nella clausola from associata alle tabelle coinvolte nel join. Sintassi: SELECT FROM Tabella { JOIN Tabella ON CondDiJoin }, [ WHERE AltraCondizione ] Join esplicito: esempio Padre e madre di ogni persona select paternita.figlio,padre, madre from maternita, paternita where paternita.figlio = maternita.figlio select paternita.figlio, padre, madre from maternita join paternita on paternita.figlio = maternita.figlio Le persone che guadagnano più dei rispeovi padri; mostrare nome, reddito e reddito del padre select f.nome, f.reddito, p.reddito from persone p, paternita, persone f where p.nome = padre and figlio = f.nome and f.reddito > p.reddito Join naturale Natural join: nel join tra due tabelle si considera come condizione implicita l uguaglianza degli apribu6 con lo stesso nome. select f.nome, f.reddito, p.reddito from persone p join paternita on p.nome = padre join persone f on figlio = f.nome where f.reddito > p.reddito Join naturale: esempio select madre, paternita.figlio, padre from maternita join paternita on paternita.figlio = maternita.figlio select madre, paternita.figlio, padre from maternita natural join paternita Join esterno: "outer join" Esegue un join mantenendo tupe le righe in una o entrambe le tabelle. Tre varian6 del join esterno: le right full

11 Join esterno: "outer join, esempio Padre e, se nota, madre di ogni persona select paternita.figlio, padre, madre from paternita le join maternita on paternita.figlio = maternita.figlio select paternita.figlio, padre, madre from paternita le outer join maternita on paternita.figlio = maternita.figlio outer e' opzionale Outer join select paternita.figlio, padre, madre from maternita join paternita on maternita.figlio = paternita.figlio select paternita.figlio, padre, madre from maternita le outer join paternita on maternita.figlio = paternita.figlio select paternita.figlio, padre, madre from maternita full outer join paternita on maternita.figlio = paternita.figlio Ordinamento del risultato Nome e reddito delle persone con meno di trenta anni in ordine alfabe6co select nome, reddito from persone where eta < 30 order by nome select nome, reddito from persone where eta < 30 Persone Nome Reddito Filippo 30 select nome, reddito from persone where eta < 30 order by nome Persone Nome Reddito Filippo Operatori aggrega6 Rappresentano un estensione dell algebra relazionale. Nelle espressioni della target list possiamo avere anche espressioni che calcolano valori a par6re da insiemi di ennuple: conteggio, minimo, massimo, media, totale sintassi base (semplificata): Funzione ( [ DISTINCT ] * ) Funzione ( [ DISTINCT ] APributo ) Operatori aggrega6: COUNT Il numero di figli di select count(*) as NumFigliDi from Paternita where Padre = '' l operatore aggregato (count) viene applicato al risultato dell interrogazione: select * from Paternita where Padre = ''

12 12 Padre Paternità Figlio Sergio Olga Filippo NumFigliDi 2 67 Altri operatori aggrega6 SUM, AVG, MAX, MIN Media dei reddi6 dei figli di select avg(reddito) from persone join paternita on nome=figlio where padre='' 68 Unione, intersezione e differenza La select da sola non permepe di fare unioni; serve un costrupo esplicito: select union [all] select... I duplica6 vengono elimina6 (a meno che si usi all); anche dalle proiezioni! 69 Notazione posizionale SQL non richiede che gli schemi siano iden6ci (come richiesto dall algebra relazionale) ma solo che siano in pari numero e con domini compa6bili. La corrispondenza tra gli apribu6 non si basa sul nome ma sulla posizione degli apribu6. Se gli apribu6 hanno nome diverso nella due tabelle il risultato in genere non ha nome oppure usa i nomi degli apribu6 della prima tabella. 70 Notazione posizionale: esempio select padre, figlio from paternita union select madre, figlio from maternita 71 Olga Filippo Figlio Sergio Olga Filippo Olga Filippo Padre Figlio Sergio Olga Filippo 72

13 Notazione posizionale, 2 Notazione posizionale, 3 select padre, figlio from paternita union select figlio, madre from maternita CorrePa: select padre, figlio from paternita union select madre, figlio from maternita Anche con le ridenominazioni non cambia niente: select padre as genitore, figlio from paternita union select figlio, madre as genitore from maternita CorrePa: select padre as genitore, figlio from paternita union select madre as genitore, figlio from maternita select Nome from Impiegato except select Cognome as Nome from Impiegato Differenza select Nome from Impiegato intersect select Cognome as Nome from Impiegato equivale a Intersezione select I.Nome from Impiegato I, Impiegato J where I.Nome = J.Cognome Interrogazioni nidificate Le condizioni atomiche permepono anche il confronto fra un apributo (o più, vedremo poi) e il risultato di una sopointerrogazione Interrogazioni nidificate: esempio nome e reddito del padre di select Nome, Reddito from Persone, Paternita where Nome = Padre and Figlio = '' select Nome, Reddito from Persone where Nome = ( select Padre from Paternita where Figlio = '')

14 Interrogazioni nidificate, commen6 La forma nidificata è meno dichiara6va, ma talvolta più leggibile (richiede meno variabili) La forma piana e quella nidificata possono essere combinate Le sopointerrogazioni non possono contenere operatori insiemis6ci ( l unione si fa solo al livello esterno ); la limitazione non è significa6va Nome e reddito dei padri di persone che guadagnano più di 20 milioni select dis6nct P.Nome, P.Reddito from Persone P, Paternita, Persone F where P.Nome = Padre and Figlio = F.Nome and F.Reddito > 20 select Nome, Reddito from Persone where Nome in (select Padre from Paternita where Figlio = any (select Nome from Persone where Reddito > 20)) Nome e reddito dei padri di persone che guadagnano più di 20 milioni select dis6nct P.Nome, P.Reddito from Persone P, Paternita, Persone F where P.Nome = Padre and Figlio = F.Nome and F.Reddito > 20 select Nome, Reddito from Persone where Nome in (select Padre from Paternita, Persone where Figlio = Nome and Reddito > 20) Vincoli di integrità generici: check Specifica di vincoli di ennupla (e anche vincoli più complessi) check (Condizione) Si possono usare le stesse condizioni usate come argomento di where Check: esempio create table Impiegato ( Matricola character(6), Cognome character(20), Nome character(20), Sesso character not null check (sesso in ( M, F )) S6pendio integer, Superiore character(6), check (S6pendio <= (select S6pendio from Impiegato J where Superiore = J.Matricola) ) 83 14

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

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

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

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

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

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : SQL SQL originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia

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

Capitolo 4: SQL (Slides( da Atzeni,, Ceri, Paraboschi, Torlonee,, Basi di dati McGraw-Hill. Hill,, 2002)

Capitolo 4: SQL (Slides( da Atzeni,, Ceri, Paraboschi, Torlonee,, Basi di dati McGraw-Hill. Hill,, 2002) SQL, Definizione e interrogazione di basi di dati Capitolo 4: SQL (Slides( da Atzeni,, Ceri, Paraboschi, Torlonee,, Basi di dati McGraw-Hill Hill,, 2002) SQL Structured Query Language è un linguaggio con

Dettagli

Basi di Dati. 3. Il Linguaggio SQL. Basi di Dati - A.A. 2003/2004 - Diego Calvanese 3. SQL - 1. Diego Calvanese SQL SQL-92

Basi di Dati. 3. Il Linguaggio SQL. Basi di Dati - A.A. 2003/2004 - Diego Calvanese 3. SQL - 1. Diego Calvanese SQL SQL-92 Università di Roma La Sapienza Laurea in Ingegneria Informatica Basi di Dati Anno Accademico 2003/2004 Canale M-Z Diego Calvanese Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di

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

SQL. SQL: una visione panoramica. SQL: "storia" Definizione dei dati

SQL. SQL: una visione panoramica. SQL: storia Definizione dei dati SQL SQL: una visione panoramica I lucidi presentati sono liberamente ispirati al contenuto del Capitolo 4 del libro Atzeni, Ceri, Paraboschi, Torlone Basi di dati - McGraw-Hill, 1999 Structured Query Language

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

1.3 Il linguaggio SQL

1.3 Il linguaggio SQL Fondamenti di Informatica Sistemi di Elaborazione delle Informazioni Informatica Applicata 1.3 Il linguaggio SQL Anno Accademico 2012-2013 DIPARTIMENTO DI SCIENZE DOCUMENTARIE LINGUISTICO FILOLOGICHE E

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

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

Storia. Corso di Basi di Dati Spaziali. Componente DDL. Funzionalità. Esempio. Creazione di schema. Linguaggi: SQL. Storia: 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:

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

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

Basi di dati Maurizio Lenzerini Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza

Basi di dati Maurizio Lenzerini Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza Basi di dati Maurizio Lenzerini Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza Anno Accademico 2011/2012 http://www.dis.uniroma1.it/ lenzerini/?q=node/44 3. Il

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

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

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

----------------------------------------------------------------------------

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

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

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

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. Evoluzione del linguaggio. I linguaggi dentro SQL. I dialeu SQL. U@lizzo di SQL SQL. A. Ferrari 1

Il linguaggio SQL. Evoluzione del linguaggio. I linguaggi dentro SQL. I dialeu SQL. U@lizzo di SQL SQL. A. Ferrari 1 Il linguaggio SQL Structured Query Language SQL è un linguaggio di interrogazione per database proge

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

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

SQL. Storia un po piu in dettaglio. SQL: "storia" Tre livelli per SQL-2. Standard, dialetti, mercato

SQL. Storia un po piu in dettaglio. SQL: storia Tre livelli per SQL-2. Standard, dialetti, mercato Trasparenze rielaborate da Atzeni, Ceri, Paraboschi, Torlone Basi di dati: modelli e linguaggi di programmazione McGraw-Hill, 2003 Capitolo 4: SQL-1, prima parte 11/03/2005 SQL Structured Query Language

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

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

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

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

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

Linguaggi per basi di dati

Linguaggi per basi di dati ALGEBRA RELAZIONALE Linguaggi per basi di dati operazioni sullo schema DDL: data definition language operazioni sui dati DML: data manipulation language interrogazione ("query") aggiornamento 2 Linguaggi

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

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

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

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

Basi di dati. SQL: Amministrazione e Viste. Prof.ssa Rosalba Giugno Dott. Aurelio Giudice

Basi di dati. SQL: Amministrazione e Viste. Prof.ssa Rosalba Giugno Dott. Aurelio Giudice Basi di dati SQL: Amministrazione e Viste Prof.ssa Rosalba Giugno Dott. Aurelio Giudice SQL per definire ed amministrare Ad ogni utente tipicamente viene associata una base di dati, creata dall amministratore

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

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

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2 Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2 Vincoli di integrita 2 Cosa e un vincolo di integrita E una proprieta sempre valida

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

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

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

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

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

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

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

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

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

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

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

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

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

Structured Query Language parte 1

Structured Query Language parte 1 Consorzio per la formazione e la ricerca in Ingegneria dell'informazione Structured Query Language parte 1 Come interrogare una base di dati relazionale ed avere la risposta esatta Docente: Gennaro Pepe

Dettagli

Basi di dati Il linguaggio SQL

Basi di dati Il linguaggio SQL Basi di dati Il linguaggio SQL teoria e pratica con Microsoft Access Riepilogando Nelle basi di dati esiste 1. una parte invariante nel tempo, lo schema, costituita dalle caratteristiche dei dati (nomi

Dettagli

Basi di dati Il linguaggio SQL

Basi di dati Il linguaggio SQL Riepilogando Basi di dati Il linguaggio SQL Nelle basi di dati esiste 1. una parte invariante nel tempo, lo schema, costituita dalle caratteristiche dei dati (nomi degli attributi, domini, 2. una parte

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

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

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

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

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

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

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

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

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

Basi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale

Basi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale Basi di dati L Algebra Relazionale Introduzione all Algebra Relazionale Una volta definito lo schema logico di un database, partendo da un Diagramma E-R, e dopo aver inserito le tabelle nel database, eventualmente

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

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL. Definizione dei dati in SQL. SQL: "storia" Domini. CREATE TABLE, esempio

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL. Definizione dei dati in SQL. SQL: storia Domini. CREATE TABLE, esempio SQL Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 4: SQL 24/09/2002 originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 2.1 Comandi sui database 1 Prerequisiti Introduzione ai DB Linguaggi per database Tipi fondamentali di dati 2 1 Introduzione In questa Unità introduciamo il linguaggio

Dettagli

Introduzione all Algebra Relazionale

Introduzione all Algebra Relazionale Basi di dati L Algebra Relazionale Introduzione all Algebra Relazionale Una volta definito lo schema logico di un database, partendo da un Diagramma E-R, e dopo aver inserito le tabelle nel database, eventualmente

Dettagli

Algebra Relazionale e Calcolo Relazionale. L. Vigliano

Algebra Relazionale e Calcolo Relazionale. L. Vigliano Algebra Relazionale e Calcolo Relazionale Operazioni associate al modello relazionale Notazione algebrica Algebra relazionale Linguaggio procedurale interrogazioni espresse applicando operatori alle relazioni

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

SQL: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

SQL: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma SQL: Structured Query Language 1 SQL:Componenti Principali Data Manipulation Language (DML): interrogazioni, inserimenti, cancellazioni, modifiche Data Definition Language (DDL): creazione, cancellazione

Dettagli

Basi di dati. 2. Il modello relazionale. Il modello relazionale. Relazione: tre accezioni. 2.1 Basi di dati relazionali. Giuseppe De Giacomo

Basi di dati. 2. Il modello relazionale. Il modello relazionale. Relazione: tre accezioni. 2.1 Basi di dati relazionali. Giuseppe De Giacomo asi di dati Giuseppe De Giacomo Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza Anno Accademico 2005/2006 Canale M-Z 2. Il modello relazionale 2.1 asi di dati

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

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

SQL come linguaggio di interrogazione. Basi di dati. Interrogazioni SQL. Interpretazione algebrica delle query SQL

SQL come linguaggio di interrogazione. Basi di dati. Interrogazioni SQL. Interpretazione algebrica delle query SQL SQL come linguaggio di interrogazione Basi di dati Linguaggi di Interrogazione: SQL Prof.Angela Bonifati Le interrogazioni SQL sono dichiarative l utente specifica quale informazione è di suo interesse,

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

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

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

Esercitazione: Il DBMS MySQL

Esercitazione: Il DBMS MySQL Laurea in Ingegneria Informatica SAPIENZA Università di Roma Insegnamento di Basi di Dati Esercitazione: Il DBMS MySQL Marco Console Aspetti Organizzativi Marco Console Sito: www.dis.uniroma1.it/~console

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 1 Raffaella Gentilini 1 / 67 Sommario 1 Introduzine al Linguaggio SQL Concetti Preliminari 2 3 2 / 67 Concetti Preliminari Il linguaggio SQL SQL Acronimo per

Dettagli

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

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

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

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

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

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

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

INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3

INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3 INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3 L azienda Plastic S.p.A, operante nel settore materie plastiche, ha deciso di dotarsi di un Sistema Informativo per la gestione del suo

Dettagli

Il linguaggio SQL. ing. Alfredo Cozzi 1

Il linguaggio SQL. ing. Alfredo Cozzi 1 Il linguaggio SQL ing. Alfredo Cozzi 1 Il linguaggio SQL Il linguaggio SQL (Structured Query Language) è nato con l intento di soddisfare alle seguenti richieste nei db relazionali: - definire e creare

Dettagli

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. INFORMATICA GENERALE Prof. Alberto Postiglione

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. INFORMATICA GENERALE Prof. Alberto Postiglione INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università degli Studi di Salerno : (1) Interrogazioni semplici INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione

Dettagli