Je suis un peu confus à propos de data consistency
et data integrity
. De Concepts de base de données Oracle :
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.
Alors, quelle est la différence entre data consistency
et data integrity
?
Merci d'avance.
Ils ne sont pas seulement différents, ils sont orthogonaux.
Incohérence :
Une base de données indiquant que le service de l'employé Joe Shmoe était un service de vente, mais qui n'incluait pas Joe Shmoe parmi les employés du service des ventes serait incohérente.
C'est une propriété logique de la base de données, indépendante des données réelles .
Intégrité :
Un DB qui a déclaré que jOe SaleS faisait partie du département de Shmoe manquerait d’intégrité.
jOe SaleS n'est pas un nom d'employé valide et Shmoe n'est pas un service valide.
Ce n'est pas logiquement invalide, mais c'est invalide par rapport aux règles qui régissent le contenu des données .
Très grossièrement, mon 2c:
Intégrité = types forts, pas de valeurs illégales telles que définies par le modèle de données et les contraintes, clés de clé, clés uniques, etc.
Cohérence = être capable de lire uniquement les données validées à un moment donné, pas les étapes intermédiaires.
Les données peuvent être entièrement cohérentes et totalement fausses. L'intégrité des données concerne davantage la qualité des données et va bien au-delà des systèmes de gestion de bases de données. Les SGBD fournissent des outils de cohérence des données pouvant contribuer à l'intégrité des données. ils sont une partie du problème plus vaste. Les contraintes d'intégrité et les déclencheurs permettent de s'assurer qu'un SGBD ne dégrade pas (ou, si vous êtes pessimiste, ne dégrade encore plus) l'intégrité des données qui arrivent.
Pour analyser le verbiage Oracle, les contraintes d'intégrité et les déclencheurs permettent d'implémenter un sous-ensemble de règles métier définissant l'intégrité des données.
Probablement ces liens peuvent vous aider à démarrer:
http://en.wikipedia.org/wiki/Consistency_Data
De ici
La cohérence des données
L'exécution de transaction en isolation préserve la cohérence des données. La valeur de données stockée dans la base de données doit satisfaire à certaines contraintes de cohérence. Par exemple, le solde d'un compte ne doit pas être inférieur à 100 dollars. Les commandes DDL permettent de spécifier de telles contraintes. Les systèmes de base de données vérifient ces contraintes chaque fois que la base de données est mise à jour. En général, il peut s'agir d'un prédicat arbitraire relatif à la base de données. Pour vérifier la cohérence de la base de données, la plupart des programmeurs dépendent des contraintes, qui sont généralement coûteuses à tester.
Intégrité des données
L'intégrité des données est qualifiée de "données complètes au même endroit". Les données sont sous la forme de tables et chaque table possède des attributs. Ce sont les cas où nous souhaitons nous assurer qu'une valeur apparaissant dans une relation pour un ensemble d'attributs donné apparaît également pour un certain ensemble d'attributs dans une autre relation (intégrité référentielle). La modification de la base de données peut entraîner une violation de l'intégrité. Lorsque la contrainte d'intégrité est violée, la procédure normale rejette l'action qui a réellement causé la violation.
Vous pouvez lire premier chapitre pour ACID.