インタビューに参加したところ、次のシナリオといくつかのサンプル データを含む質問がありました。
A
はB
、C
およびのボスですD
。
はとD
のボスです。次にとのボスです。つまり、階層データがあります。E
F
F
G
H
別の言い方をすれば、プロジェクト マネージャー、チーム リーダー、そして開発者がいると言えます。次に、データを格納するテーブルを作成します。
さらに、開発者は後でプロジェクト マネージャーになることもできます。
では、テーブルはどのように作成すればよいでしょうか。テーブルにはどの列を含める必要がありますか?
私の答えは:
列を含むプロジェクト マネージャー用の 1 つのテーブルが必要でPM_ID
あり、PM_Name
どこPM_ID
に主キーがあります。次に、チーム リーダー用に別のテーブルを作成する必要があります。そのテーブルではTL_ID
、主キーとして、TL_Name
およびPM_ID
外部キーとして持つ必要があります。
D_ID
次に、開発者テーブルを主キーとして作成しD_Name
、次にTL_ID
外部キーとして作成する必要があります。
テーブルに正しいスキーマを提供したかどうか教えてください。
何か問題がある場合は、上記のケースの正しいスキーマを教えてください。