1

データベースに、ステータス名と説明(ステータスと呼ばれる)を保持するテーブルがあります。他に2つのテーブル、VacancyRequestとActionRequestがあり、それぞれが異なるタイプのエンティティを表しますが、それぞれに独自のステータスがあります。一方のエンティティの可能なステータスは、必ずしももう一方のエンティティの可能なステータスと一致するとは限りません。

整合性を維持するために、どちらがより良いアプローチですか?

  1. VacancyRequestStatusとActionRequestStatusの2つの追加テーブルを作成し、それぞれに1つの列(StatusID)を設定します。これらの2つのテーブルには、それぞれのエンティティタイプに適用可能なStatusIDのみが含まれます。次に、VacancyテーブルとActionテーブル、およびそれぞれのステータステーブルの間に外部キー関係を作成します。各ステータステーブルには、メインステータステーブルに戻るFKがあります。

  2. ステータステーブルに列を追加して、適用するエンティティを示します(Vは空席、Aはアクション)。VacancyテーブルとActionテーブルでチェック制約を使用して、レコードに適用されるStatusIDがそのエンティティタイプに適切であることを確認します。

4

1 に答える 1

2

アクションステータスと欠員ステータスはまったくリンクされていないため、最初の方法の方が簡単です。

于 2011-06-22T18:49:35.200 に答える