データベースは、テーブルを使用してそれらの情報を整理します。 Excelなどのスプレッドシートに似ていますが、上級ユーザーにはさらに優れた機能を備えています。データベースは、主キーと外部キーを使用して機能し、テーブル間の関係を維持します。
参照整合性は、リレーショナルデータベース管理システムのデータベース機能です。これにより、ユーザーまたはアプリケーションが不正確なデータを入力したり、存在しないデータを指し示したりするのを防ぐための制約を適用することにより、データベース内のテーブル間の関係が正確なまま維持されます。
主キー
データベーステーブルの主キーは、各レコードに割り当てられた固有の識別子です。各表には、主キーとして指定された1つ以上の列があります。各社会保障番号は一意であるため、社会保障番号は従業員のデータベースリストの主キーになります。
ただし、プライバシーの問題から、指定された会社ID番号は従業員の主キーとして機能するためのより良い選択です。 Microsoft Accessなどの一部のデータベースソフトウェアでは、プライマリキーが自動的に割り当てられますが、ランダムキーには意味がありません。レコードに意味のあるキーを使用する方がよいでしょう。
参照整合性を強制する最も簡単な方法は、主キーの変更を許可しないことです。
外部キー
外部キーは、異なるテーブルの主キーと一致するテーブル内の識別子です。外部キーは、別のテーブルとの関係を作成します。参照整合性とは、これらのテーブル間の関係を指します。
あるテーブルに別のテーブルへの外部キーがある場合、参照整合性の概念では、リンクテーブルに対応するレコードがないかぎり、外部キーを含むテーブルにレコードを追加できないことが示されます。また、カスケード更新とカスケード削除と呼ばれる手法も含まれており、リンクされたテーブルに対する変更がプライマリテーブルに確実に反映されます。
参照整合性ルールの例
たとえば、従業員とマネージャの2つのテーブルがある状況を考えてみましょう。 Employeesテーブルには、ManagersByという名前の外部キー属性があります。この属性は、Managersテーブルの各従業員のマネージャのレコードを指しています。参照整合性には、次の3つのルールが適用されます。
- ManagedBy属性がManagersテーブルの有効なレコードを指していない限り、Employeesテーブルにレコードを追加することはできません。参照整合性は、不正な詳細を表に挿入することを防ぎます。参照整合性ルールを満たさない操作は失敗します。
- Managersテーブルのレコードの主キーが変更された場合、カスケード更新を使用してEmployeesテーブルの対応するレコードがすべて変更されます。
- Managersテーブルのレコードが削除されると、カスケード削除を使用してEmployeesテーブルの対応するレコードがすべて削除されます。
参照整合性制約の利点
参照整合性を備えたリレーショナルデータベース管理システムを使用すると、いくつかの利点があります。
- 重複データの入力を防ぎます。
- あるテーブルが別のテーブルの存在しないフィールドを指してしまうことを防ぎます。
- 「パートナー」テーブル間の一貫性を保証する
- 別の表の外部キーによって参照される値を含むレコードの削除を防止します。
- リンクされたテーブルにプライマリキーがない限り、外部キーを含むテーブルにレコードを追加できないようにします。