ホームやさしいIT研究室

データベースのテーブル構成要素

データベースのテーブル構成要素

はじめに


ITとは「情報技術」のことを指します。
IT関連のあらゆるテクノロジーは、情報つまりは”データ”を、より効果的に扱うための手段だと言えます。

それだけに、データはシステムの中心にある最も重要な存在だといっても過言ではありません。
そして、そのデータを管理し、活用するための土台となるのがデータベース(DB)です。

この記事は、データベースについて学んだことを、自分なりに整理した備忘録です。
同じように勉強している方の参考にもなれば嬉しいです。

カラムの役割


データベースを正しく動かすためには、ただ項目を並べるだけではなく、それぞれのカラムに適切な役割を持たせることが大切です。

中でも、データを一意に識別して取り出しやすくする「主キー」や、テーブル同士の関係を結びつける「外部キー」は、データベースの土台を支える重要な存在です。

カラムの役割

主キー

テーブル内のレコードを一意に特定するための代表カラム
複数のカラムを組み合わせる複合キーを用いる場合もある
各テーブルに必ず1つだけ必要で、重複や空値は許されない(一意制約+NOT NULL制約)

外部キー

別テーブルの主キーを参照し、テーブル同士の関係を結びつけるためのカラム
カラム同士には親子関係が生まれ、親である参照先が存在しないと登録できない(参照整合性制約)

カラムの制約


カラムには、どんな値を入れてもいいわけではありません。

データが壊れたり矛盾したりしないように、あらかじめ「入れていい値・入れてはいけない値」のルールを決めておく必要があります。

カラムの制約

一意制約

重複した値は許さない制約
主キーと違って、テーブルに複数設定できる

NOT NULL制約

空の値は許さない制約
NULLはSQLにおいて厄介なため、可能な限りデータはNULLを避ける

CHECK制約

入力可能な値の条件を定義する制約
DB側で値の妥当性を保証するための仕組み

テーブル・カラムの命名について


最後に、テーブルやカラムの命名についても少し書き残しておきます。

ここは少し実務寄りの話になりますが、データベースを扱ううえで地味にトラブルを防いでくれる大事なポイントです。

  1. ハイフンではなくアンダーバーを使う

    ハイフン(-)はSQLで演算子として扱われるため、識別子として使用するとエラーの原因になる

    命名にはアンダーバー(_)を使用するのが一般的

  2. 最初の文字はアルファベットにする

    先頭に数字等を使うとSQLで正しく解釈されないことが多い

    保守性を高めるためにも、英字で始める命名が推奨される

さいごに


今回は『達人に学ぶDB設計徹底指南書』を参考に、データベースのテーブル構成要素をざっくりまとめました。

次回はいよいよ、データベース設計の核心ともいえる「正規化」について紹介していきます。お楽しみに。

参考サイト