Nella definizione delle tabelle si può far riferimento ai domini predefiniti del, linguaggio o a domini definiti dall’utente a partire dai domini predefiniti. Partendo dai domini predefiniti è possibile costruire nuovi domini tramite la primitiva create domain:

create domain NomeDominio as TipoDiDato [ ValoreDiDefault ] [ Vincolo ]

Un dominio è così caratterizato dal propio nome, da un dominio elementare (che può essere predefinito o definito dall’utente in precedenza), da un eventuale valore di default, e infine da un insieme di vincoli (eventualmente vuoto) che rappresenta un insieme di condizioni che devono essere rispettate dai valori del dominio. La dichiarazione di nuovi domini permette di associare un insieme di vincoli a un nome di dominio, il che è importante quando per esempio si deve ripetere la stessa definizione di attributo nell’ambito di diverse tabelle. Definendo un dominio apposito si rende la definizione più facile modificabile; se si vuole modificare la definizione di un insieme di attributi con lo stesso dominio (in modo partcolare il valore di default e i vincoli), risulta sufficiente modificare la definizione del dominio e la modifica si applicherà a tutte le tabelle in cui il dominio viene usato.