データベースでエンティティの整合性と参照整合性が重要な理由

エンティティ整合性と参照整合性は、リレーショナル データベースで特に重要なデータ整合性の 2 つの形式です。リレーショナル データベースは、意味のある結果を生成するために、通常は再び結合する必要がある要素にデータのストレージを分割します。これら 2 種類の整合性が保証されていないと、データが削除されたり複製されたりすることになります。
リレーショナル データベース
リレーショナル データベース管理システムは、今日世界で最も広く実装されているデータベース モデルです。リレーショナル モデルは、「正規化された」データに依存しています。正規化は、データベース設計プロセスで実行されるプロセスであり、データを保持するテーブルに繰り返しデータがなく、それらが結合されたときに繰り返しや損失が発生しないようにする
参照データ
ほとんどのデータベース アプリケーションは、トランザクション データと参照データの 2 種類のデータを使用します。例として、非常に基本的な倉庫データベースは、在庫移動トランザクションを記録します。アイテム 1010、数量 5、方向アウトなどのトランザクション レコードを想像してください。管理者は、アイテム名とアイテムの説明、およびアイテム番号を示すこのデータのレポートを見たいと思うかもしれません。これらの詳細は、倉庫内の各部品を説明する別のエンティティの属性です。これは参考表です。
正規化
倉庫データベースの例では、トランザクション テーブルは部品の識別子のみを保持する必要があります。名前や説明などの詳細がトランザクション テーブルに保持されていると、不必要な繰り返しが発生します。すべてのアイテムには常に同じ名前と説明があり、これらの詳細はトランザクションではなくパーツに関連しています。この例のシステムでは、部品の詳細は別のテーブルに保持されています。テーブル内のすべてのレコードは、主キーと呼ばれる 1 つのフィールドまたはフィールドの組み合わせによって一意に識別される必要があります。繰り返しグループを分割することを「正規化」と呼びます。
エンティティの完全性
倉庫データベースの例では、部品テーブルの主キーは、各レコードを一意に識別する属性である必要があります。これがエンティティの整合性です。一般に、数値フィールドは、テキスト フィールドよりも主キーとして適しています。部品テーブルでは、主キーに最適なフィールドはアイテム番号です。組織は、「小さなレンチ」のように、同じ名前のさまざまな製品を販売する場合があります。アイテム番号は常にアイテムごとに一意であるため、これによりパーツ テーブルのエンティティの整合性が保証されます。複数のレコードが同じ主キー値を持つ場合、トランザクション テーブルに結合してこのテーブルの詳細を参照すると、同じ識別子を持つ各レコードと照合するために、トランザクション レコードが複製されます。
参照整合性
参照整合性により、トランザクション テーブルとパーツ テーブルの間のリンクが正しく形成されます。トランザクション テーブルでは、アイテム番号が外部キーを形成します。これは、部品テーブルの主キーにリンクする属性です。トランザクション テーブルに表示できるのは、部品テーブルにリストされているアイテム番号のみです。これが参照整合性です。トランザクション テーブルに部品テーブルにもないアイテム番号が含まれている場合、テーブルを結合すると、欠落しているアイテム番号を持つトランザクションが結果から除外されます。