SQL Matteo Magnani, Danilo Montesi Università di Bologna SQL. Linguaggio di interrogazione per basi di dati relazionali

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "SQL Matteo Magnani, Danilo Montesi Università di Bologna SQL. Linguaggio di interrogazione per basi di dati relazionali"

Transcript

1 SQL Linguaggio di interrogazione per basi di dati relazionali

2 SQL Structured Query Language Linguaggio di interrogazione per basi di dati relazionali. Permette di comunicare con diversi sistemi tramite un unico linguaggio (limitatamente all utilizzo di semplici istruzioni). Comprende funzionalita sia di Data Definition Language (DDL), per modificare lo schema di un database, sia di Data Manipulation Language (DML), per modificarne le istanze. 2

3 SQL Prima proposta: SEQUEL (IBM Research, 1974, System R); Standard: 1986: prima versione (ANSI) 1989: SQL : SQL : SQL-3 (ISO) Livelli di aderenza: Entry SQL Intermediate SQL Full SQL 3

4 SQL SQL come Data Definition Language

5 Creazione di tabelle relazionali Il processo di progettazione di una base di dati relazionale porta alla definizione di tabelle (schema logico). Ad esempio: DIPARTIMENTO(Codice, Nome, Indirizzo) In SQL, questa tabella puo essere create nel seguente modo: CREATE TABLE DIPARTIMENTO( Codice CHAR(4) PRIMARY KEY, Nome VARCHAR(40), Indirizzo VARCHAR(80) ) 5

6 Creazione di tabelle Istruzione per la creazione della tabella Nome della tabella CREATE TABLE DIPARTIMENTO( Codice CHAR(4) PRIMARY KEY, Nome VARCHAR(40), Indirizzo VARCHAR(80) ) Nomi degli attributi Domini, cioe insieme dei valori ammissibili per il corrispondente attributo 6

7 Creazione di tabelle Otteniamo una tabella come la seguente, momentaneamente vuota. Per ogni attributo, abbiamo specificato un dominio, cioè l insieme di valori ammissibili per quell attributo. Codice Nome Indirizzo 7

8 Domini I domini possono essere elementari, cioè messi direttamente a disposizione dal linguaggio SQL. Inoltre, un utente può definire propri domini a partire da quelli semplici. Inizieremo con il vedere i domini elementari. 8

9 Domini elementari: Caratteri Stringa di caratteri di lunghezza predefinita: character(4) Esattamente 4 caratteri char(4) character(4) character set Greek Stringa di caratteri di lunghezza variabile: character varying (4) varchar(4) varchar(4) character set Greek Al massimo 4 caratteri 9

10 Domini elementari: Bit Bit: utile per rappresentare flag, cioè possesso o meno di una proprietà. Stringa di bit di lunghezza predefinita: bit(1) Esattamente 1 bit bit(5) Stringa di bit di lunghezza variabile: bit varying (4) varbit(4) Al massimo 4 bit 10

11 Domini elementari: numerici esatti Interi: integer smallint Decimali numeric(3) numeric(5,2) decimal(5,2) 3 cifre significative [-999, +999] [ , ] 5 cifre significative, di cui 2 dopo la virgola [ ???, ???] Almeno 5 cifre significative, di cui almeno 2 dopo la virgola 11

12 Domini elementari: numerici approssimati Dichiarazioni: float float(5) real double precision Esempi: 0,467E12 0,24E-3-0,4E x10 12 Numero di cifre per rappresentare la mantissa mantissa esponente 12

13 Domini elementari: temporali Date (anno, mese, giorno) date Orario (ora, minuti, secondi) time 10:59:05 time(3) 10:59: time with time zone 10:59:05+1:00 Istante (anno, mese, giorno, ora, minuti, secondi) timestamp :59: timestamp(3) :59: timestamp with time zone :59:05+1:00 13

14 Domini elementari: intervalli di tempo Rappresenta la durata di un evento interval year(2) interval year(3) to month interval day fino a 99 anni interval day(4) to second(5) fino a 999 anni e 11 mesi fino a 9999 giorni, 23 ore, 59 minuti e secondi 14

15 Domini elementari Ricapitolando, si possono utilizzare i seguenti domini elementari: Stringhe di caratteri. Stringhe di bit. Numerici precisi e approssimati. Tempi e intervalli temporali. 15

16 Esempi di domini CREATE TABLE DIPARTIMENTO( Codice CHAR(4) PRIMARY KEY, Nome VARCHAR(40), Indirizzo VARCHAR(80)) Codice INFO MATE Nome Scienze dell informazione Matematica Indirizzo Via Mura A. Zamboni, 7 null 16

17 Esempi di domini CREATE TABLE DOCENTI( ID CHAR(5) PRIMARY KEY, Nome VARCHAR(40), Cognome VARCHAR(80), Stipendio INTEGER) ID Nome Cognome Stipendio Mario Rossi

18 Esempi di domini CREATE TABLE DOCENTI( ID CHAR(5) PRIMARY KEY, Nome VARCHAR(40), Cognome VARCHAR(80), Licenziato DATE) ID Nome Cognome Licenziato Mario Neri

19 Domini personalizzati E possibile creare nuovi domini, a partire da quelli presentati finora. Per creare un dominio, si può modificare un tipo elementare: Definendo un valore di default. Aggiungendo vincoli (restrizioni). Un dominio può essere utile per non ripetere più volte gli stessi vincoli. 19

20 Domini personalizzati Momentaneamente ne vedremo solo un esempio: CREATE DOMAIN VOTO DEFAULT null CHECK (value>=18 AND value<=30) 20

21 Domini personalizzati Istruzione per la creazione del dominio Nome del dominio CREATE DOMAIN VOTO DEFAULT null CHECK (value>=18 AND value<=30) Comportamento di default Vincolo. Vedremo più avanti come definire vincoli complessi. 21

22 Vincoli I domini permettono di vincolare i valori che popoleranno la base di dati. Ci sono però altri tipi di vincoli che è bene potere esplicitare. Ad esempio, potremmo desiderare che non ci siano due docenti differenti con lo stesso codice docente, oppure che per ogni docente venga riportato almeno il cognome. 22

23 Vincoli Vedremo due classi di vincoli. I vincoli intrarelazionali riguardano una tabella. I vincoli interrelazionali riguardano più tabelle contemporaneamente. 23

24 Vincoli intrarelazionali Partiamo da una tabella senza vincoli: CREATE TABLE DOCENTI( ID CHAR(5), Nome VARCHAR(40), Cognome VARCHAR(80), Stipendio INTEGER ) 24

25 Vincoli intrarelazionali Se desideriamo che il cognome di un docente venga sempre specificato: CREATE TABLE DOCENTI( ID CHAR(5), Nome VARCHAR(40), Cognome VARCHAR(80) not null, Stipendio INTEGER ) 25

26 Vincoli intrarelazionali Se vogliamo che non ci siano due ID uguali: CREATE TABLE DOCENTI( ID CHAR(5) unique, Nome VARCHAR(40), Cognome VARCHAR(80) not null, Stipendio INTEGER ) 26

27 Vincoli intrarelazionali Se non vogliamo due docenti che si chiamano allo stesso modo: CREATE TABLE DOCENTI( ID CHAR(5) unique, Nome VARCHAR(40), Cognome VARCHAR(80) not null, Stipendio INTEGER, unique(nome, Cognome) ) 27

28 Vincoli intrarelazionali Attenzione: Nome VARCHAR(40) not null, Cognome VARCHAR(80) not null, unique(nome, Cognome) E diverso da: Nome VARCHAR(40) not null unique, Cognome VARCHAR(80) not null unique, 28

29 Vincoli intrarelazionali ID può ancora presentare valori nulli. Vorremmo che diventasse chiave primaria: CREATE TABLE DOCENTI( ID CHAR(5) primary key, Nome VARCHAR(40), Cognome VARCHAR(80) not null, Stipendio INTEGER, unique(nome, Cognome) ) 29

30 Vincoli intrarelazionali Se volessimo utilizzare l accoppiata Nome- Cognome come chiave primaria: CREATE TABLE DOCENTI( ID CHAR(5) not null unique, Nome VARCHAR(40), Cognome VARCHAR(80) not null, Stipendio INTEGER, primary key (Nome, Cognome) ) 30

31 Vincoli intrarelazionali Ricapitolando: not null, unique, primary key. La sintassi di unique e primary key cambia se ci si riferisce a piu attributi contemporaneamente. Esiste infine un costrutto particolarmente potente: check. Per comprenderne a pieno l utilizzo è però necessario introdurre altri aspetti di SQL. Lo vedremo quindi in seguito più in dettaglio. 31

32 Vincoli intrarelazionali CREATE TABLE DOCENTI( ID CHAR(5) not null unique, Nome VARCHAR(40), Cognome VARCHAR(80) not null, Stipendio INTEGER check (Stipendio>=3000), primary key (Nome, Cognome) ) 32

33 Vincoli interrelazionali I vincoli interrelazionali più importanti consistono nelle chiavi importate (foreign key). E anche possibile definire vincoli interrelazionali tramite il comando check, ma vedremo come in seguito. Ripassiamo brevemente il significato di chiave importata. 33

34 Vincoli interrelazionali Codice Data Vigile Prov Numero Infrazioni /9/ MI 3K /12/ MI 6D /12/ RM 7C /1/ RM 7C5567 Automobili Matricola Vigili Cognome Nome Rossi Luca Neri Pino Nicolosi Gino Prov MI MI RM RM MI Numero 3K9886 6D5563 7C5567 1A6673 5E7653 Prop Nestore Nestore Polluce Mussone Marchi

35 Vincoli interrelazionali create table Infrazioni( Codice character(6) primary key, Data date not null, Vigile integer not null references Vigile(Matricola), Provincia character(2), Numero character(6), foreign key(provincia, Numero) references Automobili(Provincia, Numero)) 35

36 Vincoli interrelazionali Infrazioni è detta tabella interna, mentre Vigili e Automobili sono dette tabelle esterne. Una chiave importata ha come unico vincolo unique sull attributo/i della tabella esterna. references può essere utilizzato su un singolo attributo, mentre foreign key(...) references su un numero qualsiasi di attributi. 36

37 Vincoli interrelazionali: politiche di reazione Codice Data Vigile Prov Numero Infrazioni /9/ MI 3K /12/ MI 6D /12/ RM 7C /1/ RM 7C5567 Matricola Vigili Cognome Nome Rossi Luca Neri Pino Nicolosi Gino Cancellazione in una tabella interna: NESSUNA REAZIONE 37

38 Vincoli interrelazionali: politiche di reazione Codice Data Vigile Prov Numero Infrazioni /9/ MI 3K /12/ MI 6D /12/ RM 7C /1/ RM 7C5567 Matricola Vigili Vincolo non Cognome Nome soddisfatto nella tabella interna: Rossi Luca PROIBITO Neri Pino Nicolosi Gino 38

39 Vincoli interrelazionali: politiche di reazione Codice Data Vigile Prov Numero Infrazioni /9/ MI 3K /12/ MI 6D /12/ RM 7C /1/ RM 7C5567 Matricola Vigili Cognome Nome Rossi Luca Neri Pino Nicolosi Gino Modifica in una tabella esterna: otteniamo valori non ammissibili, dobbiamo ripristinare il vincolo. COME? 39

40 Vincoli interrelazionali: politiche di reazione Codice Data Vigile Prov Numero Infrazioni /9/ MI 3K /12/ MI 6D /12/ RM 7C /1/ RM 7C5567 Matricola Vigili Cognome Nome Rossi Luca Neri Pino Nicolosi Gino SOLUZIONE 1: PROPAGAZIONE DELLA CANCELLAZIONE 40

41 Vincoli interrelazionali: politiche di reazione Codice Data Vigile Prov Numero Infrazioni /9/1997 null MI 3K /12/ MI 6D /12/1997 null RM 7C /1/ RM 7C5567 Matricola Vigili Cognome Nome Rossi Luca Neri Pino Nicolosi Gino SOLUZIONE 2: ANNULLAMENTO DEI VALORI NON AMMISSIBILI 41

42 Vincoli interrelazionali: politiche di reazione Codice Data Vigile Prov Numero Infrazioni /9/ MI 3K /12/ MI 6D /12/ RM 7C /1/ RM 7C5567 Matricola Vigili Cognome Nome Rossi Luca Neri Pino Nicolosi Gino Problema simile se vengono modificati valori di una chiave importata. 42

43 Violazione dei vincoli Per tutti i vincoli intrarelazionali, si assume che se violati a causa di un aggiornamento, il comando di aggiornamento venga rifiutato segnalando l errore all utente. Per i vincoli di integrità referenziale, SQL permette di scegliere altre reazioni da adottare quando viene rilevata una violazione La reazione è possibile solo per le operazioni sulla tabella esterna, che si possono propagare secondo una certa politica verso la tabella interna. Le violazioni possibili sono causate da modifiche di attributi o cancellazione di righe. 43

44 Politiche di reazione Specificata immediatamente dopo il vincolo di integrità consente di associare politiche diverse ai diversi eventi (delete, update) secondo la seguente sintassi: on delete < cascade set null set default no action > on update < cascade set null set default no action > 44

45 Reazioni per delete cascade: si propagano le cancellazioni. set null: all attributo referente viene assegnato il valore nullo al posto del valore cancellato nella tabella. set default: all attributo referente viene assegnato il valore di default al posto del valore cancellato nella tabella esterna. no action: la cancellazione non viene consentita. 45

46 Reazioni per update cascade: il nuovo valore valore viene propagato nell altra tabella. set null: all attributo referente viene assegnato il valore nullo al posto del valore modificato nella tabella. set default: all attributo referente viene assegnato il valore di default al posto del valore modificato nella tabella esterna. no action: l azione di modifica non viene consentita. 46

47 Vincoli interrelazionali: politiche di reazione create table Infrazioni( Codice character(6) primary key, Data date not null, Vigile integer not null references Vigile(Matricola), Provincia character(2), Numero character(6), foreign key(provincia, Numero) references Automobili(Provincia, Numero) on update cascade on delete set null ) 47

48 Modifiche degli schemi Abbiamo visto come creare tabelle, e in parte come definire domini personalizzati. Uno schema di un database può essere costituito da questi e da altri elementi, che impareremo a dichiarare in seguito. Come possiamo fare se abbiamo la necessità di modificare una tabella o un dominio successivamente alla loro creazione? 48

49 Modifiche degli schemi E possibile manipolare schemi a posteriori tramite i seguenti comandi: ALTER DROP 49

50 Cancellazione di tabelle Istruzione per la cancellazione della tabella Nome della tabella DROP TABLE DIPARTIMENTO Solo se la tabella non e vuota. DROP TABLE DIPARTIMENTO RESTRICT DROP TABLE DIPARTIMENTO CASCADE Indipendentemente dal contenuto 50

51 Cancellazione di domini Istruzione per la cancellazione del dominio Nome del dominio DROP DOMAIN VOTO DROP DOMAIN VOTO RESTRICT Solo se il dominio non e utilizzato da nessun attributo. DROP DOMAIN VOTO CASCADE Indipendentemente dall utilizzo. Gli attributi che lo utilizzavano mantengono la definizione di tipo. 51

52 Comando DROP DROP... CASCADE ATTENZIONE AGLI EFFETTI INDESIDERATI. Ne parleremo quando avremo introdotto altri elementi dello schema. 52

53 Alterazione di tabelle (Colonne) ALTER TABLE DIPARTIMENTO ADD COLUMN NASCITA DATE ALTER TABLE DIPARTIMENTO DROP COLUMN NASCITA 53

54 Alterazione di tabelle (Default) ALTER TABLE DIPARTIMENTO ALTER COLUMN NASCITA DROP DEFAULT ALTER TABLE DIPARTIMENTO ALTER COLUMN NASCITA SET DEFAULT

55 Alterazione di tabelle (Vincoli) ALTER TABLE DIPARTIMENTO ADD CONSTRAINT DefNuovoVincolo ALTER TABLE DIPARTIMENTO DROP CONSTRAINT NomeVincolo 55

56 Dizionario dei Dati Tutti i DBMS relazionali gestiscono le descrizioni delle tabelle presenti nella basi di dati mediante una struttura relazionale, cioè mediante tabelle. La base di dati contiene due tipi di tabelle: Quelle contente i dati. Quelle contenente i metadati (dati che descrivono dati), dette il catalogo della base di dati oppure il dizionario dei dati. I comandi di definizione e modifica dello schema manipolano il dizionario dei dati. 56

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

Tipi numerici esatti Valori interi o con parte decimale di lunghezza prefissata

Tipi numerici esatti Valori interi o con parte decimale di lunghezza prefissata Domini Tipi numerici esatti Valori interi o con parte decimale di lunghezza prefissata numeric [(Precisione [,Scala])] decimal [(Precisione [,Scala])] integer smallint Precisione specifica il numero di

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

SQL-DDL. Basi di Dati. Prof. Alfredo Cuzzocrea Università degli Studi di Trieste

SQL-DDL. Basi di Dati. Prof. Alfredo Cuzzocrea Università degli Studi di Trieste Basi di Dati Prof. Alfredo Cuzzocrea Università degli Studi di Trieste SQL-DDL Credits to: Prof. P. Atzeni UniRoma3 Prof. S. Ceri PoliMI Prof. S. Paraboschi UniBG Prof. R. Torlone UniRoma3 SQL originariamente

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

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. 2017/2018 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2017-18.htm Prof.ssa Francesca A. Lisi francesca.lisi@uniba.it

Dettagli

Stringhe di caratteri

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

Dettagli

Corso di Basi di Dati

Corso di Basi di Dati Corso di Basi di Dati Il Linguaggio SQL Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ 1 Linguaggi per DBMS Il modello relazionale definisce i concetti generali ed i vincoli per modellare

Dettagli

Equivalenza di espressioni. Equivalenze. Equivalenze. Due espressioni sono equivalenti se: Atomizzazione delle selezioni σ F1 F2 (E) σ F1 (σ F2 (E))

Equivalenza di espressioni. Equivalenze. Equivalenze. Due espressioni sono equivalenti se: Atomizzazione delle selezioni σ F1 F2 (E) σ F1 (σ F2 (E)) Equivalenza di espressioni Due espressioni sono equivalenti se: E 1 R E 2 se E 1 (r = E 2 (r per ogni istanza r di R (equivalenza dipendente dallo schema E 1 E 2 se E 1 R E 2 per ogni schema R (equivalenza

Dettagli

Viste come strumenti di programmazione

Viste come strumenti di programmazione Viste come strumenti di programmazione Trovare gli impiegati che hanno lo stesso capo di Rossi Senza vista: PROJ Impiegato ((Afferenza JOIN Direzione) JOIN REN ImpR,RepR Impiegato,Reparto ( SEL Impiegato='Rossi'

Dettagli

SQL. Dott.ssa Elisa Quintarelli

SQL. Dott.ssa Elisa Quintarelli Corso Basi di Dati Dott.ssa Elisa Quintarelli SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio universale dei sistemi relazionali È un linguaggio con varie funzionalità:

Dettagli

Appunti dalle lezioni. Sistemi informativi e basi di dati. Il modello relazionale. SQL come DCL Utilizzo di un DBMS Reale.

Appunti dalle lezioni. Sistemi informativi e basi di dati. Il modello relazionale. SQL come DCL Utilizzo di un DBMS Reale. SQl come DDL Angelo Chianese,, Vincenzo Moscato, Antonio Picariello,, Lucio Sansone Basi di dati per la gestione dell'informazione 2/ed McGraw-Hill Capitolo 2 Appunti dalle lezioni SQL come DDL Sistemi

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati 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 SQL è

Dettagli

SQL. Lezione 1. Docente: Alberto Belussi

SQL. Lezione 1. Docente: Alberto Belussi LaboratoriodiBasidiDatieWeb 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 SQL è

Dettagli

Principi di Progettazione del Software a.a Il linguaggio SQL. Prof. Luca Mainetti Università del Salento

Principi di Progettazione del Software a.a Il linguaggio SQL. Prof. Luca Mainetti Università del Salento Principi di Progettazione del Software a.a. 2016-2017 Prof. Università del Salento Linguaggi per DBMS Il modello relazionale definisce i concetti generali ed i vincoli per modellare e strutturare i dati

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 2 Vincoli di integrità Proprietà che devono essere soddisfatte da ogni istanza della base di dati. Il soddisfacimento è definito rispetto al

Dettagli

Principi di Progettazione del Software a.a Il linguaggio SQL. Linguaggi per DBMS

Principi di Progettazione del Software a.a Il linguaggio SQL. Linguaggi per DBMS Principi di Progettazione del Software a.a. 2017-2018 Ing. Università del Salento Linguaggi per DBMS Il modello relazionale definisce i concetti generali ed i vincoli per modellare e strutturare i dati

Dettagli

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

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.1 Data Description Language - 1 Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.1 Data Description Language - 1 SQL Structured Query Language è un linguaggio con varie funzionalità: contiene sia

Dettagli

Dichiarazione degli schemi in SQL DDL 1

Dichiarazione degli schemi in SQL DDL 1 Dichiarazione degli schemi in SQL DDL 1 Storia di SQL Definito nell'ambito del progetto SYSTEM R (IBM S. JOSE) nel 1976 Nome originario: SEQUEL Adottato progressivamente da tutti i sistemi commerciali

Dettagli

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

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

Dettagli

Viste (relazioni derivate)

Viste (relazioni derivate) Viste (relazioni derivate) Rappresentazioni diverse per gli stessi dati (schema esterno) Relazioni di base: contenuto autonomo; fisicamente e originariamente contenute nella base di dati Relazioni derivate:

Dettagli

Algebra con valori nulli

Algebra con valori nulli Algebra con valori nulli Gli operatori logici vengono estesi con una logica a 3 valori: VERO, FALSO, SCONOSCIUTO (U) NOT AND V U F OR V U F F V V V U F V V V V U U U U U F U V U U V F F F F F F V U F Viste

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

Laboratorio di Basi di Dati e Multimedia

Laboratorio di Basi di Dati e Multimedia Laboratorio di Basi di Dati e Multimedia Laurea in Informatica Multimediale - A.A. 2006/07 Docente: Alessandra Di Pierro Email: dipierro@sci.univr.it Lezione 2 Vincoli intrarelazionali Proprietà che devono

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

Il linguaggio SQL. Il linguaggio SQL

Il linguaggio SQL. Il linguaggio SQL Il linguaggio SQL 1 Il linguaggio SQL 2 il linguaggio SQL è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose (California) è

Dettagli

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL Il linguaggio SQL 1 Il linguaggio SQL 2 il linguaggio SQL è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose (California) è

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

Linguaggio SQL: fondamenti D B M G

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

Dettagli

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

D B M G. Linguaggio SQL: fondamenti. 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 Creazione di una tabella (1/3) Si utilizza

Dettagli

SQL: "storia" 31/05/2006 2

SQL: storia 31/05/2006 2 SQL 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, non i dettagli

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2017/2018 1 Settima parte Interrogazione di una

Dettagli

Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati

Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2007 Politecnico di Torino 1 Creazione di

Dettagli

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1 Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati Creazione di una tabella (1/3) Si utilizza

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

Laboratorio di Basi di Dati Per Bioinformatica

Laboratorio di Basi di Dati Per Bioinformatica Laboratorio di Basi di Dati Per Bioinformatica Laurea in Bioinformatica - A.A. 2010/11 Docente: Carlo Combi Email: carlo.combi@univr.it Lezione 1 SQL Structured Query Language SQL è stato definito nel

Dettagli

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1 Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2007 Politecnico di Torino 1 Creazione di

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

Dettagli

Laboratorio di Basi di Dati e Multimedia

Laboratorio di Basi di Dati e Multimedia Laboratorio di Basi di Dati e Multimedia Laurea in Informatica Multimediale - A.A. 2007/08 Docente: Carlo Combi Email: carlo.combi@univr.it Lezione 1 SQL Structured Query Language SQL è stato definito

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

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

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

Elena Baralis 2007 Politecnico di Torino D B M G M BG. Gestione delle tabelle. Linguaggio SQL: fondamenti. Creazione di una tabella (1/3)

Elena Baralis 2007 Politecnico di Torino D B M G M BG. Gestione delle tabelle. Linguaggio SQL: fondamenti. Creazione di una tabella (1/3) Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella izionario dei dati Integrità dei dati Creazione di una tabella (1/3) Si utilizza

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

Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a

Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a. 2013-2014 Docente: Gigliola Vaglini Docente laboratorio: Francesco Pistolesi Lezione 3 Structured Query Language

Dettagli

IL MODELLO RELAZIONALE

IL MODELLO RELAZIONALE Basi di dati 1 IL MODELLO RELAZIONALE (CAPITOLO 2) Codd 1970 Indipendenza dei dati Distinzione nella descrizione dei dati tra livello fisico e livello logico Vendors IBM,Informix,Microsoft,Oracle,Sybase

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. SQL (Structured Query Language) è un linguaggio di interrogazione per basi di dati relazionali

SQL. SQL (Structured Query Language) è un linguaggio di interrogazione per basi di dati relazionali SQL SQL (Structured Query Language) è un linguaggio di interrogazione per basi di dati relazionali Contiene funzionalità anche di Data Definition Language (DDL) e di Data Manipulation Language (DML) DDL:

Dettagli

Corso di. Basi di Dati I. 7. Esercitazioni in SQL: Definizione e manipolazione dei dati

Corso di. Basi di Dati I. 7. Esercitazioni in SQL: Definizione e manipolazione dei dati Corso di Basi di Dati 7. Esercitazioni in SQL: Definizione e manipolazione dei dati A.A. 2016 2017 Collegarsi a MySQL, caricare e salvare basi di dati Per collegarsi a mysql, aprire un terminale e inserire

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

Corso di. Basi di Dati I. 7. Esercitazioni in SQL: Definizione e manipolazione dei dati

Corso di. Basi di Dati I. 7. Esercitazioni in SQL: Definizione e manipolazione dei dati Corso di Basi di Dati 7. Esercitazioni in SQL: Definizione e manipolazione dei dati A.A. 2016 2017 Collegarsi a MySQL, caricare e salvare basi di dati Per collegarsi a mysql, aprire un terminale e inserire

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

Introduzione Basi di Dati. Orazio Battaglia

Introduzione Basi di Dati. Orazio Battaglia Introduzione Basi di Dati Orazio Battaglia Introduzione basi di dati Ogni organizzazione è dotata di un sistema informativo che organizza e gestisce le informazioni necessarie per perseguire gli scopi

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

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

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

Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a

Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a. 2012-2013 2013 Docente: Gigliola Vaglini Docenti laboratorio: Francesco Pistolesi, Antonio Virdis Lezione

Dettagli

PRODOTTO CARTESIANO Caso Generale

PRODOTTO CARTESIANO Caso Generale PRODOTTO CARTESIANO Caso Generale Vincoli di integrità dei dati Un database non deve solamente memorizzare i dati, ma garantire che i dati memorizzati siano corretti; se i dati sono imprecisi o incoerenti,

Dettagli

Basi di dati - Laboratorio

Basi di dati - Laboratorio Basi di dati - Laboratorio Corso di Laurea in Bioinformatica Docente: Barbara Oliboni Lezione 1 Contenuto della lezione Definizione di dati in SQL Istruzione CREATE TABLE Domini SQL Vincoli intrarelazionali

Dettagli

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL : fondamenti Linguaggio per gestire le basi di dati relazionali Structured Query Language SQL possiede istruzioni per definire lo schema di una base di dati relazionale leggere e scrivere i dati definire

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

insert into Dipartimento(NomeDip, Città) values('produzione','torino') insert into ProdottiMilanesi (select codice, descrizione from Prodotto

insert into Dipartimento(NomeDip, Città) values('produzione','torino') insert into ProdottiMilanesi (select codice, descrizione from Prodotto Inserimento insert into Dipartimento(NomeDip, Città) values('produzione','torino') Si utilizza in genere mediante una form per consentire agli utenti di inserire dati. L'ordinamento degli attributi (se

Dettagli

4/16/07. Le Basi di Dati Relazionali. Concetti Fondamentali. Base di dati, tabella, ennupla, attributo, dominio. Valori nulli

4/16/07. Le Basi di Dati Relazionali. Concetti Fondamentali. Base di dati, tabella, ennupla, attributo, dominio. Valori nulli Base di dati, tabella, ennupla, attributo, dominio Le Basi di Dati Relazionali Concetti Fondamentali Valori nulli Vincoli di chiave, di ennupla, di riferimento 2 Modello logico dei DBMS (Data Base Management

Dettagli

SQL. SQL come Data Manipulation Language - Inserimento, cancellazione e aggiornamento di righe

SQL. SQL come Data Manipulation Language - Inserimento, cancellazione e aggiornamento di righe SQL SQL come Data Manipulation Language - Inserimento, cancellazione e aggiornamento di righe Operazioni di aggiornamento Abbiamo visto come creare tabelle e come interrogarle. Vedremo ora come popolarle

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

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Esercitazione PostgreSQL Dopo aver lanciato il client grafico pgadmin III di PostgreSQL svolgere le operazioni descritte nel seguito, tenendo presenti i suggerimenti forniti

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

Inserimento. Cancellazione. Modifica. INSERT INTO Persone VALUES ('Mario',25,52) INSERT INTO Persone(Nome, Eta, Reddito) VALUES('Pino',25,52)

Inserimento. Cancellazione. Modifica. INSERT INTO Persone VALUES ('Mario',25,52) INSERT INTO Persone(Nome, Eta, Reddito) VALUES('Pino',25,52) Inserimento insert into Dipartimento(NomeDip, Città) values('produzione','torino') Si utilizza in genere mediante una maschera (form) per consentire agli utenti di inserire dati. L'ordinamento degli attributi

Dettagli

SQL: DDL, VI, Aggiornamenti e Viste

SQL: DDL, VI, Aggiornamenti e Viste SQL: DDL, VI, Aggiornamenti e Viste 1 SQL è più di un semplice linguaggio di interrogazione v Linguaggio di definizione dati (Data-definition language, DDL): Crea/distrugge/modifica relazioni e viste Definisce

Dettagli

Basi di Dati. Sistemi per Basi di Dati Relazionali: Modello Logico. Concetti Fondamentali. Concetti Fondamentali

Basi di Dati. Sistemi per Basi di Dati Relazionali: Modello Logico. Concetti Fondamentali. Concetti Fondamentali Basi di Dati Sistemi per Basi di Dati Relazionali: Modello Logico Concetti Fondamentali Introduzione Concetti Fondamentali Base di dati, tabella, ennupla, attributo, dominio Valori nulli Vincoli di chiave,

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 - Tipi di dato Il linguaggio SQL

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

Dettagli

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

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

Dettagli

ESERCITAZIONE: Fornitore-Fornisce-Articolo

ESERCITAZIONE: Fornitore-Fornisce-Articolo ESERCITAZIONE: Fornitore--Articolo PROGETTAZIONE CONCETTUALE Sia dato il diagramma ER rappresentativo di una certa realtà di interesse Cognome CodF Nome DataN CodA Descrizione Prezzo Fornitore N N E Fornito

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

LABORATORIO di INFORMATICA

LABORATORIO di INFORMATICA Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto IL MODELLO RELAZIONALE http://www.diee.unica.it/giacinto/lab

Dettagli

Mirco Nanni ISTI CNR, Pisa. CdL in Lettere A.A. 2007/2008

Mirco Nanni ISTI CNR, Pisa. CdL in Lettere A.A. 2007/2008 Informatica per le scienze umane Mirco Nanni ISTI CNR, Pisa CdL in Lettere A.A. 2007/2008 Informazione strutturata Le Basi di Dati Relazionali Concetti Fondamentali Concetti Fondamentali Base di dati,

Dettagli

Data Definition in MySQL

Data Definition in MySQL Data Definition in MySQL LABORATORIO DI BASI DI DATI A.A. 2016/2017 Dott. Claudio Venturini Contenuti riadattati a partire da slide gentilmente concesse dal Dott. Paolo Napoletano SQL SQL è un linguaggio

Dettagli

Fondamenti di Informatica A. A / 1 9

Fondamenti di Informatica A. A / 1 9 Fondamenti di Informatica Prof. Marco Lombardi A. A. 2 0 1 8 / 1 9 Concetti Introduttivi 1/2 SQL (Structured Query Language) permette di manipolare i dati, interrogare un database relazionale e modellarne

Dettagli

Fondamenti di Informatica e Programmazione

Fondamenti di Informatica e Programmazione Fondamenti di Informatica e Programmazione Prof. G ianni D Angelo Email: giadangelo@unisa.it A. A. 2018/ 19 Le Origini di SQL Principali Versioni Anni 70 1986 SEQUEL Structured English QUEry Language Sviluppato

Dettagli

Corso di Informatica Linguaggio SQL prima parte

Corso di Informatica Linguaggio SQL prima parte Corso di Informatica Linguaggio SQL prima parte Anno Accademico 2018-2019 Linguaggio SQL (Structured Query Language) 2 Il linguaggio SQL Un linguaggio per DBMS (DataBase Management System) deve permettere

Dettagli

5 SQL : Definizione e manipolazione dei dati

5 SQL : Definizione e manipolazione dei dati 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

Structured Query Language

Structured Query Language IL LINGUAGGIO SQL Structured Query Language Contiene sia il DDL sia il DML, quindi consente di: Definire e creare il database Effettuare l inserimento, la cancellazione, l aggiornamento dei record di un

Dettagli

Lezione 3. Il modello relazionale

Lezione 3. Il modello relazionale Lezione 3 Il modello relazionale Pag.1 Perché studiare il Modello Relazionale? E un modello dati vicino alla logica di funzionamento del DBMS È il modello più largamente usato Produttori: IBM, Microsoft,

Dettagli

Modulo 10: Basi di dati e loro gestione

Modulo 10: Basi di dati e loro gestione FRIULI FORMAZIONE CORSO: Tecnico Superiore RILEVAMENTI TERRITORIALI INFORMATIZZATI Modulo 10: Basi di dati e loro gestione Structured Query Language (SQL) dott.ssa D. Gubiani 23 novembre 2012 D. Gubiani

Dettagli

Informatica documentale Laurea in Scienze della Comunicazione Prova scritta del 25 giugno Cognome e nome: Matricola:

Informatica documentale Laurea in Scienze della Comunicazione Prova scritta del 25 giugno Cognome e nome: Matricola: Informatica documentale Laurea in Scienze della Comunicazione Prova scritta del 25 giugno 2012 Cognome e nome: Matricola: Parte prima Domanda 1 Domanda 2 Domanda 3 Totale Istruzioni: È vietato portare

Dettagli

Corso di Basi di Dati A.A. 2015/2016

Corso di Basi di Dati A.A. 2015/2016 Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2015/2016 - Esercizi Tiziana Catarci, Andrea Marrella Ultimo aggiornamento : 06/04/2016 Esercizio 1 Dare

Dettagli

Interpretazione delle query nidificate

Interpretazione delle query nidificate Interpretazione delle query nidificate Per analizzare il risultato di una interrogazione nidificata si può supporre di valutare prima il risultato dell interrogazione nidificata (query interna) per poi

Dettagli

A.A. 2018/2019. Introduzione a SQL FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

A.A. 2018/2019. Introduzione a SQL FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante A.A. 2018/2019 Introduzione a SQL Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Le Origini di SQL Principali Versioni Anni 70 1986 SEQUEL Structured English QUEry Language

Dettagli

Linguaggio SQL: costrutti avanzati D B M G

Linguaggio SQL: costrutti avanzati D B M G Linguaggio SQL: costrutti avanzati D B M G Controllo dell accesso Sicurezza dei dati Risorse e privilegi Gestione dei privilegi in SQL Gestione dei ruoli in SQL D B M G 2 Sicurezza dei dati Protezione

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

Linguaggio SQL: costrutti avanzati Controllo dell accesso

Linguaggio SQL: costrutti avanzati Controllo dell accesso Linguaggio SQL: costrutti avanzati D B M G Sicurezza dei dati Risorse e privilegi Gestione dei privilegi in SQL Gestione dei ruoli in SQL D B M G 2 Pag. 1 1 D B M G Sicurezza dei dati Protezione dei dati

Dettagli

Laboratorio di Sistemi Informativi

Laboratorio di Sistemi Informativi Laboratorio di Sistemi Informativi Corso di Laurea in Informatica - A. A. 2006-2007 Creazione di basi di dati e tabelle Donatella Merlini Dipartimento di Sistemi e Informatica viale Morgagni 65, 50134,

Dettagli