ホームページ  >  記事  >  データの整合性とは 3 つのうちどれを指しますか?

データの整合性とは 3 つのうちどれを指しますか?

青灯夜游
青灯夜游オリジナル
2021-06-10 16:00:5532747ブラウズ

データの整合性とは次のことを指します: 1. ドメインの整合性、つまり列の入力の有効性、NULL 値が許可されるかどうか、2. エンティティの整合性、つまりテーブル内のすべての行が正しいかどうかを確認します。 unique; unique; 3. 参照整合性とは、主キー(被参照表)と外部キー(参照表)の参照関係が確保されていることを意味します。

データの整合性とは 3 つのうちどれを指しますか?

このチュートリアルの動作環境: Windows 7 システム、Dell G3 コンピューター。

データベースに格納されているデータの値がすべて正しい状態。データベースに間違ったデータ値が保存されている場合、データベースはデータの整合性を失っていると言われます。

データの完全性 (Data Integrity) とは、データの正確さ (Accuracy) と信頼性 (Reliability) を指します。データベース内に意味規定に従わないデータが存在することを防ぎ、誤った情報の入出力による不正な操作やエラーメッセージを防ぐことを提案する。

データの整合性は、次の 3 つのカテゴリに分類されます。

(1) ドメインの整合性 : 列を指します。入力の有効性、NULL 値を許可するかどうか。ドメインの整合性を強制する方法には、タイプの制限 (列のデータ型の設定による)、形式の制限 (CHECK 制約とルールによる)、または可能な値の範囲の制限 (FOREIGN KEY 制約、CHECK 制約、DEFAULT 定義による) が含まれます。 、NOT NULL 定義とルール)。たとえば、生徒のテストのスコアは 0 ~ 100 でなければならず、性別は「男性」または「女性」のみにすることができます。

(2) エンティティの整合性 : テーブル内のすべての行が一意であることを保証することを指します。エンティティの整合性を実現するには、テーブル内のすべての行が一意の識別子を持つ必要があります。この一意の識別子は、1 つの列である場合もあれば、主キーと呼ばれる複数の列の組み合わせである場合もあります。つまり、テーブル内の主キーは、すべての行にわたって一意の値を持つ必要があります。エンティティの整合性を強制する方法には、インデックス、UNIQUE 制約、PRIMARY KEY 制約、または IDENTITY 属性が含まれます。例: 学生テーブルの sno (学生番号) の値は一意である必要があります。これは、対応するレコードによって表される学生を一意に識別します。重複した学生番号は無効です。 2 人の学生が同じ名前と姓を持つ可能性があるため、学生の名前を主キーとして使用することはできません。

(3) 参照整合性: 主キー(被参照表)と外部キー(参照表)の参照関係を確保することを指します。これには、2 つ以上のテーブル内のデータの一貫性を維持することが含まれます。外部キー値は、外部キーを含む参照テーブル内のレコードを、主キーが外部キーと一致する参照テーブル内のレコードに関連付けます。レコードが入力、変更、または削除されると、参照整合性によってテーブル間の定義された関係が維持され、キー値がすべてのテーブルで一貫していることが保証されます。このような一貫性要件により、存在しない値が参照されないこと、およびキー値が変更された場合、そのキー値へのすべての参照がデータベース全体で一貫して変更されることが保証されます。参照整合性は、外部キーと主キーの間の関係に基づいています。たとえば、学生のコースのコース番号は有効なコース番号である必要があります。スコア テーブル (成績テーブル) の外部キー cno (コース番号) は、コース テーブル (コース) の主キー cno (コース番号) を参照します。表)を使用してデータの整合性を実現します。

ドメインの整合性、エンティティの整合性、および参照整合性は、それぞれ列、行、テーブルに実装されます。データ整合性はいつでも実装できますが、既存のデータを含むテーブルにデータ整合性を実装する場合、システムは最初にテーブル内のデータが実装された整合性を満たしているかどうかを確認する必要があります。テーブル内のデータのみが実装された整合性を満たします。、データ整合性を正常に実装できます。

関連知識の詳細については、FAQ 列をご覧ください。

以上がデータの整合性とは 3 つのうちどれを指しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。