Skip to the content.

最終更新日:2026年8月16日

DS検定トップ > データベースの制約とは?NOT NULL・一意性・外部キーを整理【DS検定】

まず結論

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

DS検定では、「データ型」と「制約」を混同しないことが重要です。

直感的な説明

ルールがなければ、次のような壊れたデータが登録される可能性があります。

  • IDが空
  • 同じIDが重複
  • 存在しない顧客IDを持つ注文

そこで、

  • この列は必須
  • この列は重複禁止
  • この値は別テーブルに存在していなければならない

といったルールを設定します。これが制約です。

定義・仕組み

代表的な制約は次の通りです。

制約 主な役割
NOT NULL NULLを禁止する
UNIQUE 重複を禁止する
FOREIGN KEY 参照先との整合性を保つ
CHECK 値の条件を指定する
PRIMARY KEY レコードを一意に識別する

NOT NULL制約

NULL(値なし)を禁止します。

顧客ID 名前
1 田中
2 鈴木

顧客IDを必須にしたい場合などに使います。

一意性制約(UNIQUE)

同じ値の重複を禁止します。

社員番号 名前
1001 山田
1002 佐藤

社員番号やメールアドレスなど、重複させたくない列に使います。

外部キー制約(FOREIGN KEY)

別テーブルに存在する値だけを許可します。

顧客ID 名前
1 田中
2 鈴木

注文テーブルに 顧客ID = 99 が登録されると、存在しない顧客を参照することになります。外部キー制約はこれを防ぎます。

CHECK制約

年齢 >= 0 のように、値が満たすべき条件を指定します。

どんな場面で使う?

システム開発

  • 顧客IDは必須 → NOT NULL
  • メールアドレスは重複禁止 → UNIQUE

業務データ管理

  • 注文は既存顧客だけを参照 → FOREIGN KEY
  • 在庫数は0以上 → CHECK

制約は、データが壊れる前にDB側で防ぐ仕組みです。

よくある誤解・混同

❌ 制約 = データ型

概念 役割
データ型 値の種類を決める INTEGER, VARCHAR, DATE
制約 値のルールを決める NOT NULL, UNIQUE, FOREIGN KEY

❌ 主キーとUNIQUEは同じ

主キーはレコード識別の中心となるキーで、基本的に NULL不可 + 重複不可 です。

❌ 外部キーは値を一意にする制約

外部キーの役割は、参照先との整合性を守ることです。重複自体は許されます。

まとめ(試験直前用)

  • 制約 = データの整合性を守るルール
  • NOT NULL → NULL禁止
  • UNIQUE → 重複禁止
  • FOREIGN KEY → 参照先との整合性
  • CHECK → 値の条件
  • データ型と制約を混同しない

DS検定では、「値の種類」ならデータ型、「値のルール」なら制約と切り分けましょう。

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

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

🔗 関連記事



© 2024-2026 stemtazoo. All rights reserved.