2011-08-15 3 views
0

DBに取り組んでおり、サブタイプのディスクリミネータを強制するのに苦労しています。スーパータイプ/サブタイプDB実装

(Super type) Employee Table: **Emp_ID**, F_Name,L_Name,Sex, Dept_Type {"H","S","N"} 
(Sub-type) Hardware Table: **Emp_ID**, Level,Manager.... 
(Sub-type) Software Table: **Emp_ID**, Experience,Skill.... 
(Sub-type) Network Table: **Emp_ID**, Certification,Proficiency.... 

私は私がDept_TypeとEMP ID「H」が唯一のないソフトウェアやネットワークテーブルにハードウェアテーブルにレコードを挿入することができるとDB MS-アクセスレベルに適用することができます方法を知っておく必要があります。同様にDept_Type "S"を持つEMP_IDは、他の2つのテーブルにないSoftwareテーブルのレコードのみを挿入できます。

MS Accessを使用してDBレベルで強制する方法はありますか?または、アプリケーションを介してのみ実施することができます

答えて

0

a)ハードウェアテーブルにリストされている従業員は、Dept_TypeがHの従業員テーブルにリストされている必要があります。b)ソフトウェアテーブルにリストされている従業員は1でなければなりませんDept_Type SのEmployeeテーブルにリストされている場合は、次のように試してみてください。

  1. ハードウェアとソフトウェアの各テーブルにDept_Typeフィールドを追加します。
  2. ハードウェアテーブルのDept_Typeフィールドで、RequiredプロパティをYesに、Validation Ruleプロパティを "H"に設定します。
  3. ソフトウェアテーブルのDept_Typeフィールドで、RequiredプロパティをYesに、Validation Ruleプロパティを "S"に設定します。
  4. Employeeテーブルで、Emp_IDフィールドとDept_Typeフィールドの組み合わせに一意のインデックスを作成します。
  5. Emp_IDフィールドとDept_Typeフィールドの組み合わせについて、Employeeテーブル(「片側」)とハードウェアテーブル(「多側」)の間で参照整合性を強制する関係を追加します。
  6. Emp_IDフィールドとDept_Typeフィールドの組み合わせのEmployeeテーブル(「片側」)とSoftwareテーブル(「多側」)の間に参照整合性を強制する関係を追加します。
関連する問題