Definir una restricción de comprobación
Si la tabla tiene una restricción de comprobación, los datos se validan antes de añadirse a la tabla utilizando la expresión definida en la restricción de comprobación. Los datos que no superan la validación no se añaden a la tabla.
En este apartado del tutorial aprenderá a crear una restricción de comprobación para garantizar que en las columnas Mother y Father de la tabla tblAnimalBirths se inserten animales distintos.
Para definir una restricción de comprobación:
Abra el proyecto "ZooDB" que creó antes y haga doble clic en el origen de datos ConexiónBDZoo para conectarse a él.
1.En la ventana Explorador haga clic con el botón derecho en la tabla tblAnimalBirths y seleccione Editor de diseños | Mostrar en editor de diseños nuevo en el menú contextual.
2.Haga clic con el botón derecho en el diseño de la tabla y seleccione Insertar nuevo/a | Restricción de comprobación en el menú contextual.Así se crea en el diseño una restricción llamada <nombre generado> y se selecciona la entrada para editarla.
3.También puede cambiar el nombre de la restricción de <nombre generado> a "CK_CheckParents" y pulsar Entrar. Si conserva el nombre <nombre generado>, entonces el nombre de la clave lo genera automáticamente la BD.
4.En la columna Expresión haga doble clic en la entrada [falta la expresión], introduzca "Mother <> Father" y pulse Entrar.
5.En la ventana Script de cambios de la estructura de la base de datos haga clic en el botón Ejecutar restricción de comprobación para guardar la restricción nueva en la base de datos.
Comprobar la restricción de comprobación
Una vez haya guardado la restricción de comprobación en la BD ya no puede introducir el mismo ID de animal en las columnas "Mother" "Father". Por ejemplo, una instrucción SQL como la de la imagen siguiente generaría un error porque intenta agregar un registro que tiene el mismo valor para "Mother" y "Father".
INSERT INTO [ZooDB].[dbo].[tblAnimalBirths] ([BirthDate], [Mother], [Father], [Veterinarian], [NumberInLitter]) VALUES ('2019-04-24 00:00:00', 5055, 5055, 4, 3) ; |