最終更新日:2023年06月20日 / 投稿日:2023年06月20日

データベースは、決まった形式で整理されたデータの集合体であり、電子的に格納されています。データベースの中でもよく使用されるのが、リレーショナル・データベース(RDB)です。リレーショナル・データベースは、表形式のテーブルにデータを格納して管理しており、リレーショナル・データベースを操作する際には、リレーショナル・データベース管理システム(RDBMS)を使用します。

当記事では、リレーショナル・データベースやテーブルについて詳しく説明していますので、ぜひ参考にしてください。

 

1. データベースにおけるテーブルとは

データベースにおけるテーブルとは

データベースにおける「テーブル」とは、データベース内にデータを保存するための表のことで、イメージとしては「データを入れておく箱」のようなイメージです。

Excelの場合、データベースがExcelの「ブック」に該当し、テーブルは「シート」に該当します。

テスト自動化ツールならATgo

 

1-1. データベースに関連するその他の用語

テーブルは、複数の列(カラム)行(レコード)で構成されています。

カラム
カラム(列)はテーブルの垂直方向の並びのことで、特定の種類のデータを保持します。たとえば、顧客情報を格納するテーブルには「名前」「住所」「電話番号」などのカラムがあるでしょう。

各カラムは特定のデータタイプ(例:文字列・数値・日付など)を持ち、そのデータタイプに基づいてデータが格納されます。

レコード
レコード(行)はテーブルの水平方向な部分の並びのことで、特定のエンティティ(※)に関するデータを保持します。たとえば、社員情報を格納するテーブルのレコードには、1人の社員に関する情報(例:社員名、社員番号、部署、部署コードなど)が並んでいます。

※エンティティ…ひとまとまりのデータの集合

フィールド
フィールドは、特定のレコード(行)内の特定のカラム(列)のデータを指します。Excelで言えば、「セル」のことです。たとえば、「田中太郎」という名前の顧客の電話番号は、「田中太郎」レコードと「電話番号」カラムの交点にあるフィールドに保存されます。

 

2. テーブルを利用するリレーショナル・データベース(RDB)

テーブルを利用するリレーショナル・データベース(RDB)

リレーショナル・データベース(RDB)は、データを整理して保存するためのデータベースの一種です。

1970年代にエドガー・F・コッドによって発明され、その理論は「リレーショナル・モデル」と呼ばれています。リレーショナル・データベースでは、データを「テーブル」形式で保存します。

機能一覧 | テスト自動化ツールならATgo

 

2-1. RDBの特徴

RDBの主な特徴は、以下の通りです。

表を統合し関連性を示すことができる

リレーショナル・データベースの最大の特徴は、異なるテーブル間で関連性(リレーションシップ)を持たせることができる点にあります。簡易的ではありますが、以下の例で確認してみましょう。

表A
No.購入日商品顧客コード
00012023/07/01商品A123456
00022023/07/04商品B789012
00032023/07/06商品A345678
00042023/07/07商品C901234
表B
顧客コード顧客名住所
123456田中太郎東京都○○区~~
789012山田花子大阪府○○市~~
345678高橋次郎北海道○○町~~
901234橋本愛子福岡県○○市~~

上記のような表A、Bが別々にある場合、これらを関連付け、2つの情報を組み合わせた表Cを作成することが可能です。

表C
No.購入日商品顧客コード顧客名住所
00012023/07/01商品A123456田中太郎東京都○○区~~
00022023/07/04商品B789012山田花子大阪府○○市~~
00032023/07/06商品A345678高橋次郎北海道○○町~~
00042023/07/07商品C901234橋本愛子福岡県○○市~~

RDBを操作する際にはRDBMSを使用する

「RDBMS」とは、リレーショナル・データベース管理システム(Relational Database Management System)の略で、リレーショナル・データベース(RDB)の作成や操作、保守を行うためのソフトウェアです。有名なRDBMSの製品として、MySQL、PostgreSQL、Oracle Database、Microsoft SQL Serverなどが挙げられます。

データに一貫性がある(ACID特性を有している)

RDBでは、データの重複や欠落がない状態、つまりデータの整合性が保たれている状態を維持できます。これは、RDBMSが「ACID」という特性を持って運用しているためです。ACIDは、Atomicity(原子性)・Consistency(一貫性)・Isolation(独立性)・Durability(永続性)の頭文字を取った言葉となります。

 

3. SQLを使ったテーブルの作成方法

SQLを使ったテーブルの作成方法

SQLで新しいテーブルを作る際、下記のようなCREATE TABLE文を使用します。

CREATE TABLE テーブル名 (

カラムの名前1 データ型 オプション,

 カラムの名前2 データ型 オプション,

 カラムの名前3 データ型 オプション,

 ……

 全体向けのオプション

);

この構文では、テーブル名とそのテーブル内のカラム(列)とそのデータ型を定義しています。

 

3-1. CREATE TABLE文で使用できるデータ型

データベースにおける「データ型」とは、テーブルの各カラムに格納できるデータの種類や形式を定義するためのものです。CREATE TABLE文では、以下のように使用できるデータ型が決まっています。

データ型具体例
数値型
  • INTEGER
  • SMALLINT
  • BIGINT
  • DECIMAL
  • NUMERIC
  • REAL、FLOAT、 DOUBLE PRECISION
文字型
  • CHARACTER(n)、CHAR(n)
  • VARCHAR(n)
  • TEXT
日付と時刻型
  • DATE
  • TIME
  • TIMESTAMP
真偽値型
  • BOOLEAN
その他のデータ型
  • BLOB
  • ENUM

料金プラン | テスト自動化ツールならATgo

 

3-2. CREATE TABLE文で指定できるオプション

CREATE TABLE文では、以下のようなオプションを加えることで、より詳細な条件を設定できます。

NOT NULLNOT NULLが設定されたカラムにはNULL値(値が存在しない状態)を設定できません。NULL値を設定しようとすると、データベースはエラーを返します。
DEFAULTカラムのデフォルト値を設定します。行を挿入する際に、カラムの値が指定されなかった場合、デフォルト値が使用されます。
AUTO_INCREMENTAUTO_INCREMENTが設定されたカラムは、新しい行が追加されるたびに自動的に1ずつ加算されます。
PRIMARY KEYPRIMARY KEYが設定されたカラム(またはカラムの組み合わせ)は、テーブル内の各行重複不可のキーとして機能します。主キー(プライマリーキー)はNOT NULLかつUNIQUEであることが必要です。
UNIQUEUNIQUEが設定されたカラムには、テーブル内の他のどの行とも異なる値のみ設定できます。カラムの値がテーブル内で重複していないことを意味します。

 

3-3. テーブルを設計するときの注意点

テーブルの設計は、データベースのパフォーマンスと使いやすさに大きな影響を与えるので、以下の2点にも注意しましょう。

●正規化を考える

テータベースの正規化は、データの冗長性(重複)をなくし、データの整合性を保つために必要な作業です。正規化を行うことで、データの不整合や喪失が発生するリスクが減り、メンテナンスもしやすくなります。

●将来的なデータ追加を考える

データベースは一般的なソースコードよりも変更が大変であるため、基本的には将来的な機能追加を見越した上で設計するほうがおすすめです。

 

まとめ

テーブルの構造は、カラムとレコードで構成されており、実際にデータが入っているのがフィールドです。リレーショナル・データベースを使えば、異なるテーブルであっても、関連性を持たせられます。

また、SQLでテーブルを設計する場合はCREATE TABLE文を使い、必要に応じてNOT NULLやPRIMARY KEYなどのオプションを指定することもできます。テーブルを設計する際は、正規化を行い、将来的なデータ追加があるかどうかも考慮しておくとよいでしょう。

監修:六元素情報システム株式会社
監修
六元素情報システム株式会社 ATgoチーム

六元素情報システムは、システム開発現場で培った高い技術力と実務経験を持つ企業です。その知見を活かして開発したテスト自動化ツールATgo(特許6830701号)の提供を通して、日本のシステム開発における生産性向上と品質向上に貢献します。

コーポレートサイト:https://www.rgsis.com/
ATgo Facebook:https://www.facebook.com/ATgo.rgs/
ATgo X(旧Twitter):https://twitter.com/ATgo_rgs

テスト自動化ツールならATgo
1か月トライアル無料:詳細はこちら
テスト自動化ツールATgo

1か月無料ですべての機能をお試しいただけます。お気軽にお問い合わせください。