データを蓄積し再利用できる

IT化が進んでいる現在 最も活用されているといえるものが「データベース」です。

データベース database は、文字通り「データの基礎・土台」「データの基地」という意味です。

  • データが蓄積され 再利用できるようになっている

追加したり編集したりすることができるという点で、データベースは、デジタルデータであるといえます。

電話帳

非常に身近な例でいいますと、携帯電話やスマートフォンに入っている電話帳は データベースです。

名前や電話番号、メールアドレスなどが登録されています。

データが蓄積されており、再利用できますね。

必要に応じて データを削除したり編集したりすることもできます。

ExcelとAccess

MicrosoftのExcelで作成した名簿やリストもデータベースです。

データを追加したり、条件を付けて 特定のデータだけを表示させることができます。

また MicrosoftのAccessは データベース専用ともいえるソフトウェアです。

データを蓄積し再利用・加工できるように最適化されています。事業所などでは Accessで顧客名簿や商品リスト、請求書・納品書の作成などで使われています。

データベースの例

一般的に IT用語でデータベースというときは、商用的に使われているもの・規模の大きなものを指すことが多いです。

そして 慣習的に このような円柱の図で表わされます。

データベース

あるサービスを利用している会社に電話するとします。

あなたはカスタマーセンターの方から 会員番号や氏名、電話番号を聞かれます。

そして確認のため生年月日も教えてくださいと言われることもあります。

これはつまり、

その会社のカスタマーセンターでパソコンから 「社内のデータベースにアクセスして 情報を確認している」ということになります。

社内データベース

また図書館に行ったとしましょう。

本を検索することができるコンピュータがあります。本の名前や著者や出版社の名前から その本がどこにあるか?調べることができます。

図書館データベース

これもデータベース以外の何ものでもありません。

インターネットでのログイン時やネットショッピングなどでも もちろんデータベースは使われています。

例えばネットショップにログインするとしましょう。ログイン時にIDとパスワードを入力し データベースの情報と照らしあわせて 合致したらログインします。

会員情報

データベースから自分用のページが表示されたり、データベースの商品リストにある在庫数などが ページに表示されたりします。データベースと連動しているということです。

買い物かごに入れて決済すれば、データベースが更新され 在庫数は減ります。

このようにインターネット上でのログイン時、ネットショップ、列車や飛行機の予約、検索エンジンなど いたるところにデータベースは活用されています。

フィールドとレコード

データベースそのものは、「テーブル」というもので構成されています。

Excelの表を思い浮かべると分かりやすいです。

縦の項目・行を レコード、横の項目・列をフィールド またはカラムといいます。

テーブルはレコードとフィールドから成っており、フィールドには 必要な項目があります。

先程のカスタマーセンターの例でいいますと、

会員番号や名前、住所、電話番号、生年月日、性別、入会日などが入力されているテーブルがあります。

あなたが 会員番号や名前を伝えると、テーブルからあなたの情報があるレコードが抽出されて表示されているのです。

主キー

テーブルでは 行が重複しないように 一意の数字が割り当てられています。

これを 主キーといいます。会員番号は重複しないので 主キーになることが多いといえます。

また外部キーといって 他のテーブルと結びつけていることもあります。

データベースは 複数のテーブルを関連付けて使用するのが一般的になっていて これをリレーショナルデータベースといいます。

入力規則・制約

データを一元的に管理することがきるのが データベースです。

なので 入力の誤りがないようにするというのが データベースの入力時の約束事のようになっています。

特によくいわれるのが、半角と全角を統一するなどです。

例えば 先程の会員番号の数字を半角のところを全角で入力したり、空白であったりすると 検索・抽出時に出てこないということもあるからです。

こういうことを避けるために データベースでは 値を入力するときに 半角でしか入力できないなど設定することができます。

これを入力規則制約といいます。

並べ替え・ソート

データベースの最も基本的な機能が、並べ替えです。

Excelで 並べ替えの機能を使ったことがある人も多いのではないでしょうか。

値の大小関係をみて 即時に並べ替えが行われます。昇順・降順がよく使われます。

通販サイトなどで、評価の高い順・低い順、価格の高い順・低い順、レビューの新しい順・古い順など、見えないところにはデータベースがあり並び替えが行われ 画面に表示されています。

並べ替えは、整列ソートともいいます。

排他制御

あるレコードに対して 複数の端末からアクセスがあり、もし編集しようとするとデータに不整合が生じることがあります。

これを防ぐのが 排他制御といわれるものです。

例えば、新幹線の指定席を予約しているときに、決済画面まで進んだら わずかな差で他の人に予約されてしまったとか、まずありません。

処理中や編集中のデータがあれば、他からのアクセスを制限することを排他制御といいます。

トランザクション

一連の処理をまとめて、ひとつの処理とすることをトランザクションといいます。

例えば、銀行の振込処理です。

ある口座からある口座へ振込をする場合、振込元の口座からまず残高を減らし、振込先の口座の残高を増やすという2つの処理が行われます。

どちらか一方だけということはありません。

このため、最後の処理が行われたときに 一連の処理が確定されます。これをコミットといいます。

また途中 何らかのトラブルで 処理が中断したりエラーになったときは、すべての処理を取り消して元に戻るロールバックが行われます。

データベースは、このようにトランザクションを管理することができます。


データベース管理システム

データベースは Excelなのか?というと、そうではありません。

レコードとフィールドからなるテーブルがあります。実体としては見えませんがファイルです。

テーブルがある テキストのようなものだと考えるといいでしょう。

データベースは規模が大きくなると 複数の端末・ソフトウェアからアクセスすることにもなりますし、トラブルもないようにしなければなりません。読み書き速度が速く、排他制御やトランザクション管理ができるソフトウェアを使う必要があります。

それが データベース管理システムです。

データベースを管理するソフトウェアなので DBMS(データベース管理システム、データベースマネジメントシステム)といいます。

社内のデータベース、WEBのデータベースなど 端末上でデータベースへ直接アクセスしているように感じるのですが、実際は データベース管理システムが間に入って データベースの読み書きを行っています。

データベース管理システム

データベースを操作・管理するソフトウェアには MySQL、Oracle Database、Microsoft SQL Server、PostgreSQLなどがあります。

つまり SQLと名のつくものは データベースを管理するものであるということです。

DBMSはデータベースの管理や制御を担当するソフトウェアで、ミドルウェアともいいます。

「データベース」あるいは「データベースサーバー」という時は、データベースとDBMSを両方含んだものをいいます。

SQL言語

SQLとは、SQL言語のことです。

SQL言語は、データベースを扱う上での共通の言語となっています。

データベース管理システムでは、SQL言語で レコードを追加したり、値を入力したりなど読み書きを行っています。

データベースに問い合わせすることを「クエリ(命令)の実行」、何らかの操作をするときには「SQL文の発行」とかいったりします。

例えば 以下のようなSQL文を使い レコードやフィールドの操作を行います。

  • CREATE・・作成
  • DELETE・・削除
  • INSERT・・挿入
  • UPDATE・・更新
  • SELECT・・抽出、選択

またデータベースでデータを取り出すとき 以下のような専門的な言葉も使われます。関係演算といいます。

  • 選択・・・1つのテーブルから必要な行を抽出
  • 射影・・・1つのテーブルから必要な列を抽出
  • 結合・・・テーブルとテーブルをつなげる 同じ行は1つにする

2つのテーブルを使い操作する集合演算。

  • 和・・・2つのテーブルの行を合わせ、同じ行は1つにする
  • 積・・・2つのテーブルの同じ行を取り出す
  • 差・・・1つのテーブルから もう一方のテーブルの同じ行を結合

Microsoft Access

MicrosoftのAccessは、リレーショナルデータベースソフトです。

このソフトは、上記のアプリケーション、DBMS、データベースをまとめて 比較的簡単に使えるようなっています。

Accessは 中小企業、小規模事業者、SOHOなどでよく使われています。

アプリケーション、DBMS、データベースがセットになっているので、あまり難しいこと考えなくても データベースを構築・使用することができます。

表向きは全く気付かないのですが、内部的には 何か操作するたびに SQL文が発行されて動作しています。

MySQL

レンタルサーバーを使っているなら MySQLという項目を見たこともあるかもしれません。

MySQLという項目があるということは、データベースが操作できる、データベースを使えるという意味です。

管理画面で データベースを作成し ホームページをデータベースと結びつけて活用できます。

「phpMyAdmin」が有名です。専門的なSQL言語を知らなくても データベースを扱うことができます。

phpMyadmin

使い方次第で データベースを活用したWEBシステムを構築できるということになります。

近年 ブログシステムとしてスタンダードとなりつつある Wordpressもデータベースによるものです。

記事のひとつひとつが データベースとしてサーバーに蓄積されており、ユーザーからページにアクセスがあれば データベースにある内容をページ上に表示しています。

このようにデータベースというのは DBMSやSQL言語などで管理され 様々なところで使われています。