0

私のアイデアは、1 つのテーブルで 2 つのエントリ (参照されるテーブル名を含むものとそのテーブルのキーを含むもの) を使用して、他のいくつかのテーブルの 1 つを参照することです。

表の関連部分:

CREATE TABLE people 
  ( 
     peopleid SMALLINT UNSIGNED auto_increment, 
     name     VARCHAR(40) NOT NULL, 
     prevname VARCHAR(40), 
     role     ENUM('Teacher', 'Mentor', 'Administrator'), 
     roleid   SMALLINT UNSIGNED 
  ) 

注:Teacher と Mentor はテーブルです。個人が管理者である場合、RoleID は null になります。

RoleID を、Role フィールドで参照されているテーブルを参照する外部キーにしたい。それ、どうやったら出来るの?

4

2 に答える 2

1

あなたの最善の策は、役割と人のために別々のテーブルを持つことです. これにより、正規化されたリレーショナル モデルが提供されます。

于 2013-02-01T22:10:27.693 に答える
0

SQL はそれを行うようには設計されていません。別のテーブルにリンクする場合は、別の外部キーが必要になります。

于 2013-02-01T19:58:52.277 に答える