次のように要約できる問題があります。
従業員データベースを実装しているとします。一人一人が自分の立場に依存するため、さまざまなフィールドに入力する必要があります。たとえば、従業員がソフトウェア エンジニアの場合、次の列があります。
Name
Family
Language
Technology
CanDevelopWeb
従業員がビジネス マネージャーの場合、次の列があります。
Name
Family
FieldOfExpertise
MaximumContractValue
BonusRate
また、従業員が営業担当者の場合は、他の列などがあります。
これをデータベーススキーマに実装するにはどうすればよいですか?
私が考えた1つの方法は、いくつかの関連するテーブルを持つことです:
コアテーブル:
Name
Family
Type
type が 1 の場合、従業員はソフトウェア開発者であるため、残りの情報は table にあるはずですSoftwareDeveloper
。
Language
Technology
CanDevelopWeb
ビジネス マネージャーの場合、列を持つ別のテーブルがあります。
FieldOfExpertise
MaximumContractValue
BonusRate
この構造の問題は、1 つのテーブルが 1 つの列で複数のテーブルと関係を持っているため、テーブル間の関係を作成する方法がわからないことです。
リレーショナル整合性を強制する方法は?