架空の映画のネタバレレビュー

”会員”テーブルの項目は、NULL不可となることが静的に決まらないので、列ごとにNOT NULL制約を定義できない。そこでNULL不可であることを動的に管理する”項目チェック”テーブルを図のように定義した。・・・

というNULL不可を動的に管理する”項目チェック”テーブルの空欄埋め問題で、解答は以下の通りでした。

項目チェック(一連番号,会員列名称,会員区分,職業区分)
一連番号が主キー

しかしながら一連番号がどうして必要なのか分かりません。
たとえ新たな職業区分を追加したとしても{会員列名称,会員区分,職業区分}を主キーにしておけばまかなえると思うのですが。
一連番号がサロゲートキーにしか思えないのですが、どなたか解説お願いいたします。

A 回答 (1件)

表1を見ると、家族会員の場合は職業区分が不要(NULLあり)のため、職業区分を主キーに含めることはできないということでしょうね。


本来であれば、家族会員用の職業区分を自動設定する仕組みにして、会員列名称,会員区分,職業区分を主キーにするのが王道です。
が、それはアプリケーション側の話となるためDB設計としてみた場合は良くないということでしょう。
    • good
    • 0
この回答へのお礼

主キーはNULL不可でしたね。
家族会員のケースをうっかりしていました。
ありがとうございました。

お礼日時:2011/12/07 00:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報