database - recomendaciones - porque se dañan las tablas en mysql
¿Hay alguna diferencia entre la integridad de los datos y la consistencia de los datos? (6)
Estoy un poco confundido acerca de data consistency
data integrity
y data integrity
. De Oracle Database Concepts :
data integrity
--------------
Business rules that dictate the standards for acceptable data. These rules
are applied to a database by using integrity constraints and triggers to
prevent invalid data entry.
De Wikipedia
Consistency
-----------
Consistency states that only valid data will be written to the database.
Entonces, ¿cuál es la diferencia entre data consistency
data integrity
y data integrity
?
Gracias por adelantado.
- Coherencia: no tiene fechas, números ni letras en la misma columna, solo una de ellas. Esto se evita mediante la definición del tipo de columna, por ejemplo. el número de identificación de la columna (5) significa que no habrá fechas ni letras en él y números mayores que 99999
- Integridad: si tiene una tabla de empleados y una tabla de departamentos y una columna department_id en ambos (con el significado de department_id en el que trabaja el empleado brujo) no habrá ningún empleado trabajando en el departamento que no exista en la tabla de departamentos. Esto se debe a la restricción de integridad de referencia.
A grandes rasgos, mi 2c:
Integridad = tipos fuertes, no hay valores ilegales según lo determinado por el modelo de datos y restricciones, claves de desarrollo, restricciones únicas y cosas por el estilo.
Coherencia = poder leer solo los datos confirmados en un punto determinado en el tiempo, no los pasos intermedios.
Desde here
Consistencia de los datos
La ejecución de la transacción de forma aislada preserva la consistencia de los datos. El valor de los datos almacenados en la base de datos debe satisfacer ciertas restricciones de consistencia. Por ejemplo, el saldo de una cuenta no debe caer por debajo de $ 100. Los comandos DDL proporcionan las facilidades para especificar tales restricciones. Los sistemas de bases de datos verifican estas restricciones cada vez que se actualiza la base de datos. En general, puede ser un predicado arbitrario perteneciente a la base de datos. Para verificar la consistencia de la base de datos, la mayoría de los programadores dependen de las restricciones y estas suelen ser costosas de probar.
Integridad de los datos
La integridad de los datos se refiere a "datos completos en un solo lugar". Los datos están en forma de tablas y cada tabla tiene algunos atributos. Estos son los casos en los que queremos asegurarnos de que un valor que aparece en una relación para un conjunto dado de atributos también debe aparecer para un determinado conjunto de atributos en otra relación (integridad referencial). La modificación de la base de datos puede causar la violación de la integridad. Cuando se viola la restricción de integridad, el procedimiento normal rechaza la acción que realmente causó la violación.
Puedes leer el primer capítulo de ACID.
Los datos pueden ser totalmente consistentes y totalmente erróneos. La integridad de los datos tiene más que ver con la calidad de los datos y va más allá de los sistemas de gestión de bases de datos. Los DBMS proporcionan herramientas de consistencia de datos que pueden ayudar con la integridad de los datos; Son una parte del problema más grande. Las restricciones y los activadores de integridad ayudan a garantizar que un DBMS no se degrade (o, si es pesimista, se degrade) la integridad de los datos que llegan.
La forma de analizar la verborrea de Oracle es que las restricciones de integridad y los activadores son una manera de implementar un subconjunto de las reglas de negocios que definen la integridad de los datos.
No solo son diferentes, son ortogonales.
Inconsistencia
Una base de datos que informaba que el departamento del empleado Joe Shmoe era Ventas, pero que no incluía a Joe Shmoe entre los empleados del departamento de Ventas sería inconsistente.
Es una propiedad lógica de la base de datos, independientemente de los datos reales .
Integridad
Una base de datos que informaba que jOe SaleS era miembro del departamento de Shmoe carecería de integridad.
jOe SaleS no es un nombre de empleado válido y Shmoe no es un departamento válido.
Eso no es lógicamente inválido, pero no es válido en relación con las reglas que gobiernan el contenido de datos .
Probablemente estos enlaces pueden ayudarte a comenzar: