|
La cláusula NOT NULL
indica que la columna no podrá contener
un valor nulo, es decir que se deberá rellenar obligatoriamente
y con un valor válido (equivale a la propiedad requerido Sí
de las propiedades del campo).
La cláusula CONSTRAINT
sirve para definir una restricción
que se podrá eliminar cuando queramos sin tener que borrar la columna.
A cada restricción se le asigna un nombre que se utiliza para identificarla
y para poder eliminarla cuando se quiera.
Como restricciones tenemos la de clave primaria (clave
principal), la de índice único (sin duplicados), la de valor
no nulo, y la de clave foránea.
La cláusula PRIMARY KEY
se utiliza para definir la columna como clave
principal de la tabla. Esto supone que la
columna no puede contener valores nulos ni pueden haber valores duplicados
en esa columna, es decir que dos filas no pueden tener el mismo valor
en esa columna.
En una tabla no pueden haber
varias claves principales, por lo que no podemos incluir la
cláusula PRIMARY KEY más
de una vez, en caso contrario la sentencia da un error. No hay que confundir
la definición de varias claves principales con la definición
de una clave principal compuesta por varias columnas, esto último
sí está permitido y se define con una restricción
de tipo 2.
La cláusula UNIQUE
sirve para definir un índice único
sobre la columna. Un índice único es un índice
que no permite valores duplicados,
es decir que si una columna tiene definida un restricción de UNIQUE
no podrán haber dos filas con el mismo valor en esa columna. Se
suele emplear para que el sistema compruebe el mismo que no se añaden
valores que ya existen, por ejemplo si en una tabla de clientes queremos
asegurarnos que dos clientes no puedan tener el mismo D.N.I. y la tabla
tiene como clave principal un código de cliente, definiremos la
columna dni con la restricción de UNIQUE.
La cláusula NOT NULL
indica que la columna no puede contener valores nulos, cuando queremos
indicar que una columna no puede contener el valor nulo lo podemos hacer
sin poner la cláusula CONSTRAINT,
o utilizando una cláusula CONSTRAINT.
La última restricción
que podemos definir sobre una columna es la de clave foránea, una
clave foránea es una columna
o conjunto de columnas que contiene un valor
que hace referencia a una fila de otra tabla, en una restricción
de tipo 1 se puede definir con la cláusula REFERENCES,
después de la palabra reservada indicamos a qué tabla hace
referencia, opcionalmente podemos indicar entre paréntesis el nombre
de la columna donde tiene que buscar el valor de referencia, por defecto
coge la clave principal de la tabla2, si el valor que tiene que buscar
se encuentra en otra columna de tabla2, entonces debemos inidicar el nombre
de esta columna entre paréntesis, además sólo podemos
utilizar una columna que esté definida con una restricción
de UNIQUE, si la columna2 que indicamos
no está definida sin duplicados, la sentencia CREATE
nos dará un error. Si quieres repasar conceptos de clave foránea
e integridad referencial haz clic aquí 
Para seguir con la instrucción CREATE
TABLE pasa a la siguiente página...
|