実体完全性制約とは?じったいかんぜんせいせいやく
実体完全性制約とは、主キーを構成する属性は空値を許さず、関係の中で一意でなければならない、という関係モデルの基本規則。どの行も必ず識別できることを保証し、他の表からの参照が成り立つ前提になる。DBMSでは PRIMARY KEY を宣言すれば、NOT NULL と一意インデックスという形で自動的に強制される。
最終更新:2026-10-06
データベースSPを最短で暗記・合格する →背景
行が識別できないと、その1行だけを更新することも削除することもできず、外部キーが指す先も定まらない。関係モデルは行に物理的な位置や順序を持たせない立場をとるので、識別は値そのものに担わせるしかない。理屈の話に見えて、主キーに何を選ぶかが行の物理配置と索引の太さまで決めてしまう、実装上は重い判断に直結している。
具体例
受注明細の主キーを「受注番号+行番号」とすると、どちらかが空なら行を特定できず参照先も定まらない。MySQL の InnoDB は主キー順に行を格納し二次索引は主キー値を持つため、主キーを8バイトのBIGINTから16バイトのUUIDへ変えると、1,000万行・二次索引5本で数百MB膨らむ。
試験での引っ掛け
参照完全性(外部キー)と混同しやすい。実体完全性は自分の表の主キーに関する規則、参照完全性は他表の値との対応に関する規則。外部キー側はNULLを許せるが主キー側は許せない、という非対称も対にして問われる。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。