Transcripción Constraint
Los constraints o las restricciones son reglas y restricciones predefinidas que se aplican en una o varias columnas, relacionados a los valores permitidos en las columnas, para mantener la integridad, precisión y confiabilidad de los datos de esa columna.
Es decir si los datos insertados cumplen con la regla de restricción, se insertarán con éxito. Si los datos insertados violan la restricción definida, la operación de inserción será cancelada.
Tipos de constraints.
PRIMARY KEY (PK): Columna o columnas que nos permiten distinguir univocamente cada registro de una tabla, las columnas afectadas no pueden contener valores duplicados.
FOREIGN KEY (FK):
- Las Foreing Key se usan para relacionar dos tablas, “padre-hijo”.
- Se define en la tabla “hijo” de esta relación.
- Establece que el valor de una columna o columnas de la tabla “hijo” sólo pueda tener valores existentes en la/s columna/s referenciadas de la tabla “padre”.
- Las columnas de las tablas padre e hijo tienen que ser del mismo tipo.
Al borrar una fila en la tabla “padre” afecta a la tabla “hijo” según dos criterios de actualización:
- ON DELETE CASCADE: También se borran todos los registros en la tabla “hijo”, cuyos campos de FK tenga el mismo valor que la del “padre”.
- ON DELETE SET NULL: En vez de borrar los registros “hijos”, se modifica el valor de las columnas FK a NULL.
UNIQUE: Esta restricción se aplica sobre una o varias columnas, obliga que el valor de esta/s columna/s sea diferente para cada registro de la tabla, impidiendo que exista datos duplicados para dichas columnas. NOT NULL: Obliga a que se introduzca algún valor dentro de la columna. CHECK: Permite establecer reglas simples basadas en expresiones booleanas.
Estado de los Constraints.
Aunque existan las restricciones pueden que no estén activadas y hay que tener en cuenta que el estado de las restricciones está controlado por 2 criterios:
- ENABLE/DISABLE: Estos estados afectan a los nuevos registros que se van a insertar.
- VALIDATE/NOVALIDATE: Estos estados afectan a los registros que ya existen en la tabla, ejemplo, una ya tiene datos y posteriormente se crea las restricciones.
Por tanto existen 3 estados
constraints