Ir al contenido principal

Entradas

Mostrando entradas de octubre 12, 2013

Definición de restricciones

Los Constraint pueden ser definidas al crear una tabla o agregan a la tabla posteriormente. Al definir las restricciones a la hora de creación de la tabla, la restricción puede ser definido de acuerdo con la columna a la que se refiere o al final de la definición de la tabla. Existe una mayor flexibilidad para el uso de la última técnica.  Por ejemplo, es imposible definir un Constraint foreign key que hace referencia a dos columnas, o un constraint Check que hace referencia a cualquier columna distinta de verse limitados si la restricción se define de acuerdo, pero ambos son posibles si la restricción es definida en el final de la tabla.

Constraint CHECK

Un Constraint CHECK puede ser utilizado para obligar simples reglas. tales como que el valor introducido en una columna debe estar dentro de un rango de valores. La regla debe ser una expresión que evaluará a TRUE o FALSE. Las reglas se refieren a los valores absolutos registrados como literales o para otras columnas de la misma fila y se puede hacer uso de algunas funciones. Los Constraint CHECK que desee se puede aplicar a una columna, pero no es posible utilizar una subconsulta para evaluar si un valor es permisible o utilizar funciones como SYSDATE .

Constraint FOREIGN KEY

Un Constraint Foreign Key es definido en la Tabla Hijo o Tabla secundaria de una relacion Padre-Hijo.El Constraint nomina una columna en la tabla hijo que corresponda a la columna Llave Primaria de la tabla Padre. Las columnas no tienen que tener los mismos nombres, pero tienen que ser del mismo tipo de datos. Los Constraint Foreign Key definen la estructura relacional de la base de datos: las relaciones muchos-a-uno que conectan las tablas, en su tercera forma normal. Si la tabla Padre tiene un Constraint UNIQUE en lugar de Constraint PRIMARY KEY, estas columnas pueden ser utilizadas como base de los Constraint FOREIGN KEY, aun que sean Nullable. Solo un Constraint UNIQUE permite valores NULL en la columna restringida. Lo mismo ocurre con un Constraint FOREIGN KEY. Puede insertar filas en la tabla Hijo con Llave Externa NULL, incluso si no hay una filas de la tabla Padre con un valor NULL. Esto crea filas huérfanas y puede causar confusión terrible. Como regla general, todas la

Constraint PRIMARY KEY

La Llave Primaria es el medio para localizar una fila en una tabla. El paradigma de la base de datos relacional incluye un requisito de que cada tabla debe tener una Llave Primaria una columna (o combinación de columnas) que se puede utilizar para distinguir cada fila. La base de datos Oracle se desvía del paradigma permitiendo tablas sin claves principales. La aplicación de un Constraint PRIMARY KEY es, la unión de un Cnstraint UNIQUE y un Constrant NOT NULL. Las columnas de la Llave deben tener valores únicos, y no pueden ser nulo. Al igual que con Constraint UNIQUE un índice debe existir en la columna restringida (s). Si este no existe, se creará un índice cuando se define el Constraint. Una tabla sólo puede tener una Llave Primaria. Trate de crear un segundo, y obtendrá un error. Una tabla puede, sin embargo, cualquier número de Constraint UNIQUE y columnas NOT NULL, por lo que si hay varias columnas que los analistas de negocios han decidido debe ser único y pobladas, una de

Constraint NOT NULL

El Constraint NOT NULL obliga a que se ingresen valores a una columna determinada, esta columna no puede ser nullable. NOT NULL se definen por columna, si el requisito de negocio es que un grupo de columnas debe tener valores, no se puede definir un Constraint NOT NULL para todo el grupo, pero en su lugar debe definir un Constraint NOT NULL por columna. Cualquier intento de insertar una fila sin especificar valores para las columnas restringidas con Constraint NOT NULL en un error surgira.