web-dev-qa-db-ja.com

データの整合性とデータの整合性に違いはありますか?

data consistencydata integrityについて少し混乱しています。から 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.

Wikipedia から

Consistency
-----------
Consistency states that only valid data will be written to the database.

では、data consistencydata integrityの違いは何ですか?

前もって感謝します。

26
Just a learner

それらは異なるだけでなく、直交しています。

不整合
従業員Joe Shmoeの部署を営業として報告したが、営業部の従業員の中にJoe ShmoeをリストしなかったDBは一貫性がありません。
これは、実際のデータとは関係なく、DBの論理プロパティです

完全性
jOe SaleSがShmoe部門のメンバーであると報告したDBは、整合性に欠けます。
jOe SaleSは有効な従業員名ではなく、Shmoeは有効な部門ではありません。
これは論理的には無効ではありませんが、データコンテンツを管理するルールに関連して無効です

25
Jim Balter

大まかに言って、私の2c:

整合性=強い型、データモデルと制約、外部キー、一意の制約などによって決定される不正な値はありません。

一貫性=中間ステップではなく、特定の時点でコミットされたデータのみを読み取ることができる。

8
lll

データは完全に一貫しており、完全に間違っている可能性があります。データの整合性は、データの品質に関するものであり、データベース管理システムをはるかに超えています。 DBMSは、データ整合性に役立つデータ整合性ツールを提供します。それらはより大きな問題の一部です。整合性制約とトリガーは、DBMSが到着したデータの整合性を低下させない(または、悲観論者の場合はさらに低下させない)ことを保証します。

Oracleの言い回しを解析する方法は、整合性制約とトリガーが、データの整合性を定義するビジネスルールのサブセットを実装する方法であることです。

6
Ted Hopp

おそらくこれらのリンクはあなたが始めるのに役立つかもしれません:

http://en.wikipedia.org/wiki/Data_consistency

http://en.wikipedia.org/wiki/ACID#Consistency

http://en.wikipedia.org/wiki/Data_integrity

2
gsk

から ここ

データの整合性

トランザクションを分離して実行すると、データの一貫性が保持されます。データベースに格納されているデータ値は、一定の整合性制約を満たす必要があります。たとえば、アカウントの残高が100ドルを下回ってはいけません。 DDLコマンドは、そのような制約を指定する機能を提供します。データベースシステムは、データベースが更新されるたびにこれらの制約をチェックします。一般に、データベースに関係する任意の述語にすることができます。ほとんどのプログラマーはデータベースの一貫性をチェックするために制約に依存し、これらは通常テストにコストがかかります。

データの整合性

データの整合性は、「1か所にあるデータ全体」と呼ばれます。データはテーブルの形式であり、各テーブルにはいくつかの属性があります。これらは、特定の属性セットの1つのリレーションに表示される値が、別のリレーションの特定の属性セットにも表示されるようにする必要がある場合です(参照整合性)。データベースの変更は整合性の違反を引き起こす可能性があります。整合性制約に違反すると、通常の手順では、実際に違反を引き起こしたアクションが拒否されます。

enter image description here

ACIDについては 最初の章 を参照できます。

1
berkay
  1. 一貫性:日付、数字、文字が同じ列になく、そのうちの1つだけです。これは、たとえば列タイプを定義することによって強制されます。列ID番号(5)は、日付も文字も含まれず、99999より大きい数値であることを意味します
  2. 整合性:emplooyesテーブルとdepartmentsテーブルがあり、両方にdepartment_id列がある場合(witch_employeeでdepartment_idが機能している場合)、departmentsテーブルに存在しない、departmentで作業している従業員は存在しません。これは、参照整合性制約によって強制されます。
1