【せいやく】
制約(データベース) とは?
💡 テーブルに設定する「データの品質を守るルール」
📌 このページのポイント
制約って具体的にどんなものがあるの?
代表的なものは5つ。NOT NULL(空を禁止)、UNIQUE(重複を禁止)、PRIMARY KEY(NOT NULL + UNIQUE、行の識別子)、FOREIGN KEY(他テーブルへの参照整合性)、CHECK(値の範囲や条件を指定)。例えば「年齢は0以上150以下」みたいなCHECK制約を付けられるよ。
制約がないとどうなるの?
制約って後から追加・削除できるの?
ALTER TABLEで追加・削除できるよ。ただし既存データが制約に違反していると追加に失敗する。例えばNULLが入っているカラムにNOT NULL制約を付けようとするとエラーになるから、先にNULLのデータを修正する必要がある。
制約をたくさん付けるとパフォーマンスに影響する?
まとめ:ざっくりこれだけ覚えればOK!
制約って出てきたら「テーブルに設定する、おかしなデータを入れさせないためのルール」と思えばだいたいOK!
📖 おまけ:英語の意味
「Constraint」 = 制約・制限
💬 英語の「constraint(制約する)」そのまま。データに制限をかけて品質を守るイメージ