# データベースについて

Web サイトやアプリには会員登録や投稿機能のある SNS などたくさんの機能があります。 これらの情報は保存し、必要なときにすぐに取り出せるようにするために、データベースを使用します。 このページでは、データベースについて説明しています。

# データベースについて知ろう

Web サイトやアプリケーションにはメールアドレスや名前の登録、投稿などの機能があり、情報を保存する必要があります。保存するために必要なものが「データベース」になります。データベースは一言で言うと、「整理した情報の集まり」のことを指します。例えば Amazon のページにアクセスすると、大量の商品が閲覧できるようになってます。このように大量の商品データを登録して、整理して保存しておき、必要なときに必要なデータを探し出せるようにしているデータの集まりがデータベースです。

データベースの使用例(ほんの一例です)

  • Amazon のユーザー情報、買い物履歴、商品
  • Twitter のツイート、いいね、ブックマーク
  • 食べログのお店情報、評価、コメント

データベースは、単なるデータの集まりです。そのため、極端に言うと、データを集めればそれは立派なデータベースです。 しかし、「データを管理する」ということを行う際には、様々な課題があります。 既存のデータベース管理システムは以下のような問題を解決することに役立ちます。

  • 毎日何万人も利用され、頻繁にアクセスされるときに、大量のデータの中から目的のデータをすぐに探したい。
  • ユーザー登録画面を作成する際に、他で登録済みの電話番号は登録できないようにしたい。すでに登録済みかどうかをチェックしたいし、必ず重複しないようにしたい。
  • 同時にたくさんのデータを更新する必要があるが、値の変更中に問題が起きたときに前の状態に戻したい。
  • お金管理システムでプリペイド残高を変更する処理中に、他のプログラムから残高を書き換えられないようにロックしたい。
  • いくつかの条件でデータを検索し、それを並び替えて最新の 10 件だけがほしい。早くほしい。
  • 保存済みのデータは消えてほしくない。復元できるように定期的にバックアップしておきたい。

上記のような仕組みを、自力で解決するのは大変です。そのため、一般に データベース管理システムを使います。

# データベースの種類

データベースには以下のような種類があります。

  • 階層型
  • ネットワーク型
  • リレーショナル型

中でも、リレーショナル型は特によく利用されています。この学習サイトでは、リレーショナル型のみ説明しています。

# リレーショナルデータベース(RDBMS / RDB)

RDBMS とは、Relational DataBase Management System の略であり、SQL を利用してリレーショナルデータベースを管理するシステムです。 関係データベース管理システムともいいます。

RDBMS のイメージは 表計算ソフトです。列と行で構成されている表のイメージが RDBMS です。

# MySQL

MySQL は、Oracle が開発してサポートするオープンソースの SQL リレーショナルデータベース管理システムです。Community Edition であれば、用途を問わず無料で利用できます。代表的な RDB のうちの一つです。 多くの企業やウェブサービスで採用されているので、最初に覚えるデータベースとしておすすめです。

# PostgreSQL

PostgreSQL(ポストグレスキューエル)はオープンソースのリレーショナルデータベース管理システム(RDBMS)です。用途を問わず無料で利用できます。代表的な RDB のうちの一つです。

# データベースの仕組み

実践編では実際にデータベースを扱っていきます。もう少し詳しく見ていきます。

本教材では Web 開発でよく利用されている MySQL を扱います。MySQL は RDBM に分類され、テーブルごとにデータを分けて保存・管理するデータベースシステムです。

# データベースとテーブルの関係

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

DBMS は複数の DB を管理しています。各 DB の中には、表形式のテーブルが存在し、テーブルの中に実際のデータが入っています。

表

# データベースにおける用語

適切にデータベースを管理するためには、最低限必要な専門用語を理解しておくと、上手な活用に繋がります。また、テーブルと Excel は似ているため比較しながら覚えるのがおすすめです。ここからはテーブルの関連用語を説明していきます。

  • 「テーブル」

データがひとまとまりの表形式になっている状態を「テーブル」と呼びます。 テーブルは複数の列と行で構成され、それぞれを「カラム」、「レコード」と呼びます。 Excel で例えるとシートがテーブルを表します。データベースは複数のテーブルを保持し、テーブルごとにデータを管理しています。

  • 「カラム」

カラムは「コラム」とも呼ばれ、「属性」を意味します。Excel で例えると「列」に該当する垂直方向にあるデータのことです。

  • 「レコード」

レコードはデータそのものを意味する言葉です。Excel でいうとレコードは「行」に該当する、水平方向にあるデータのことです。「行」はほかにも「ロウ」という用語を使う場合もあるため、併せて覚えておくと良いでしょう。

  • 「フィールド」

フィールドはデータベースに存在しているデータの最小単位のことです。このフィールドの集合体がカラムやレコードであり、テーブルに該当します。Excel で例えると「セル」を意味する言葉です。

引用:IT トレンド(データベースにおけるテーブルとは?レコードなどの関連用語も解説) (opens new window)

# 主キー

ID のように、レコード 1 件ずつに違う番号を割り当てるようなものを主キー(Primary Key)といいます。

学校のクラスにおける出席番号のようなものだと捉えるとイメージしやすいかと思います。クラスには同姓同名の子がいるかもしれませんが、個人に割り当てられた出席番号ならば、同姓同名の子も区別することができます。

上表では商品 ID が主キーです。

# まとめ

  • データベースは、電話帳やショッピングサイトの商品一覧、住所録などの「整理した情報の集まり」。
  • データベース管理システム( DBMS )を用いてデータを管理、構築できる。