Al modelar el diseño de la base de datos relacional , podemos poner algunas restricciones, como qué valores se permiten insertar en la relación, qué tipo de modificaciones y eliminaciones se permiten en la relación. Estas son las restricciones que imponemos en la base de datos relacional.
En modelos como los modelos ER, no teníamos tales características.
Las restricciones en las bases de datos se pueden clasificar en 3 categorías principales:
- Las restricciones que se aplican en el modelo de datos se denominan restricciones implícitas .
- Restricciones que se aplican directamente en los esquemas del modelo de datos, especificándolas en el DDL (Lenguaje de definición de datos) . Estos se denominan restricciones basadas en esquemas o restricciones explícitas .
- Restricciones que no se pueden aplicar directamente en los esquemas del modelo de datos. Las llamamos restricciones basadas en la aplicación o semánticas .
Así que aquí nos ocuparemos de las restricciones implícitas .
Principalmente las restricciones en la base de datos relacional son de 4 tipos:
- Restricciones de dominio
- Restricciones clave
- Restricciones de integridad de la entidad
- Restricciones de integridad referencial
Analicemos cada una de las restricciones anteriores en detalle.
1. Restricciones de dominio:
- Cada dominio debe contener valores atómicos (unidades indivisibles más pequeñas), lo que significa que no se permiten atributos compuestos y de valores múltiples.
- Realizamos la verificación del tipo de datos aquí, lo que significa que cuando asignamos un tipo de datos a una columna, limitamos los valores que puede contener. P.ej. Si asignamos el tipo de datos del atributo edad como int, no podemos darle valores que no sean el tipo de datos int.
Ejemplo:
Explicación:
En la relación anterior, Nombre es un atributo compuesto y Teléfono es un atributo de varios valores, por lo que infringe la restricción de dominio.
2. Restricciones clave o restricciones de unicidad:
- Estas se denominan restricciones de unicidad, ya que garantiza que cada tupla en la relación sea única.
- Una relación puede tener múltiples claves o claves candidatas (superclave mínima), de las cuales elegimos una de las claves como clave principal, no tenemos ninguna restricción para elegir la clave principal de las claves candidatas, pero se sugiere seguir con la clave candidata con menor número de atributos.
- Los valores nulos no están permitidos en la clave principal, por lo que la restricción No nulo también forma parte de la restricción de clave.
Ejemplo:
Explicación:
en la tabla anterior, EID es la clave principal, y la primera y la última tupla tienen el mismo valor en EID, es decir, 01, por lo que viola la restricción de clave.
3. Restricciones de integridad de la entidad:
- Las restricciones de integridad de la entidad dicen que ninguna clave principal puede tomar un valor NULL, ya que al usar la clave principal identificamos cada tupla de forma única en una relación.
Ejemplo:
Explicación:
En la relación anterior, EID se convierte en clave principal, y la clave principal no puede tomar valores NULOS, pero en la tercera tupla, la clave principal es nula, por lo que viola las restricciones de integridad de la entidad.
4. Restricciones de integridad referencial:
- Las restricciones de integridad referencial se especifican entre dos relaciones o tablas y se utilizan para mantener la coherencia entre las tuplas en dos relaciones.
- Esta restricción se aplica a través de la clave externa, cuando un atributo en la clave externa de la relación R1 tiene los mismos dominios que la clave principal de la relación R2, entonces se dice que la clave externa de R1 hace referencia a la clave principal de relación R2.
- Los valores de la clave externa en una tupla de la relación R1 pueden tomar los valores de la clave principal para alguna tupla en la relación R2, o pueden tomar valores NULL, pero no pueden estar vacíos.
Ejemplo:
Explicación:
En lo anterior, el DNO de la primera relación es la clave externa y el DNO de la segunda relación es la clave principal. DNO = 22 en la clave externa de la primera tabla no está permitido ya que DNO = 22
no está definido en la clave principal de la segunda relación. Por lo tanto, aquí se violan las restricciones de integridad referencial.
Publicación traducida automáticamente
Artículo escrito por bikashdutta y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA