LoginSignup
0
1

More than 3 years have passed since last update.

目的

  • DBのテーブル設計をするにあたり基礎的な知識としての「DBの制約」について知る。

DBの制約とは??

  • DBのルールのこと。
  • リレーショナルデータベース(RDB)で扱うテーブルに対しての決め事や絶対条件を指す。

制約の種類

NOT NULL制約

  • 自分でテーブルの列毎に設定することが可能である。
  • ただし主キーに当たる列は勝手にDBMS側でNOT NULL制約が設定されている。
  • DBにデータを登録するときに、当該レコードの一部カラムにデータが存在していないことがありうる。
  • NOT NULL制約を課している列のカラムにデータがない(NULL)状態でDBに登録されようとしているときにSQL側でエラーを返す。
  • カラムにデータが入っていないとSQLで問題を起こすことがあるので、基本的にDBのテーブルのすべての列はNOT NULL制約をすることが一般的である。

一意制約

  • 自分でテーブルの列毎に設定することが可能である。
  • テーブル内の列のデータに対して一意性を求めることができる。
  • 同じようなテーブル内で一意になる列である、主キーは1テーブルにつき1列しか定義できないのに対し、一意制約では複数の列に対して制約を課すことができる。
  • 一意制約がかけられている列でデータ重複を検出した時、SQL側でエラーを返す。

CHECK制約

  • 自分でテーブルの列毎に設定することが可能である。
  • テーブル内の列のデータに対して取りうる値の範囲を制限するためのものである。
  • 年齢の列に0~130までの値のみ入力可能にするなどの制約を付けられる。
  • 一つのテーブルに対しいくつも設定することができるが、列同士の比較はできない。(A列>B列になるようにCHECK制約を課すなどは不可能)
0
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1