1

呼び出されたスーパータイプエンティティを接続する必要があります

  • ユーザー(User_ID(PK)、User_Password、Registration_Date、..など)。

次のエンティティのそれぞれに:

  • 従業員(Employee_ID(PK)、Fname、Lname、Birthdate ..など)
  • 顧客(Customers_ID(PK)、Fname、Lname、Birthdate ..など)
  • サプライヤー(Supplier_ID(PK)、Fname、Lname、Birthdate ..など)..

どのようにそれを行うか(リレーショナルデータベースの場合)Ms-Accessを使用しますか?

4

1 に答える 1

2

リレーショナルデータベースで継承を表すには、一般に3つの戦略があります。

  1. 1つのテーブルのすべて。
  2. 別のテーブルのコンクリートタイプ。
  3. 別々のテーブルのすべてのタイプ。

(3)は、かなりのJOINを伴う可能性がありますが、おそらく最も一般的で最も「クリーン」です。あなたの場合、子テーブル(親を参照)にFKがあり、アプリケーションロジックを介して子のプレゼンス1と排他性2を適用します。循環および遅延FKをサポートするDBMSを介して宣言的にこれらのことを強制することは可能ですが、MSAccessでは実行できません。

詳細については、この投稿をご覧ください。


1したがって、ユーザーは単なるユーザーではなく、従業員、顧客、またはサプライヤーのいずれかである必要があります。

2したがって、ユーザーは(たとえば)同時に顧客とサプライヤーになることはできません。

于 2012-08-21T09:38:52.437 に答える