関係データベースと表の試験問題への適用

表の設計問題では、一行が何を表すかを最初に言葉にする。主キー候補、列の値域、重複行、NULLの扱いを具体的な表で判断する。

この単元で学ぶこと

  • 行の粒度の意味と役割を説明できる
  • 候補キーの意味と役割を説明できる
  • NULLの意味と役割を説明できる
  • 具体的な表から行粒度・キー・NULL・制約の問題を見つけられる

本文解説

良い表設計では行の意味が明確で、一意識別できるキーがある。列には意味に合う型・制約を設定し、複数事実を一列へ詰め込みすぎない。

行の粒度 一行が表す対象・事実の単位。 粒度が曖昧だと重複や更新不整合を生みやすい。

候補キー 各行を一意に識別できる最小の属性集合。 候補の中から主キーを選べる。

NULL 値が未知・未設定などであることを表す特殊な状態。 0や空文字と同じ意味ではない。

制約 データが満たすべきルール。 NOT NULLやUNIQUEなどで整合性を支える。

重複 同じ事実が不要に複数行・複数箇所へ現れる状態。 更新漏れや容量増加の原因になる。

一行=何か、何で一意か、未設定値は何か、どの制約が必要かを順に確認する。

社員表で社員番号が一意なら主キー候補。退職日前の社員は退職日NULLで表せるが、0日とは別。

図解

表設計の確認順
行粒度→候補キー→NULL→制約→重複の順で点検する。

重要ポイント

  • 行の粒度: 一行が表す対象・事実の単位。
  • 候補キー: 各行を一意に識別できる最小の属性集合。
  • NULL: 値が未知・未設定などであることを表す特殊な状態。
  • 制約: データが満たすべきルール。
  • 一行の意味と一意識別条件を先に決める。

間違えやすい点

  • NULLを数値0や空文字と同一視しない。
  • 候補キーを主キー一つだけしか存在しない概念と考えない。
  • 制約をアプリだけに任せDB側整合性を無視しない。

用語解説

行の粒度
一行が表す対象・事実の単位。
候補キー
各行を一意に識別できる最小の属性集合。
NULL
値が未知・未設定などであることを表す特殊な状態。
制約
データが満たすべきルール。
重複
同じ事実が不要に複数行・複数箇所へ現れる状態。

関連教材

参考資料

教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。

確認問題の出題・採点や学習履歴の保存にはログインが必要です。