リレーショナル データベースの整合性制約ルールの概要

リレーショナル データベースの整合性制約ルールの概要

数日前、広州の会社で筆記試験を受けたのですが、データベースの問題の一つが今でも印象に残っていますが、意味が深く理解できなかったので受けませんでした。
元の質問は次のとおりです。

参照整合性を指定する削除ルールが「カスケード」の場合、親テーブルのレコードが削除されると、__________

最初に答えを発表します。サブテーブル内のすべての関連レコードも削除する必要があります。カスケードの意味は自明です。私はそれをマルチレベルの関連付けとして理解しています。以前にデータベースを勉強していたときに参照整合性制約という
用語を聞いたことはありましたが、当時はそれについて深く理解していませんでした。筆記試験の後、多くの情報を確認しましたが、この部分を簡単にまとめました。

1. データの完全性

著者は、データベースの 3 つの主要な整合性制約を理解するには、まずデータ整合性とは何かを理解する必要があると考えています。
いわゆるデータの整合性とは、データベースに保存されているすべてのデータが信頼性が高く正確であり、現実世界と一致している必要があることを意味します。
主な機能は、データベース内の意味規定に従わないデータの存在を防止し、誤った情報の入出力による不正な操作を防止することです。
同時に、データベースは、外部キー、ルール、トリガーなど、データの整合性を確保するためのさまざまな方法も提供します。

2 番目と 3 番目のタイプの整合性制約

この関係モデルでは、エンティティ整合性制約参照整合性制約、およびユーザー定義整合性制約という3 つの主要なカテゴリの整合性制約が定義されています最初の 2 つは、リレーショナル モデルが満たさなければならない整合性制約であり、特定のフィールドのセマンティック制約を反映しています。

1. エンティティの整合性制約

エンティティ整合性制約では、次のことを保証する必要があります。

  • 各タプルは識別可能であり、一意です
  • リレーショナル データベース内のすべてのテーブルには主キーが必要です
  • 主キー値のないレコードと同じ主キー値を持つレコードはテーブル内に存在できません。
  • テーブル内のエンティティ オブジェクトは区別できる必要があります

2. 参照整合性制約

いわゆる参照整合性制約は、参照整合性制約とも呼ばれます。

  • 現実の世界では、エンティティ間には接続が存在することが多く、この接続はデータベース システムに関係として反映されます。
  • 参照整合性制約は通常、複数のエンティティまたは関係の間の関連付けを指します。

学生とコースを例に挙げると、各学生は複数のコースを受講でき、各コースは複数の学生が受講できます。これは典型的な多対多の関係です。

ただし、参照整合性制約は、更新ルール、削除ルール、挿入ルールの 3 種類のルールにさらに分割できます各ルールには、 cascade、limit、ignore の3 つの設定が含まれています
このうち、挿入ルールにはカスケード設定は含まれません

  • 更新ルール: 親テーブルに記録されているキー値が更新されたときにトリガーされます。
    • カスケード: サブテーブル内のすべての関連レコードを新しいキー値で更新します。
    • 制限事項: サブテーブルに関連レコードがある場合、更新は禁止されます。
    • Ignore : 子テーブル内の関連レコードに関係なく更新を許可します。
  • 削除ルール: 親テーブルのレコードが削除されるとトリガーされます。
    • Cascade : サブテーブル内のすべての関連レコードを削除します。
    • 制限事項: サブテーブルに関連レコードがある場合、削除は禁止されます。
    • 無視: サブテーブル内の関連レコードに関係なく削除を許可します。
  • 挿入ルール: レコードが子テーブルに挿入または更新されるとトリガーされます。
    • 制限事項: 親テーブルに一致するキーワード値がない場合、挿入は禁止されます。
    • 無視: 挿入を許可します。

3. ユーザー定義の整合性制約

ユーザー定義の整合性制約は、ドメイン整合性制約またはセマンティック整合性制約とも呼ばれます。つまり、特定のリレーショナル データベースに対する制約です。これは、特定のアプリケーションに関係するデータがセマンティック要件を満たさなければならないことを反映しています。
この制約メカニズムは通常、アプリケーションによって提供されるべきではありませんが、リレーショナル モデルによって定義および検証される必要があります。ユーザー定義の整合性には、主にフィールド有効性制約とレコード有効性制約が含まれます。

  • フィールド有効性制約: このフィールドの値を参照して制約することのみが可能で、他のフィールドを参照してこのフィールドの値を制約することはできません。
  • レコード妥当性制約: テーブルレベルの妥当性ルール。特定の条件を満たす必要がある同じレコードのさまざまなフィールドを参照し、制約できます。

おすすめ

転載: blog.csdn.net/qq_50824019/article/details/131675458