関係データベースと表の試験問題への適用
表の設計問題では、一行が何を表すかを最初に言葉にする。主キー候補、列の値域、重複行、NULLの扱いを具体的な表で判断する。
この単元で学ぶこと
- 行の粒度の意味と役割を説明できる
- 候補キーの意味と役割を説明できる
- NULLの意味と役割を説明できる
- 具体的な表から行粒度・キー・NULL・制約の問題を見つけられる
本文解説
良い表設計では行の意味が明確で、一意識別できるキーがある。列には意味に合う型・制約を設定し、複数事実を一列へ詰め込みすぎない。
行の粒度 一行が表す対象・事実の単位。 粒度が曖昧だと重複や更新不整合を生みやすい。
候補キー 各行を一意に識別できる最小の属性集合。 候補の中から主キーを選べる。
NULL 値が未知・未設定などであることを表す特殊な状態。 0や空文字と同じ意味ではない。
制約 データが満たすべきルール。 NOT NULLやUNIQUEなどで整合性を支える。
重複 同じ事実が不要に複数行・複数箇所へ現れる状態。 更新漏れや容量増加の原因になる。
一行=何か、何で一意か、未設定値は何か、どの制約が必要かを順に確認する。
社員表で社員番号が一意なら主キー候補。退職日前の社員は退職日NULLで表せるが、0日とは別。
図解
重要ポイント
- 行の粒度: 一行が表す対象・事実の単位。
- 候補キー: 各行を一意に識別できる最小の属性集合。
- NULL: 値が未知・未設定などであることを表す特殊な状態。
- 制約: データが満たすべきルール。
- 一行の意味と一意識別条件を先に決める。
間違えやすい点
- NULLを数値0や空文字と同一視しない。
- 候補キーを主キー一つだけしか存在しない概念と考えない。
- 制約をアプリだけに任せDB側整合性を無視しない。
用語解説
- 行の粒度
- 一行が表す対象・事実の単位。
- 候補キー
- 各行を一意に識別できる最小の属性集合。
- NULL
- 値が未知・未設定などであることを表す特殊な状態。
- 制約
- データが満たすべきルール。
- 重複
- 同じ事実が不要に複数行・複数箇所へ現れる状態。
関連教材
参考資料
教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。
確認問題の出題・採点や学習履歴の保存にはログインが必要です。