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

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

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

2 SQL Il linguaggio SQL è stato originariamente dichiarativo, diventando nel tempo sempre più procedurale (ovvero non specifica le sequenze di operazioni da compiere per ottenere il risultato). Integra al suo interno le 3 sotto-famiglie di linguaggi DDL, DML e DCL. Il modello si basa su tabelle, non più su relazioni. SQL adotta la logica a 3 valori introdotta nell algebra relazionale: vero, falso, sconosciuto (null).

3 Database Sailor(Sid, Sname, Srate, Sage) Boat(Bid, Bname, Bcolor) Rent(Sid, Bid, date) Sid Sname Srate Sage 22 Popeye Soldini Rusty Lubber 2 22 Bid Bname Bcolor 129 Sealion red 72 Alinghi red 313 Bathtub blu Sid Bid Rdate

4 SELECT select [all distinct] <attrib expr> [[as] <alias>] [, <attrib expr> [[as] <alias>] ] from <tabella> [[as] <alias>] [, <tabella> [[as] <alias>] ] [where <condizione>] clausola where target list clausola from Seleziona le tuple del prodotto cartesiano tra le tabelle della clausola from che rendono vera la clausola where ed esegue la proiezione sugli attributi della target list.

5 SELECT: esempi Proiezione 1. select Sid, Sname from Sailor 2. select distinct Bcolor from Boat 3. select Sage/Srate as Ratio from Sailor Sid Sname 22 Popeye 18 Soldini 7 Rusty 28 Lubber Bcolor red blu Ratio

6 SELECT: esempi Selezione tutti gli attributi select * from Sailor where Sname = Popeye condizione di selezione (predicato locale) operatori di confronto: Sid Sname Srate Sage =, >, <, <>, >=, <= 22 Popeye 9 56 Proiezione e selezione select Bname from Boat where Bcolor = red or Bid > 100 Bname Sealion Alinghi Bathtub operatori logici: OR, AND, NOT

7 SELECT: esempi prodotto cartesiano select Sailor.*, Boat.* from Sailor, Boat In caso di ambiguità i nomi degli attributi sono prefissati dalle tabelle di origine Sid Sname Srate Sage Bid Bname Bcolor 22 Popeye Sealion red 18 Soldini Sealion red 7 Rusty Sealion red 28 Lubber Sealion red 22 Popeye Alinghi red

8 SELECT: esempi join naturale select Sailor.Sid as Sid, Sname, Srate, Sage, Bid, Rdate from Sailor, Rent where Sailor.Sid = Rent.Sid predicato di join Sid Sname Srate Sage Bid Rdate 22 Popeye Soldini Lubber

9 SELECT: esempi theta-join select Bname from Boat, Rent where Rent.Bid > Boat.Bid Bname Sealion Alinghi Sealion Alinghi

10 SELECT: esempi join complessi select Sname, Bname from Sailor, Boat, Rent where Sailor.Sid = Rent.Sid and Rent.Bid = Boat.Bid and not (Bcolor = blu and Rdate > ) Sname Popeye Soldini Bname Alinghi Bathtub self-join select S.Sname as S1, S.Sname as S2 from Sailor S, Sailor S where S.Srate > S.Srate S1 S2 Popeye Soldini Popeye Rusty Popeye Lubber Soldini Rusty......

11 SELECT: esempi select [all distinct] <attrib expr> [[as] <alias>] [, <attrib expr> [[as] <alias>] ] from <tabella> [[as] <alias>] [TipoJoin] join <tabella> [[as] alias] on <condizione> [where <condizione>] predicato locale predicato di join TipoJoin: inner (default) right outer left outer full outer inner indica il theta-join classico il qualificatore outer è opzionale

12 SELECT: esempi join naturale full join select Sailor.Sid as Sid, Sname, Srate, Sage, Bid, Rdate from Sailor join Rent on Sailor.Sid = Rent.Sid select Sailor.Sid as Sid, Sname, Srate, Bid, Rdate from Sailor full join Rent on Sailor.Sid = Rent.Sid Sid Sname Srate Bid Rdate 22 Popeye Soldini Lubber Rusty 6 NULL NULL

13 SELECT: funzioni di gruppo count( < * [ [ distinct all ] attributi ] > ) Esempi: select count(*) as Num_righe from Sailor Num_righe 4 select count(distinct Bcolor) as Num_colori from Boat Num_colori 2 NOTA: nella target list possono coesistere attributi e funzioni di gruppo, a condizione che gli attributi siano specificati nella clausola GROUP BY!

14 SELECT: funzioni di gruppo sum( [ distinct all ] <attrib/expr> ) Altre funzioni di gruppo: avg, min, max. Esempi: 1. select sum(srate) as Somma_rate from Sailor where Sage > select avg(sage) as Eta_media from Sailor 3. select min(sage) as Eta_minima from Sailor where Srate > 6 Somma_rate 25 Eta_media Eta_minima 38 NOTA: nella target list possono coesistere attributi e funzioni di gruppo, a condizione che gli attributi siano specificati nella clausola GROUP BY!

15 SELECT: altri operatori like select Bname from Boat where Bname like A% select Sname from Sailor where Sname like P _ Bname Alinghi Sname Popeye is [not] null select Bid from Boat where Bname is not null Bid

16 SELECT: altri operatori between select Sname from Sailor where Srate between 6 and 9 Sname Popeye Soldini Rusty in select Sid from Sailor where Sname in ( Popeye, Soldini ) Sid 22 18

17 SELECT: clausola di ordinamento order by <attrib> [ asc desc ] [, <attrib> [ asc desc ] ] select * from Boat order by Bname Bid Bname Bcolor 72 Alinghi red 313 Bathtub blu 129 Sealion red select * from Boat order by Bcolor desc, Bid Bid Bname Bcolor 72 Alinghi red 129 Sealion red 313 Bathtub blu

18 SELECT: clausola GROUP BY group by <attrib> [, <attrib> ] select Bcolor, max(bid) as Max_Bid from Boat group by Bcolor Bcolor Max_Bid red 129 blu 313 select Sage, avg(srate) as rate_medio from Sailor group by Sage Sage rate_medio NOTA: nella target list possono coesistere attributi e funzioni di gruppo, a condizione che gli attributi siano specificati nella clausola GROUP BY!

19 SELECT: clausola HAVING having <condizione> select max(bid) from Boat group by Bcolor having max(bid) > 150 max(bid) 313 select Sage, avg(srate) from Sailor group by Sage having count(*) > 2 Sage avg(srate) NOTA: la clausola having si applica solo a funzioni di gruppo!

20 SELECT: esempi where + group by + having I passo: si selezionano le tuple che superano la clausola where II passo: si raggruppano le tuple selezionate in base alla clausola group by III passo: si calcola il risultato solo per i gruppi che soddisfano la clausola having Esempio select Srate, avg(sage) from Sailor where Sage > 45 group by Srate having min(srate) < 7 Srate avg(sage) 6 63

21 Altri operatori union (unione): <comando_select> union [all] <comando select> select Sid from Rent union all select Sid from Sailor where Sage < 25 Sid senza all: unione insiemistica con all: unione con duplicati

22 Altri operatori except (differenza): <comando_select> except [all] <comando select> select Sid from Rent except select Sid from Sailor where Sage < 25 Sid senza all: differenza insiemistica con all: differenza con duplicati - Entrambe le query devono includere lo stesso numero di colonne, nello stesso ordine. - I tipi di dati devono essere compatibili.

23 Altri operatori intersect (intersezione): <comando_select> intersect [all] <comando select> select Sid from Rent intersect select Sid from Sailor where Sage < 25 Sid 28 senza all: intersezione insiemistica con all: intersezione con duplicati

24 Subquery Un comando SELECT che compare all interno di un altro comando SELECT si dice subquery. Le subquery aumentano il potere espressivo di SQL. Attenzione: l uso di subquery può ridurre l efficienza in termini di prestazioni. Il tipo di risultato prodotto dalla subquery determina l uso che se ne può fare all interno del comando SELECT. Alcune restrizioni: non è ammesso il confronto tra subquery una subquery non può contenere la clausola GROUP BY (dipende dal dialetto utilizzato )

25 Subquery un comando select si dice scalare quando restituisce una costante select avg(srate) from Sailor subquery scalare in espressioni di confronto: attributo operatore_di_confronto (subquery_scalare) select * from Sailor where Srate > (select avg(srate) from Sailor) Sid Sname Srate Sage 22 Popeye Soldini 8 38

26 Subquery subquery scalare in calcolo di espressioni nella target list select Sname, Srate - (select avg(srate) from Sailor) as differenza from Sailor Sname differenza Popeye 2,75 Soldini 1,75 Rusty -0,25 Lubber -4,25

27 Subquery un comando select si dice di colonna quando restituisce una tabella con un singolo attributo select Sage from Sailor, Rent where Sailor.Sid = Rent.Sid subquery di colonna in espressione di confronto quantificato attributo operatore_di_confronto ALL ANY (subquery_di_colonna) select * from Sailor where Sage > ALL (select Sage from Sailor, Rent where Sailor.Sid = Rent.Sid) Sid Sname Srate Sage 7 Rusty 6 63

28 Subquery un comando select si dice di colonna quando restituisce una tabella con un singolo attributo select Sage from Sailor, Rent where Sailor.Sid = Rent.Sid subquery di colonna in espressione di confronto quantificato attributo operatore_di_confronto ALL ANY (subquery_di_colonna) select * from Sailor where Sage > ANY (select Sage from Sailor, Rent where Sailor.Sid = Rent.Sid) Sid Sname Srate Sage 22 Popeye Soldini Rusty 6 63

29 Subquery un comando select si dice di colonna quando restituisce una tabella con un singolo attributo select Sage from Sailor, Rent where Sailor.Sid = Rent.Sid subquery di colonna in espressione di confronto quantificato attributo operatore_di_confronto ALL ANY (subquery_di_colonna) select * from Sailor where Srate > 2 and Sage = ANY (select Sage from Sailor, Rent where Sailor.Sid = Rent.Sid) Sid Sname Srate Sage 22 Popeye Soldini 8 38

30 Subquery un comando select si dice di colonna quando restituisce una tabella con un singolo attributo: select Sage from Sailor, Rent where Sailor.Sid = Rent.Sid subquery di colonna in espressione di confronto quantificato attributo [NOT] IN (subquery_di_colonna) select * from Sailor where Sage IN (select Sage from Sailor, Rent where Sailor.Sid = Rent.Sid) Sid Sname Srate Sage 22 Popeye Soldini Lubber 2 22

31 Subquery un comando select si dice di tabella quando restituisce una tabella con diversi attributi: select Sage, Srate from Sailor, Rent where Sailor.Sid = Rent.Sid subquery di tabella in espressione di confronto quantificato [NOT] EXISTS (subquery_di_tabella) select Sname from Sailor where EXISTS (select Sage, Srate from Sailor, Rent where Sailor.Sid = Rent.Sid) Sname Popeye Soldini Rusty Lubber

32 Regole di scope: Subquery una tabella T è visibile in ogni subquery del comando SELECT la cui clausola FROM include T, a meno che la subquery non rilegga la stessa tabella T. un comando SELECT non ha visibilità delle tabelle incluse nella clausola FROM delle sue subquery. subquery FROM FROM T 1,, T m T 1,, T n

33 Subquery select Bname from Boat where exists (select * from Rent where Rent.Bid = Boat.Bid) Bname Alinghi Bathtub select Rdate, Bname from Rent, Boat where Rent.Bid = Boat.Bid AND Rdate > ALL (select Rent.Rdate from Rent as Rent where Rent.Rdate <> Rent.Rdate) Rdate Bname Bathtub

34 Subquery select Sname, (select max(rdate) from Rent where Rent.Sid = Sailor.Sid) as ultimo_noleggio from Sailor Sname ultimo_noleggio Popeye Soldini Rusty NULL Lubber

35 DML: aggiornamento dati inserimento tuple insert into <tabella> [(<lista_attributi>)] <origine> [(<lista_attributi>)]: per default si assumono tutte le colonne della tabella, altrimenti solo quelle esplicitamente specificate <origine>: 1. values( valore_attr_1,, valore_attr_n 2. <comando_select> Esempio: insert into Boat values (113, Oracle, blu )

36 DML: aggiornamento dati inserimento tuple insert into <tabella> [(<lista_attributi>)] <origine> Deve esserci corrispondenza tra attributi e valori. La lista degli attributi si può omettere, nel qual caso vale l ordine con cui sono stati definiti. Se la lista non include tutti gli attributi, I restanti assumono valore NULL (se ammesso) o il valore di DEFAULT (se specificato). E anche possibile inserire le tuple che rappresentano il risultato di una query: insert into sedipesaro (sedepe, resp) select sede, responsabile from sedi where citta = pesaro

37 DML: aggiornamento dati modifica tuple update <tabella> set <colonna> = <espressione> [ {, <colonna> = <espressione>} ] [where <condizione>] Esempi: update Boat set Bcolor= white where Bname= Alinghi update Sailor set Srate=(select max(srate) from Sailor) where Sname= Popeye

38 DML: aggiornamento dati modifica tuple update <tabella> set <colonna> = <espressione> [ {, <colonna> = <espressione>} ] [where <condizione>] L istruzione update può far uso di espressioni per determinare I nuovi valori. Esempio: Update imp set stipendio = 1.1*stipendio where ruolo = programmatore

39 DML: aggiornamento dati cancellazione tuple delete from <tabella> [where <condizione>] Esempi: delete from Boat delete from Rent where Rdate < delete from Sailor where Sage > (select avg(sage) from Sailor)

40 SQL: domini elementari character [varying] [(<Lunghezza>)] varying: la lunghezza della stringa varia nel range [0..Lunghezza] Lunghezza: default = 1. numeric [(<Precisione> [, <Scala>])] Precisione: massimo numero di cifre, default = 1 Scala: cifre a destra della virgola, default = 0 integer float [(<Precisione>)] date Formato data: YYYY MM DD enum ( valore1, valore2, )

41 SQL: DDL creazione database: create schema <nome_database> creazione tabella: create table <nome_tabella> ( <definizione_elemento_tabella> [ {, <definizione_elemento_tabella> } ] ) <definizione_elemento_tabella> : <definizione_di_colonna> <definizione_vincolo_di_tabella>

42 SQL: DDL <definizione_di_colonna> : <nome_attributo> <tipo> [default <valore>] [<vincolo_di_colonna>] <vincolo_di_colonna> : [CONSTRAINT <nome_vincolo>] <tipo_vincolo> <tipo_vincolo>: not null unique primary key check (<espressione>) references <tabella_esterna> [(<colonna_esterna>)] [<azione>] <azione> : on {update delete} {no action set null set default cascade}

43 SQL: DDL <definizione_vincolo_di_tabella> : [CONSTRAINT <nome_vincolo>] <tipo_vincolo> <tipo_vincolo>: unique (<attributo> [ {, <attributo>} ] ) check (<espressione>) primary key (<attributo> [ {, <attributo>} ] ) foreign key <lista_attributi> references <tabella_esterna> [(<lista_attributi>)] [<azione>] <azione> : on {update delete} {no action set null set default cascade}

44 SQL: DDL Esempio create schema Rent_a_boat create table Sailor(Sname char(30) not null, Sid numeric(3) primary key, Sage numeric(2) check (value > 14), Srate numeric(1) default 6) create table Boat(Bname char(30), Bid numeric(3) primary key, Bcolor enum( red, blu, green, black, yellow, white )) create table Rent(Sid numeric(3) references Sailor(Sid) on update cascade on delete no action, Bid numeric(3) references Boat(Bid) on update cascade on delete no action, Rdate date, primary key (Sid, Bid, Rdate))

45 SQL: DDL asserzione (vincolo su più tabelle): create assertion <nome_asserzione> check (<espressione>) Esempio create assertion marinai check (not exists (select * from Sailor where Sailor.Sid not in (select Sailor.Sid from Rent, Sailor where Sailor.Sid = Rent.Sid)))

46 SQL: DDL asserzione (vincolo su più tabelle): create assertion <nome_asserzione> check (<espressione>) Esempio CREATE TABLE Esame (Sno Char(6) REFERENCES Studente ON DELETE CASCADE, Cno Char(6) REFERENCES Corso, Voto Integer NOT NULL, PRIMARY KEY (Sno,Cno), CONSTRAINT Voto-constr CHECK Voto > 18 AND Voto < 30);

47 SQL: DDL dominio (tipo di dato non predefinito): create domain <nome_dominio> as <tipo> [ <tipo_vincolo>] [<clausola_default>] Esempio create domain rate as numeric(2) default 6 check (value between 4 and 10) seguito da... create table Sailor(, Srate rate)

48 DML: aggiornamento schema cancellazione tabelle e database drop table <tabella> {RESTRICT CASCADE} drop schema <database> {RESTRICT CASCADE} solo se non riferita in ogni caso solo se vuoto in ogni caso modifica tabelle alter table <tabella> add <colonna> <definizione_di_colonna> alter table <tabella> add <vincolo_di_tabella> alter table <tabella> alter <colonna> {set <clausola_default> drop default} alter table <tabella> drop <colonna> {RESTRICT CASCADE} alter table <tabella> drop <nome_vincolo> {RESTRICT CASCADE}

49 DML: aggiornamento schema cancellazione asserzioni drop assertion <asserzione> cancellazione e modifica domini alter domain <dominio> set <clausola_di_default> alter domain <dominio> drop default alter domain <dominio> add <vincolo_di_colonna> alter domain <dominio> drop <nome_vincolo>

50 Viste La vista è una tabella virtuale ottenuta proiettando il contenuto di altre tabelle. La definizione dello schema di relazione di una vista dipende dalla struttura delle tabelle di origine. La vista appare all utente come una tabella reale. VANTAGGI: accesso ai dati semplificato visione dei dati a diversi livelli di astrazione diversificazione dei permessi di accesso indipendenza logica

51 Definizione di viste create view <nome_vista> [ (<nome_colonna> [ {, <nome_colonna>} ] ) ] as <comando_select> Esempi: vista di gruppo create view BluBoat as select * from Boat where Bcolor= blu create view activesailor(asname, asid) as select Sname, Sailor.Sid from Sailor, Rent where Sailor.Sid = Rent.Sid create view avgsailor(age, avgrate) as select Sage, avg(srate) from Sailor group by Sage

52 Uso di viste Uso di viste in un comando SELECT: nessuna restrizione per viste non di gruppo se la vista è di gruppo: la clausola FROM che contiene una vista di gruppo non può contenere riferimenti ad altre tabelle il comando SELECT la cui clausola FROM contiene una vista di gruppo non può usare le clausole WHERE e GROUP BY Esempi: select Bname from BluBoat, Rent where BluBoat.Bid = Rent.Bid and Rdate > select asname from activesailor select max(avgrate) from avgsailor

53 Uso di viste Una vista si dice aggiornabile se attraverso un suo accesso è possibile aggiornare i dati delle tabelle di origine. Una vista è aggiornabile se la sua definizione soddisfa le seguenti condizioni: la clausola DISTINCT non appare nella target list la target list contiene solo attributi (no funzioni di gruppo o espressioni) la clausola FROM contiene una sola tabella o vista aggiornabile la clausola WHERE non contiene subquery la clausola GROUP BY non è usata Esempio update BluBoat set Bid = 310 where Bid = 313

54 Definizione di viste aggiornabili create view <nome_vista> [ (<nome_colonna> [ {, <nome_colonna>} ] ) ] as <comando_select> [with [local cascaded] check option] Esempi create view BluBoat as select * from Boat where Bcolor= blu with check option update BluBoat set Bcolor = red where Bid = 313 NO! create view BluBoat2 as select * from BluBoat where Bid > 200 with check option update BluBoat2 set Bcolor = red where Bid = 313 NO!

55 Cancellazione di viste drop view <nome_vista> {RESTRICT CASCADE} Esempi create view BluBoat as select * from Boat where Bcolor= blu with check option create view BluBoat2 as select * from BluBoat where Bid > 200 drop view BluBoat RESTRICT drop view BluBoat CASCADE nessun effetto entrambe le viste sono eliminate

56 SQL: caratteristiche evolute STORED PROCEDURES permettono di associare un nome ad una istruzione SQL permettono di specificare parametri per lo scambio di informazioni con la procedura Esempio procedure addsailor (:nome char(30), ) insert into Sailor values(:nome, ); addsailor(:nome, );

57 SQL: caratteristiche evolute TRIGGER le regole attive seguono il paradigma Evento-Condizione-Azione si attivano quando occorre uno specifico evento e, se verificata una specifica condizione, eseguono un azione stabilita create trigger <nome_trigger> <before after> <insert update delete> into <nome_tabella> for each row <comando_sql>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12 SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2011/12 DEFINIZIONE Il concetto di vista 2 È una relazione derivata. Si specifica l espressione che genera il suo contenuto.

Dettagli

User Tools: DataBase Manager

User Tools: DataBase Manager Spazio di lavoro Per usare T-SQL Assistant selezionare il link Simple Query e spostare a piacere la piccola finestra dove un menu a tendina mostra i diversi comandi SQL selezionabili, il pulsante Preview

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

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

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

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

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

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

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

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

SQL. Linguaggio di interrogazione per basi di dati relazionali. Relazione = tabella con attributi (a 1, a 2,, a n ): Funzionalità principali di SQL:

SQL. Linguaggio di interrogazione per basi di dati relazionali. Relazione = tabella con attributi (a 1, a 2,, a n ): Funzionalità principali di SQL: SQL Linguaggio di interrogazione per basi di dati relazionali Relazione = tabella con attributi (a 1, a 2,, a n ): Funzionalità principali di SQL: Creazione delle tabelle Interrogazione della base di dati

Dettagli

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA 3. Panoramica su SQL Prof. Mauro Giacomini Sommario Introduzione Istruzione SELECT Tipi di Join Subquery Comandi DML Creazione delle tabelle Introduzione

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Data Base. Master Bio Info Reti e Basi di Dati Lezione 6 Data Base 1 Sommario I concetti fondamentali. Database Relazionale.. Query e SQL MySql, Creazione di un db in MySQL con PHPmyAdmin Creazione database e delle Tabelle Query Inserimento Ricerca Modifica

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

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

INTRODUZIONE AD SQL (CAPITOLO 4) R. Basili a.a. 2011-2012

INTRODUZIONE AD SQL (CAPITOLO 4) R. Basili a.a. 2011-2012 1 INTRODUZIONE AD SQL (CAPITOLO 4) R. Basili a.a. 2011-2012 SQL Dopo aver eseguito l installazione del DBMS e di uno o più database: Accesso al DBMS Interpretazione di uno script Descrizione dello schema

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

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

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

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

Informatica per le discipline umanistiche 2 lezione 10

Informatica per le discipline umanistiche 2 lezione 10 Informatica per le discipline umanistiche 2 lezione 10 Parte III: il computer come strumento per l interazione e la comunicazione Si è parlato di identità Parte III: il computer come strumento per l interazione

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

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

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7 Il trattamento dei dati database: il linguaggio SQL seconda parte Prof. Valle D.ssa Folgieri Lez9 15.11.06 Trattamento dati. Database: il

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

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

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

Lezione 8. Metadati, Viste e Trigger

Lezione 8. Metadati, Viste e Trigger Lezione 8 Metadati, Viste e Trigger Pag.1 Metadati e catalogo di sistema I metadati sono dati a proposito dei dati (quali tabelle esistono?, quali campi contengono?, quante tuple contengono?, ci sono vincoli

Dettagli

Archivi e Basi di Dati

Archivi e Basi di Dati Archivi e Basi di Dati A B C File Programma 1 Programma 2 A B C File modificati Programma 1 DBMS DB Programma 2 Informatica Generale (CdL in E&C), A.A. 2000-2001 55 Problemi nella gestione di archivi separati

Dettagli

Prova Scritta di Basi di Dati

Prova Scritta di Basi di Dati Prova Scritta di Basi di Dati 4 Giugno 2007 COGNOME: NOME: MATRICOLA: Si prega di risolvere gli esercizi direttamente sui fogli del testo, negli spazi indicati. Usare il foglio protocollo solo per la brutta

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

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

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

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

Vincoli e Triggers. Vincoli. Tipo di vincoli. Chiavi esterne

Vincoli e Triggers. Vincoli. Tipo di vincoli. Chiavi esterne Vincoli Chiavi esterne Vincoli locali e globali Triggers Leggere capitolo 7 di Garcia- Molina et al. Vincoli e Triggers Un vincolo e una relazione tra dati che il DBMS deve assicurare. Esempio: vincoli

Dettagli

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) SQL quick reference piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) I tipi dei dati di SQL sono: delimitatori delle costanti: TEXT(n) stringa di caratteri

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. Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. SQL: Structured Query Language

Il linguaggio SQL. Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. SQL: Structured Query Language 1 Il linguaggio SQL Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova SQL: Structured Query Language 2 Generalita Linguaggio di interrogazione per le basi di dati. Sviluppato presso i

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

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

16. IL LINGUAGGIO SQL

16. IL LINGUAGGIO SQL 16. IL LINGUAGGIO SQL Il linguaggio SQL (Structured Query Language) è un linguaggio non procedurale (in quanto non richiede la descrizione dei passi elementari di elaborazione) o di tipo dichiarativo (in

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

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

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

Appunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov.

Appunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov. Appunti di MySql Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov. Indice generale avviare la shell mysql...2 comandi SQL per la gestione del database (DDL)...2 visualizzare l'elenco

Dettagli

Prova Scritta di Basi di Dati

Prova Scritta di Basi di Dati Prova Scritta di Basi di Dati 1 Luglio 2008 COGNOME: NOME: MATRICOLA: Si prega di risolvere gli esercizi direttamente sui fogli del testo, negli spazi indicati. Usare il foglio protocollo solo per la brutta

Dettagli

Esame di Stato Istituto Tecnico Industriale Soluzione della Seconda Prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico: 2002-2003

Esame di Stato Istituto Tecnico Industriale Soluzione della Seconda Prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico: 2002-2003 Esame di Stato Istituto Tecnico Industriale Soluzione della Seconda Prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico: 2002-2003 Il primo punto richiede l analisi e lo sviluppo del progetto

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