Estratto del documento

SQL SQL

SQL SQL

• Structured Query Language

• è un linguaggio con varie funzionalità:

– contiene sia il DDL sia il DML;

• esistono varie versioni dell’SQL;

• vediamo gli aspetti essenziali, non i dettagli

• “storia”:

– prima proposta SEQUEL (IBM Research, 1974);

– prima implementazione in SQL/DS (IBM, 1981);

– dal 1983 ca., “standard di fatto”

– standard (1986, poi 1989 e infine 1992) recepito in parte;

– standard SQL:2003 (SQL3) approvato recentemente 2

SQL Domini

• Domini elementari (predefiniti)

• Domini definiti dall‘utente (semplici, ma riutilizzabili) 3

SQL Domini elementari

• Carattere: singoli caratteri o stringhe, anche di lunghezza

variabile [ ] [ Lunghezza ]

character varying ( )

[ NomeFamigliaCaratteri ]

character set

• Bit: singoli booleani o stringhe

[ ] [ Lunghezza ]

bit varying ( )

• Numerici, esatti e approssimati:

[( Precisione [ Scala ] ]

numeric , )

integer

[( Precisione

float )]

double precision 4

SQL Domini elementari, 2

• Data, ora, intervalli:

date [( Precisione [ ]

time )] with time zone

[( Precisione [ ]

timestamp )] with time zone

UnitàDiTempo [ UnitàDiTempo ]

interval to 5

SQL Definizione di schemi

• In un database non ci sono solo tabelle:

[NomeSchema] [ [authorization]

• create schema

autorizzazione]{elemento schema}

• ‘elemento schema’ può essere: dominio, tabella, indice,

asserzione, vista, privilegio

• ‘autorizzazione’ è il nome dell’utente proprietario dello schema

• non è necessario definire tutto all’inizio 6

SQL Definizione di tabelle

NomeTabella Dominio

• create table (NomeAttributo

[Default] [Vincoli]

{, NomeAttributo Dominio

[Default] [Vincoli] }

AltriVincoli)

• Default (utilizzabili anche nella create domain)

< Valore >

default | user | null 7

SQL Esempio

• create table Dipartimento

( nome char(20) primary key,

indirizzo char(50),

città char(20)

) 8

SQL Definizione di domini

• Istruzione CREATE DOMAIN:

– definisce un dominio (semplice), utilizzabile in definizioni di

relazioni

• Sintassi NomeDominio Tipo

create domain as

[ Default ]

[ Vincoli ]

• Esempio

create domain Voto as smallint default null

check ( value >=18 and value <= 30 ) 9

SQL Vincoli intrarelazionali

(su singoli attributi)

• not null

permette di definire chiavi; sintassi:

• unique:

– per singoli attributi: dopo il dominio

unique

– chiavi formate da più attributi:

Attributo { Attributo }

unique ( , )

definizione della chiave primaria (una sola,

• primary key:

implica sintassi, come per

not null); unique

vedremo più avanti

• check, 10

SQL Vincoli intrarelazionali, esempi

Nome character(20) not null,

Cognome character(20) not null,

unique (Cognome,Nome)

• è diverso da:

Nome character(20) not null unique,

Cognome character(20) not null unique 11

SQL Vincoli interrelazionali

e (chiave esterna) permettono di

• references foreign key

definire vincoli di integrità referenziale; sintassi:

– per singoli attributi: dopo il dominio

references

– riferimenti su più attributi:

Attributo { Attributo }

foreign key( , )

references ...

• è possibile associare politiche di reazione alla violazione dei vincoli

(causate da modifiche sulla tabella esterna, cioè quella cui si fa

riferimento) 12

SQL Richiamo: base di dati

con vincoli di integrità referenziale 13

SQL Vincoli interrelazionali, esempio

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)

) e’ una tabella interna, e sono

Infrazioni Vigile Automobili

esterne 14

SQL Violazione dei vincoli

• per tutti i vincoli visti fino ad ora 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 propagano secondo una certa politica verso la

tabella interna

• le violazioni possibili sono causate da modifiche del valore

dell’attributo riferito e dalla cancellazione di righe (es. modifiche

dell’attributo e cancellazione di righe da

Pr

Anteprima
Vedrai una selezione di 15 pagine su 69
Gestione dati e archivi - SQL Pag. 1 Gestione dati e archivi - SQL Pag. 2
Anteprima di 15 pagg. su 69.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - SQL Pag. 6
Anteprima di 15 pagg. su 69.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - SQL Pag. 11
Anteprima di 15 pagg. su 69.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - SQL Pag. 16
Anteprima di 15 pagg. su 69.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - SQL Pag. 21
Anteprima di 15 pagg. su 69.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - SQL Pag. 26
Anteprima di 15 pagg. su 69.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - SQL Pag. 31
Anteprima di 15 pagg. su 69.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - SQL Pag. 36
Anteprima di 15 pagg. su 69.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - SQL Pag. 41
Anteprima di 15 pagg. su 69.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - SQL Pag. 46
Anteprima di 15 pagg. su 69.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - SQL Pag. 51
Anteprima di 15 pagg. su 69.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - SQL Pag. 56
Anteprima di 15 pagg. su 69.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - SQL Pag. 61
Anteprima di 15 pagg. su 69.
Scarica il documento per vederlo tutto.
Gestione dati e archivi - SQL Pag. 66
1 su 69
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Menzo di informazioni apprese con la frequenza delle lezioni di Gestione dati e archivi e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi dell' Insubria o del prof Gentile Claudio.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community