データベース基本概念

テーブル てーぶる

リレーショナルデータベース行(レコード)列(カラム)SQLスキーマ主キー
テーブルについて教えて

簡単に言うとこんな感じ!

データベースの中にある「Excelのシート」みたいなものだよ!縦の列が「項目名(名前・年齢・住所など)」、横の行が「1件1件のデータ」で、この表の形でデータを整理して保存するのがテーブルなんだ!


テーブルとは

テーブル(Table)とは、リレーショナルデータベース(RDB) においてデータを格納するための基本単位です。行(レコード)と列(カラム / フィールド)で構成された表形式の構造を持ち、同じ種類のデータをまとめて管理します。たとえば「顧客テーブル」には顧客ID・氏名・メールアドレス・登録日といった列が並び、顧客1人分のデータが1行として格納されます。

テーブルはデータベースを構成する最も重要な要素であり、SQL(Structured Query Language) を使って検索・追加・更新・削除といった操作を行います。業務システムの設計では「どんなテーブルをどう設計するか」がシステム全体の品質を大きく左右するため、発注・選定の際にも意識しておくべき概念です。


テーブルの構造

テーブルは大きく「列(カラム)の定義」と「行(レコード)のデータ」の2要素で成り立っています。

構成要素別名役割Excelで例えると
列(カラム)フィールド / 属性データの「種類・項目名」を定義1行目のヘッダー行
行(レコード)タプル / レコード実際の1件分のデータヘッダー以外の各行
セル特定の行×列の値Excelのセル
主キー(PK)プライマリキー行を一意に識別する列通し番号・IDなど
外部キー(FK)フォーリンキー他のテーブルと結びつける列参照用の番号

テーブルのイメージ(顧客テーブルの例)

customers テーブル
┌────────────┬────────────┬──────────────────────┬────────────┐
│ 顧客ID(PK) │   氏名     │    メールアドレス    │  登録日    │
├────────────┼────────────┼──────────────────────┼────────────┤
│    1001    │ 山田 太郎  │ yamada@example.com   │ 2024-01-10 │
│    1002    │ 鈴木 花子  │ suzuki@example.com   │ 2024-02-05 │
│    1003    │ 田中 一郎  │ tanaka@example.com   │ 2024-03-22 │
└────────────┴────────────┴──────────────────────┴────────────┘

テーブルの主なデータ型(カラムに設定できる種類)

データ型内容
INTEGER / INT整数1, 100, -5
VARCHAR(n)可変長の文字列(最大n文字)“山田太郎”
DATE / DATETIME日付・日時2024-01-10
BOOLEAN真偽値(True/False)TRUE, FALSE
DECIMAL / NUMERIC小数を含む数値12345.67

歴史と背景

  • 1970年 — IBMの研究者エドガー・F・コッドが「リレーショナルモデル」を提唱。データを表(テーブル)の形で扱うというアイデアを論文で発表
  • 1974年 — IBMがリレーショナルDB向けの問い合わせ言語「SEQUEL」を開発(後のSQL)
  • 1979年 — Oracle社が商用RDBMSを初リリース。テーブルという概念が実用化される
  • 1986年 — ANSI/ISO がSQLを標準化。テーブル操作の共通言語が確立
  • 1990年代〜 — MySQL・PostgreSQLなどオープンソースRDBMSが台頭し、Webシステムの普及とともにテーブルが当たり前の概念に
  • 2000年代〜NoSQLデータベースが登場。テーブル形式ではないデータ管理も選択肢に加わるが、業務システムではRDBのテーブルが依然主流

テーブルとスキーマ・データベースの関係

テーブル単体ではなく、データベース全体の構造(スキーマ の中でテーブルがどう位置づけられるかを把握しておくと、システム発注・設計のコミュニケーションがスムーズになります。

データベース(例: 販売管理DB) スキーマ(テーブル定義・構造の設計図) 顧客テーブル ──────────── 🔑 顧客ID (PK) 氏名 メールアドレス 登録日 注文テーブル ──────────── 🔑 注文ID (PK) 🔗 顧客ID (FK) 注文日 合計金額 商品テーブル ──────────── 🔑 商品ID (PK) 商品名 価格 在庫数 FK参照 🔑 = 主キー(Primary Key) 🔗 = 外部キー(Foreign Key)

テーブル・スキーマ・データベースの違い

概念役割例え
データベーステーブルをまとめて管理するコンテナ会社全体のキャビネット
スキーマテーブルの構造・定義を記述した設計図キャビネットの引き出しの目次
テーブル実際にデータが入った表1つの引き出しの中のファイル
レコード(行)テーブルの1件分のデータファイルの1枚の書類

よくある業務テーブルの例

業務システムでよく登場するテーブルの種類を知っておくと、ベンダーとの会話に役立ちます。

テーブル名役割
顧客マスタ顧客情報を一元管理
商品マスタ商品・サービスの定義情報
注文ヘッダ注文1件の基本情報(日時・顧客・合計)
注文明細注文1件に含まれる商品の一覧
ユーザーマスタシステムへのログインユーザー情報
ログテーブル操作履歴・エラー履歴の記録

関連する規格・RFC

規格番号内容
ISO/IEC 9075 (SQL標準)SQLのテーブル操作(CREATE TABLE・SELECT等)を定義する国際標準規格

関連用語