study-note

整合性制約の記述

目次

概要

整合性制約(一貫性制約)とは

整合性制約の例

列制約とテーブル制約

  1. 列制約:各カラムのデータ型の後に記述
  2. テーブル制約:テーブルの最後のカラム定義の後に記述し、テーブル全体に対して制約を課す

書式

CREATE TABLE <table_name> (
  column1 data_type1 <column-level_constraint1>,
  column2 data_type2 <column-level_constraint2>,
  ...
  <table-level_constraint> 
);

主なデータ型

  1. 数値型
    • int:整数
    • double:小数点以下を含む数値
  2. 文字列型
    • char(n):固定長文字列、nは桁数(n文字未満の場合はスペースが埋め込まれる)
    • varchar(n):可変長文字列、nは桁数
  3. 日付型
    • date:年月日(YYYY-MM-DD
    • datetime:年月日と時刻(YYYY-MM-DD

キー制約

書式

  1. 列制約
  column1 data_type1 PRIMARY KEY,
  1. テーブル制約
  PRIMARY KEY(column1, ...)

NOT NULL制約

書式

column1 data_type1 NOT NULL,

一意性制約

書式

  1. 列制約
  column1 data_type1 UNIQUE,
  1. テーブル制約
  UNIQUE(column1, ...)

チェック制約

書式

  1. 列制約
  column1 data_type1 CHECK(column1>=100),
  1. テーブル制約
  CHECK(column1>0)

参照整合性制約(外部キー制約)

書式

  1. 列制約
  column1 data_type1 REFERENCES <table_name>(<column_name>),
  1. テーブル制約
  FOREIGN KEY(column1) REFERENCES <table_name>(<column_name>)