¿Qué es la Integridad de los Datos?
en esta era donde se almacenan y producen más y más datos que nunca, es importante que se preserve la integridad de nuestros datos. Imagina que tenemos algunos empleados trabajando para un MNC. Estos empleados trabajan para dos departamentos, por ejemplo, ventas y finanzas. Ambos departamentos tienen sus propias tablas de base de datos. ¿Entonces tenemos que almacenar el registro de estos empleados dos veces? No, data integrity dice que no debería haber datos duplicados en nuestra base de datos., No debe haber redundancia y nuestros datos deben ser consistentes en toda la base de datos. Pero, ¿cómo se puede lograr esto? Hay varias restricciones de integridad de datos que nos proporciona el DBMS. Por lo tanto, vamos a ver en detalle.
Data Integrity
Data Integrity es tener datos correctos y precisos en su base de datos. Cuando almacenamos datos en la base de datos no queremos valores repetidos, no queremos valores incorrectos o relaciones rotas entre tablas. Por lo tanto, vamos a entender a través de un ejemplo que cómo las relaciones rotas pueden causar inconsistencia de datos.,
ejemplo: imaginemos que tenemos una base de datos de clientes donde tenemos dos tablas, es decir, ‘customer_table'(customer_id, customer_name, purchase_id) y ‘purchase_table'(purchase_id, purchhased_item). Estas dos tablas están relacionadas de tal manera que si el cliente realiza alguna compra, los datos del artículo comprado se almacenarán en la purchase_table. Por lo tanto, si tenemos un registro de un artículo comprado en la purchase_table, entonces esa compra debe ser realizada por algún cliente presente en la customer _table., Ahora, consideremos una situación en la que la tabla de compras dice que un artículo es comprado por un customer_id digamos 10 pero que customer_id no existe en la customer_table. No es posible que una compra se realice sin un cliente. Tal situación podría haber surgido porque los datos del cliente se eliminaron de customer_table. Por lo tanto, si los datos del cliente se eliminan de la tabla de clientes, los datos correspondientes también se deben eliminar de la tabla de compras. Por lo tanto, los cambios en la base de datos deben actualizarse sistemáticamente para mantener la integridad de los datos.,
la integridad de los datos se puede mantener mediante restricciones. Estas restricciones definen las reglas según las cuales las operaciones como actualización, eliminación, inserciones, etc. deben realizarse para mantener la integridad de los datos. Hay principalmente cuatro tipos de integridad de Datos:
- integridad de dominio
- integridad de entidad
- integridad referencial
- integridad definida por el Usuario
integridad de dominio
el dominio se refiere al rango de valores aceptables. Se refiere al rango de valores que vamos a aceptar y almacenar en una columna en particular dentro de una base de datos., Los tipos de datos disponibles son principalmente entero, texto, fecha, etc. Cualquier entrada que hagamos para una columna debe estar disponible en el dominio del tipo de datos.
ejemplo: si tenemos que almacenar el salario de los empleados en el ‘employee_table’ entonces podemos poner restricciones que solo debe ser un entero. Cualquier entrada que no sea entera como caracteres no sería aceptable y cuando tratamos de dar entrada como esta, el DBMS producirá errores.
Entity Integrity
cada fila de una entidad en una tabla debe estar identificada de forma única, es decir., idf algún registro se guarda en la base de datos, entonces ese registro debe ser identificado de manera única de otros. Esto se hace con la ayuda de claves primarias. La restricción entity dice que el valor de la clave primaria no debe ser NULL. Si el valor de la clave primaria es NULL, entonces no podemos identificar de forma única las filas si todos los demás campos son los mismos. Además, con la ayuda de la clave primaria, podemos identificar de forma única cada registro.
ejemplo: si tenemos una base de datos de clientes y customer_table está presente allí con atributos como age Y name. A continuación, cada cliente debe ser identificado de forma única., Puede haber dos clientes con el mismo nombre y la misma edad, por lo que puede haber confusión al recuperar los datos. Si recuperamos los datos del cliente llamado ‘Ángel’, entonces dos filas tienen este nombre y habría confusión. Por lo tanto, para resolver estos problemas, se asignan claves primarias en cada tabla e identifica de forma única cada entrada de la tabla.
Integridad Referencial
la Integridad Referencial se utiliza para mantener la coherencia de los datos entre dos tablas., En la estructura de la base de datos se establecen reglas sobre cómo se deben usar las claves foráneas para garantizar que los cambios, la adición y la eliminación en la base de datos mantengan la integridad de los datos. Las restricciones de integridad referencial establecen que si una clave foránea en la primera tabla se refiere a la clave primaria de la segunda tabla, entonces cada valor de la clave foránea en la primera tabla debe ser nulo o estar presente en la segunda tabla.
ejemplo: supongamos que tenemos dos tablas del estudiante (student_id, name, age, course_id) y del curso(course_id, course_name, duration)., Ahora, si cualquier course_id está presente en la tabla de estudiantes que no está allí en la tabla de cursos, entonces esto no está permitido. El course_id en la tabla student debe ser null o si cualquier course_id está presente en la tabla student, entonces también debe estar presente en la tabla del curso. Así es como se mantiene la integridad referencial.
integridad definida por el Usuario
a veces estas tres integridad, es decir, la integridad de dominio, referencial y de entidad, no son suficientes para mantener la integridad de los datos., Dicha integridad se implementa típicamente a través de disparadores y procedimientos almacenados. Los disparadores son un bloque de instrucciones que se ejecuta automáticamente si se producen eventos predefinidos.
Example1: cada vez que se inserta una nueva fila en una student_table que tiene calificaciones de diferentes asignaturas de los estudiantes, también se calcula y almacena automáticamente una nueva Media.
también podemos definir algunas restricciones definidas por el Usuario y reglas de negocio específicas aquí.
Example2: si estamos creando una tabla para el registro y queremos que la edad del usuario sea mayor de 21 años., Este tipo de restricción es establecido por el usuario.
Example3: supongamos que tenemos una employee_table con atributos como emp_id, emp_name, job_name, salary, mobile_no. Aquí tenemos restricciones que el id de un empleado siempre debe comenzar con algunos caracteres específicos como ‘AfterAcademy’ y luego seguido de dígitos. Por lo tanto, cualquier entrada que no siga esta restricción no sería aceptable.
así que, hoy aprendimos sobre la integridad de los datos y cómo ayuda a mantener la integridad de los datos. Espero que hayas aprendido algo nuevo hoy.