Estratto del documento

SQL: Definizione dei dati

Create table

Permette di creare un'istanza vuota di una tabella.

Sintassi:

CREATE TABLE NomeTabella (NomeAttributo Dominio [vincoli] NomeAttributo Dominio [vincoli] …. NomeAttributo Dominio [vincoli] [AltriVincoli])

Tramite DEFAULT è possibile applicare un valore di default all’attributo.

WARNING: È importante definire una primary key o attributi unique, altrimenti la tabella potrà avere ennuple completamente uguali.

Create domain

Permette di creare domini personalizzati da domini predefiniti tramite check.

Sintassi:

CREATE DOMAIN NomeDominio AS DominioPresistente [Default] [Vincoli]

Alter table

Permette di modificare una tabella, essenziale per creare vincoli foreign key.

Sintassi:

ALTER TABLE NomeTabella ADD Attributo|Vincolo

CONSTRAINT permette di dare un nome al vincolo.

Drop table

Permette di eliminare una tabella.

Sintassi:

DROP TABLE NomeTabella RESTRICT|CASCADE

I parametri RESTRICT e CASCADE specificano come eliminare le tabelle collegate:

  • RESTRICT => elimina solo se non ci sono riferimenti ad essa
  • CASCADE => elimina tabella e tutte le tabelle che si riferiscono ad essa

Vincoli intrarelazionali

Esprimono condizioni sui valori di ogni tupla:

  • PRIMARY KEY => assegna chiave primaria, valore univoco identificativo (NOT NULL)
  • NOT NULL => il valore non può essere NULL
  • UNIQUE => permette di creare una superchiave per l’attributo

OSS Attributo1 UNIQUE … attribuito2 UNIQUE ≠ UNIQUE( attributo1, attributo2)

CHECK => vincoli sulle tuple (es. permette di assegnare valori predefiniti nelle quali possono rientrare i valori delle tuple)

Vincoli interrelazionali

Permettono di associare informazioni su relazioni differenti:

  • CHECK => permette di creare vincoli complessi tra tabelle, tra cui vincoli di inclusione.
  • REFERENCES FOREIGN KEY => definiscono vincoli di integrità referenziali, gli attributi referenziati devono essere delle primary key (o unique) nella tabella di arrivo. Può essere creato solo se la tabella da referenziare esiste già, richiede utilizzo di alter table ciclico per doppia referenziazione.

Sintassi:

  • REFERENCES Attributo
  • FOREIGN KEY (Attributo, Attributo, …) REFERENCES NomeTabella(Attr, Attr, …)

OSS il dominio di un attributo referenziato corrisponde con il dominio dell’attributo nell’altra tabella.

Extra foreign key

Il vincolo di foreign key permette inoltre di settare le azioni nel caso di aggiornamento (ON UPDATE) o cancellazione (ON DELETE) della tabella.

Sintassi:

  • ON UPDATE NO ACTION|RESTRICT|CASCADE|SET DEFAULT|SET NULL
  • ON DELETE NO ACTION|RESTRICT|CASCADE|SET DEFAULT|SET NULL
  • NO ACTION => genera errore al momento della verifica del vincolo
  • RESTRICT => genera errore immediato, non aspetta fine transazione
  • CASCADE => cancella tupla che re
Anteprima
Vedrai una selezione di 3 pagine su 10
Sql (basi di dati) Pag. 1 Sql (basi di dati) Pag. 2
Anteprima di 3 pagg. su 10.
Scarica il documento per vederlo tutto.
Sql (basi di dati) Pag. 6
1 su 10
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 duke0000 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 di Roma La Sapienza o del prof Lenzerini Maurizio.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community