---
title: "データベースの制約とは？NOT NULL・一意性・外部キーを整理【DS検定】"
description: "データベースの制約をデータ品質と整合性を守るルールとして整理します。NOT NULL、一意制約、主キー、外部キーの役割とDS検定での見分け方を確認できます。本文では、用語の定義、具体例、似た概念との違い、試験で迷いやすい選択肢の見分け方まで短時間で復習できます。"
last_modified_at: "2026-05-15"
canonical_url: "https://stemtazoo.github.io/ds/database-constraints/"
section: "ds"
---

<div style="font-size: 14px; margin-bottom: 12px;">
  <a href="/ds/">DS検定トップ</a>
  ＞ データベースの制約とは？NOT NULL・一意性・外部キーを整理【DS検定】
</div>

## まず結論

データベースの制約（constraint）とは、データの整合性や正しさを保つためにテーブルに設定するルールです。

DS検定では **「データの品質を守る仕組み」**として理解しておくことが重要です。




## 直感的な説明

データベースは、会社の重要なデータを保存する場所です。

もし何のルールもなければ、

IDが空のデータ

同じIDが複数あるデータ

存在しない顧客IDの注文データ


のような 壊れたデータが簡単に登録されてしまいます。

そこでデータベースでは、

「この列は必ず値を入れる」 「この列は重複してはいけない」 「この列は別のテーブルの値と一致していなければならない」

といった **ルール（制約）**を設定します。

これによって、 データの品質（データ品質・データ整合性）を守ることができます。



## 定義・仕組み

データベースの制約とは、

> テーブルに登録されるデータが、定義されたルールを満たしているかをチェックする仕組み



です。

代表的な制約には次のものがあります。

NOT NULL制約

NULL（値なし）を禁止する制約

例 顧客テーブル

顧客ID	名前

1	田中
2	鈴木


もし顧客IDがNULLだと 誰のデータか分からなくなるため、

顧客IDは必ず入力する

というルールを設定します。



一意性制約（UNIQUE）

同じ値の重複を禁止する制約

例 社員番号

社員番号	名前

1001	山田
1002	佐藤


社員番号は 同じ番号が2人存在してはいけません。

そのため

社員番号は重複禁止

という制約を設定します。



外部キー制約（Foreign Key）

別のテーブルに存在する値のみ許可する制約

例

顧客テーブル

顧客ID	名前

1	田中
2	鈴木


注文テーブル

注文ID	顧客ID

100	1


もし

顧客ID = 99

の注文が登録されたら 存在しない顧客の注文になってしまいます。

そこで

注文の顧客IDは 顧客テーブルに存在するIDのみ

という制約を設定します。



CHECK制約

値の条件を指定する制約

例

年齢 >= 0

のように 条件に合わないデータを禁止します。



## どんな場面で使う？

データベースの制約は データの品質を守るために必ず使われます。

例えば

システム開発

顧客IDは必ず入力（NOT NULL）

メールアドレスは重複禁止（UNIQUE）


業務データ管理

注文は必ず既存顧客に紐づく（外部キー）

在庫数は0以上（CHECK）


このように データが壊れないようにするための基本機能です。

データサイエンスでも、

データ基盤

データウェアハウス

ETL処理


などで重要になります。



## よくある誤解・混同

制約 = データ型 ではない

DS検定ではここを混同させる問題が出ます。

データ型

例

INTEGER VARCHAR DATE

制約

例

NOT NULL UNIQUE FOREIGN KEY CHECK

つまり

種類	役割

データ型	値の種類
制約	値のルール


です。



主キー（Primary Key）との関係

主キーは

NOT NULL + UNIQUE

を同時に満たす制約です。

DS検定では

主キー

一意制約

外部キー


の違いを問われることがあります。



DS検定の典型的なひっかけ

選択肢で次のように書かれていたら注意です。

❌ 「制約はデータの型を定義する」 → これは データ型の説明

⭕ 「制約はデータの整合性を保つルール」 → こちらが正しい



## まとめ（試験直前用）

データベースの制約は データの整合性を守るルール

NOT NULL → NULL禁止

UNIQUE → 重複禁止

外部キー → 他テーブルとの整合性

CHECK → 値の条件


DS検定では

データ型と制約の違い 主キー・外部キーとの関係

を判断できることが重要です。



## 対応スキル項目（データエンジニアリング力シート）

データ管理

データベース


★ データベースの基本概念（テーブル、主キー、外部キーなど）を理解している ★ データの整合性や品質を保つ仕組みを理解している

<hr>

<div style="margin-top: 16px;">
  🏠 <a href="/ds/">DS検定トップに戻る</a>
</div>
