お世話になります。
データベース設計でスーパータイプ、サブタイプというのがありますが、
サブタイプ固有のフィールドの中で一部のテーブルで共通化できるものがある場合、これはスーパータイプに含めるべきでしょうか。
上記は社員テーブルをスーパータイプとして、正社員、アルバイト、契約社員という区分毎でサブタイプを切り出しています。ここで、アルバイトと、契約社員の中で、「hourly_salary」と「working_hours」が共通のフィールドとして、切り出せるのでスーパータイプの「employee」テーブルに含めるというのはありでしょうか。
このような例の場合は、employeeテーブルとpart_time,afreementテーブル間に中間テーブルを入れるという作る方もあるかもしれませんが、これがテーブルの数が増えて、フィールドの数も増えた場合はどうでしょうか。
一部で共通化できるからスーパータイプテーブルに入れるとnullを許容することにもなるので、
問題ではないかと思っています。
このような場合のDB設計について皆様のご意見をお聞かせください。
※上記図はあくまで例として出しているだけなので、スーパータイプ、サブタイプと分けた場合で一部で共通化出来るフィールドをどうするかという質問に対してのご回答をお願いいたします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/07 03:00