2016-11-25 9 views
0

私はテーブルを "人"とし、フィールドを "SupervisorID"として実装しています。データベーステーブルの設計 - 親子レコードはメインテーブルからスピンオフしますか?

PERSONID PersionName DOB 住所 SupervisorID

SupervisorIDフィールドが空であるか、NULLは、彼/彼女が上司やまったくスーパーバイザーであることを意味します。

私は別のテーブルとしてスピンオフすることを考えています。この親子関係を示すために 'supervisor'テーブル。

テーブル '監督': SupervisorID は、このテーブルには表示されません何の上司を持っていない人のために

をPERSONID。

+1

Googleを使用しましたか?あなたの問題に対する解決策がたくさんあります。これはあなたのことです[開始点](https://en.wikipedia.org/wiki/Database_design) –

答えて

0

前述したように、多対多リレーションシップを作成しようとしています(つまり、従業員には多数の/ 1つのスーパーバイザが存在する可能性があります)。

単純な一対多の関係の場合、(SupervisorID、PersonID)のみが含まれていると、追加のテーブルは通常必要ありません。リレーションシップに独自の属性がある場合に役立ちます。たとえば、(SupervisorID、PersonID、DateStarted)は、従業員と監督者の関係が開始された日付という追加の属性をきちんと保存するのに便利です。

関連する問題