Anteprima
Vedrai una selezione di 1 pagina su 4
Basi di dati - linguaggio SQL Pag. 1
1 su 4
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

YEAR, MONTH, DAY, HOUR, MINUTE, SECOND), il formato è INTERVAL seguito

da una stringa contenente uno o più qualificatori, es. INTERVAL ‘3’ YEAR,

INTERVAL ’30 22:36’ DAY TO MINUTE

 Boolean: utilizzati per valori booleani e comprendono true, false e unknown (introdotti

per la gestione dei confronti con i valori nulli)

 Character Large Object (CLOB): per rappresentare sequenze elevate di caratteri (come

un testo)

 Binary Large Object (BLOB): pe rappresentare sequenza elevate di bit (immagini)

Creazione di Relazioni (creare una tabella)

La sintassi base è:

CREATE TABLE <nome relazione> (<specifica colonna> [,<specifica colonna>]*);

dove:  <nome relazione> è il nome della tabella che viene creata (e quindi della nuova

relazione)

 <specifica colonna> è una specifica colonna della tabella il cui formato è

<nome colonna> <dominio> [DEFAULT <valore default>]

 <nome colonna> è il nome di quella specifica colonna (diverso dalle altre

colonne della tabella)

 <dominio> è ciò che può contenere, quindi uno tra i tipi di dato SQL

 <valore default> è il valore scelto che assumeranno le tuple se non avranno un

valore specifico per questa colonna

Vincoli di Integrità nella creazione di relazioni

Durante la creazione delle relazioni (tabelle) è possibile specificare diversi tipi di 58vincoli:

 Obbligatorietà di colonne (NOT NULL)

 Chiavi (UNIQUE e PRIMARY KEY)

 Chiavi esterne (FOREIGN KEY)

 Vincoli CHECK (su colonna o su tupla)

L’obbligatorietà di colonne significa che nella colonna non è possibile assumere valori nulli, è quindi

sufficiente aggiungere il vincolo NOT NULL durante la creazione della colonna. (es. CREATE TABLE

Video (titolo VARCHAR (30) NOT NULL))

La chiave UNIQUE garantisce che non esistano 2 tuple con gli stessi valori non nulli per gli attributi

(consentono l’uso di colonne con valori nulli), la PRIMARY KEY impone che per ogni tupla della

tabella, i valori degli attributi specificati come chiave primaria siano non nulli e diversi da quelli di

ogni altra tupla della tabella (nella tabella è possibile specificare più chiavi unique ma una sola

primary key). In entrambi i casi per specificare che la chiave è formata da una singola colonna è

sufficiente far seguire alla specifica della colonna UNIQUE o PRIMARY KEY, mentre se la chiave è

composta da più colonne bisogna prima specificare tutte le colonne della chiave e al termine della

tabella si aggiunge PRIMARY KEY o UNIQUE seguite da (<lista delle colonne che formano la chiave>)

(è comunque possibile usare questa seconda sintassi anche per le chiavi formate da singole colonne)

n.b. Dato che in SQL è possibile avere tuple duplicate (cloni dell’originale, mentre nel modello

relazionale questo non era possibile) per impedirlo è possibile definire chiavi costituite da tutte le

colonne di una relazione (tutti gli attributi della tupla formano la chiave primaria)

Le chiavi esterne si specificano tramite FOREIGN KEY seguito dalla lista dei nomi degli attributi delle

colonne che la compongono, è necessario specificare inoltre la tabella per la quale questa relazione è

chiave esterna e le azioni da eseguire nel caso di eliminazione, modifica o aggiunta di elementi nella

tabella. La sintassi corretta è la seguente:

FOREIGN KEY (<lista nomi colonne>)

REFERENCES <nome relazione a cui si riferisce>

[ON DELETE {NO ACTION|CASCADE|SET NULL|SET DEFAULT}]

[ON UPDATE {NO ACTION|CASCADE|SET NULL|SET DEFAULT}]

On Delete:

NO ACTION: la cancellazione di una tupla avviene solo se non esiste nessuna tupla

corrispondente nella tabella referente (cioè nella tabella in cui questa tabella è chiave

esterna)

CASCADE: la cancellazione di una tupla implica la cancellazione di tutte le tuple della

tabella referente che fanno riferimento alla tupla da cancellare

SET NULL: la cancellazione di una tupla implica che a tutte le tuple della tabella

referente, che fanno riferimento alla tupla cancellata, il valore della chiave esterna

viene posto a NULL (se ammesso)

SET DEFAULT: la cancellazione di una tupla implica che a tutte le tuple della tabella

referente, che fanno riferimento alla tupla cancellata, il valore della chiave esterna

viene posto uguale al valore di default specificato per le colonne che la costituiscono

(l’opzione di default è NO ACTION).

On Update, le opzioni sono identiche alla precedenti fatta eccezione per CASCADE, che ha

l’effetto di assegnare alla chiave esterna il nuovo valore di chiave della tupla riferita.

Dettagli
Publisher
A.A. 2013-2014
4 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher koganzjo di informazioni apprese con la frequenza delle lezioni di Basi di dati 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 Carminati Barbara.