Las restricciones de los datos se imponen para asegurarnos que los datos cumplen con una serie de condiciones predefinidas para cada tabla. Estas restricciones ayudan a conseguir la integridad de referencia: todas las referencias dentro de una BD son v谩lidas y todas las restricciones se han cumplido.
Las restricciones se van a definir acompa帽adas por un nombre, lo que permitir谩 activarlas o desactivarlas seg煤n sea el caso; o tambi茅n mezcladas en la definiciones de las columnas de la tabla. A continuaci贸n vamos a describir cada una de las restricciones mencionadas.
- NOT NULL
- Establece la obligatoriedad de que esta columna tenga un valor no nulo. Se debe especificar junto a la columna a la que afecta. Los valores nulos no ocupan espacio, y son distintos a 0 y al espacio en blanco. Hay que tener cuidado con los valores nulos en las operaciones, ya que 1 * NULL es igual a NULL.
- UNIQUE
- Evita valores repetidos en una columna, admitiendo valores nulos. Oracle crea un 铆ndice autom谩ticamente cuando se habilita esta restricci贸n y lo borra al deshabilitarse.
- DEFAULT
- Establece un valor por defecto para esa columna, si no se le asigna ninguno.
- CHECK
- Comprueba que se cumpla una condici贸n determinada al rellenar esa columna. Esta condici�n s�lo debe estar construida con columnas de esta misma tabla.
- PRIMARY KEY
- Establece el conjunto de columnas que forman la clave primaria de esa tabla. Se comporta como 煤nica y obligatoria sin necesidad de explicitarlo. S贸lo puede existir una clave primaria por tabla. Puede ser referenciada como clave ajena por otras tablas. Crea un 铆ndice autom谩ticamente cuando se habilita o se crea esta restricci贸n. En Oracle, los 铆ndices son construidos sobre 谩rboles B+.
- FOREIGN KEY
- Establece que el contenido de esta columna ser谩 uno de los valores contenidos en una columna de otra tabla maestra. Esta columna marcada como clave ajena puede ser NULL. No hay l铆mite en el n煤mero de claves ajenas. La clave ajena puede ser otra columna de la misma tabla. Se puede forzar que cuando una fila de la tabla maestra sea borrada, todas las filas de la tabla detalle cuya clave ajena coincida con la clave borrada se borren tambi茅n. Esto se consigue a帽adiendo la coletilla ON DELETE CASCADE en la definici贸n de la clave ajena.
Publicar un comentario