庶民にとってデータベースとはどのような存在なのか

普段コンピューターの話になると、主にハードウェアや事務系のアプリケーションをいかに操るかといった話題になることが多いように感じます。

そんななかでも、ワープロや表計算ソフトについて語られることはあってもデータベースとなると一般的には関心が薄いようです。

私なども、PCの知識は人並み以上にあるつもりですが他人から相談されるのはWindowsの基本操作やMS_Excelについてのことばかりでデータベースの話題はほとんどありません。
世の中PCと言えばExcelのことなのかと少々考えさせられるほどです。

そもそもデータベースとは何なのか?

単にデータベースと言えば、その詳細は知らなくても言葉では聞いたことがある。別に詳しく知ろうとも思わない。

多くの人がデータベースと聞いて感じる印象はそんなものでしょう。

ただし、一度でもデータベースの利便性に気づく場面に遭遇できれば意識は変わるはずです。

コンピュータ関連の用語であることは知っている

データベースという言葉自体を知らないという大人は割と少数派であることは間違いないでしょう。しかし、データベースとは何かと問われたとき正確に答えられる人は多くはありません。

情報関連の用語であることは知っているが、主に何のことを指すのかについては関心がないというのが世間的なデータベースの立ち位置なのは間違いないようです。

データベースの一般的な捉え方

データベースのイメージに似ているお菓子

情報関連のサイトでよく見かけるデータベースを表す図形やアイコンは写真のお菓子のような見た目です。

データを格納しているディスクを重ねたイメージですね。
辞書などによればデータベースとは「情報機器を用いて人が利用しやすい形で整理したデータの集まり」とかそういった表現をしています。

ものによっては「有機的に整理…」とか言われていますが、意味合いを考えれば甚だ無機質なものであるのは間違いないでしょう。

簡単に言うならば、電子的な情報を利用しやすいように整理して格納してるものがデータベースであると言えます。

ポイントは「人が利用しやすいように整えられている」ということです。

表計算ソフトでまとめられたデータは、整理はされていますが万能な用途に整えられているわけではありません。
ある特定の社員や顧客へ分かりやすく綴った特定の情報でしかなく、後々別な用途に使うには補足や修正をともなうもので、そこがデータベースとは異なります。

一方データベースが人へ吐き出すデータは、必要な数値の羅列であったり固有名詞であったりと単純なものが多いです。

これが役立つのはリアルタイムに答えだけが欲しい場合です。
ワープロや表計算に多いグラフなどの補足や解説は二の次な場面ではデータベースを活用した方が便利なわけです。

データベースを知ることで広がる世界

日々繰り返されてきた単純な仕事の記録から、その事象が発生したのは何時だったのか、あるいは収益や支払いがいくらだったのか時刻や数値だけを知りたい場合、あるいは取引の相手が誰だったのかという人の名前だけを瞬時に引き出したいときデータベースシステムが役に立ちます。

ここで私がいくら熱く語っても実際にデータの引き出し方の手法に触れて体験してみないことには理解はしにくいかもしれません。

事実、私もその手の話を同僚にしても関心は持っていただけないのが状況です。

データベースというのは、物を変え形を変えそれ自信が大きな付加価値を持っているとも言えます。
それが、データベースを独自に構築する習慣が世に広まらない原因かもしれません。

多くの会計ソフトや宛名を印刷するために特化した住所管理ソフトなどはデータベースアプリケーションの要素を多く含んでいます。
それらを開発・販売することは大手のソフトウェア会社にとっては利益につながるものです。

そう考えると、特定のノウハウを世に知らすより、そのノウハウを飯の種として利益を捻出した方が業界にとっては美味しい訳であって、それがデータベースが世に広がらない理由かなと勝手に想像してしまいます。

データベースの仕組みは、基本を身につけ順立てて学んでいけば難しいものではありません。
自前でデータベースを構築し利用することで得られる利益を体感できればPCはデータベースを活用するために使うものと考えることができるようになるでしょう。

大げさかもしれませんが、データベースシステムの多様性は表計算の比ではないとさえ思います。

欲しいデータは個人によって異なる

情報化社会といわれ久しい現代ではありますが、未だ情報は個人に特化しているとは言い難いです。

独自の経験や知識を情報として積み重ね自ら利用していくことはデータベースシステムの本来の狙いであると言えることでしょう。

ハードウェアが著しく進化する世界の中で、SQLデータベースというものが古くならないのは、それを活かすことで開ける未来が多く残っているからにほかなりません。

そして、データベースそのものに興味を持ち自ら必要なデータを活かしていくことができれば、その人自身にとって多くの希望を満たしてくれる可能性が広がることでしょう。

phpMyAdminをCentOS6_MariaDBへインストール【ネットブックをDBサーバー化】

サーバーへDBMSをインストールし動作環境を整備すればデータベースサーバーが完成することになりますが、それは一般ユーザーには取り扱いにくく初心者向けではありません。

動作検証用として準備してきた中古のLaVieLight_PC-BL300TAネットブックサーバーへは「phpMyAdmin」をインストールすることにします。

インストールは簡単

phpMyAdminのインストールはシステムが圧縮されたファイルを公式サイトからダウンロードし、httpd(Apache)のドキュメントルートへ配置し解凍します。

今や、Linuxでもファイルの解凍が左クリックでできるようになっていたのは感動です。これに気づくまで何回かコマンド使っていました。

phpMyAdminのログイン画面

ブラウザに表示されたphpMyAdminのログイン

解凍後にできたディレクトリの名称をアクセスしやすいものへ変更すれは、ほぼ完了です。


# service mysql start

テストでアクセスする前にコマンド(MySQLと同じ)を使いMariaDBを起動します。


# yum install php-mysql

不足していたパッケージ「php-mysql」をインストールします。

クライアントPCの準備ができていないので、環境構築を行ったPC本体のブラウザを使用しアドレスバーに127.0.01と変更したディレクトリ名を指定してアクセスします。

mbstringエラーが出る場合

ブラウザに表示されたログイン後の画面

SQLの知識がなくてもこのphpMyAdminで様々な操作が可能です

インストールが成功しすべての環境が整えばログイン後に上のキャプチャーようなページにアクセスできます。

今回の環境構築ではphpMyAdminの画面で、php-mbstringが足りないとのエラーが出ていました。

これは、通常/etc/php.iniを編集することで解決できそうですが今回は以下のコマンドでphp-mbstringをインストールしました。


# yum -y install --enablerepo=remi,remi-php56 php-mbstring

この記述はremiで指定するのはphp56(php5.6)だけど実際にインストールするのは「php-mbstring」だけだよという解釈でよいでしょう。

ネットブックでのDBMS環境が整う

当記事までの一連の流れで、中古のネットブックPC-BL300TA6BでDBMS【MariaDB】を動作させるための環境をが整いました。

今回、導入した「phpMyAdmin」を使えばDB初心者でも、データベースそのものは勿論、テーブルの作成やカラムの設定などをSQLの知識なしで簡単に行うことができます。

レンタルサーバーなどではお馴染みのphpMyAdminも一見なんのために用意されているのか興味が沸かなかったりしますが、データベースサーバーの運用を容易にするには結構な優れモノであるのは間違いないことでしょう。

MariaDBのインストール【CentOS6.9:ネットブック】

中古のネットブックにDBサーバーを構築している途中ですが、今回は標準のデータベースサーバーでMySQLが採用されているCentOS6へMriaDBをインストールします。

手順としてはyumを使い既存のMySQLを削除し、その後レポジトリファイルを設定後にMariaDBをインストールします。

MySQLの削除

最初に標準で採用されているMySQLをアンインストールします。

# yum remove mysql

ほぼ完全に互換性があるMySQLは削除してしまったほうが安心です。

MariaDBのインストール

最初にレポジトリを設定します。

# rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

GPGキーのインポート

必要なキーをダウンロードするという意味みたいですね。

次に、「mariadb.repo」ファイルを「etc/yum.repos.d/」のフォルダ内へ設置します。

ファイルの内容は次の通りにしました。


[mariadb]
name=MariaSB
baseurl=http://yum.mariadb.org/10.3/centos6-x86
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

次のコマンドを実行しDBサーバーをインストールします。

yumでMariaDBインストール

関連パッケージの一覧

関連パッケージについて確認を求められるのでyを押します。

MariaDBインストールの完了

インストールが済むと「完了しました!」と表示されます。

インストール時になんらかの不具合があると「mysql-libs‥」の置き換えが正常に行われません。

例えば、yum installで「MariaDB-devel」を「MariaDB-deved」と間違えて入力しただけでも上手くいかないどころか、初心者ならOSを再インストールするはめになってしまうことでしょう。

充分注意が必要です。

# /etc/init.d/mysql start

MariaDBの起動

「OK」の下にある4行目の「err」の文字が気になりますが、ただのファイル拡張子のようにも見えますし、そのまま進めることにします。

本当にまずいときは「OK」が「失敗」と表示されることでしょう。

MariaDBの初期設定

CentOS6で行うMaeiaDBの初期設定は、MySQLと同じく次のコマンドを実行します。


# mysql_secure_installation

なお設定項目の詳細について、ここでは割愛します。

ちなみに、ネットの情報でよく見かける「systemctl」コマンドはCentOS6では使えません。

以上で、MariaDBのインストールは完了ですが、このままではSQLを自在に扱うことのできない初心者には手を付けることができません。 そんなわけで、次にはデータベース初心者に便利なphpMyAdminをインストールすることにします。

PHPに続きApacheのインストール【NECネットブックPC-BL300TA6B】

データベースサーバー検証マシンとして導入したNEC製のネットブックPC-BL300TA6BにApacheをインストールします。

Apacheのインストールコマンドを実行

WebサーバーとしてメジャーなApaceは、OSインストール時に標準で入っている場合が多いと思われるので確認作業ということになります。

# yum install httpd

Apacheのインストールコマンドは、apacheではなく「httpd」です。Webサーバーなれていない人には少し違和感を感じるかもしれません。

Apacheインストール済みの画面

せっかくなので、Apacheのバージョンを確認しておくと良いでしょう。

Apacheの動作を確認

先にサービスの自動起動を設定します。

# chkconfig httpd on

これでスタート時にApacheが有効になります。

# chkconfig --list | grep httpd

設定を確認してみましょう。

Apacheの設定状況

コマンド実行後に2番から5番がonになっていることを確認します。

次に動作のチェックに移りますが、この時点で一度PCを再起動しておいたほうが良いでしょう。

PHPも併せてチェック

確認ファイル「phpinfo.php」を「var/www/html/」に作成します。記述の内容は次の通りで簡単です。


<?php
phpinfo();
?>

「phpinfo.php」の作成が終わったら、ブラウザで「http://127.0.0.1/phpinfo.php」にアクセスしてみます。

PHPがインストールできている

PHPの動作を確認

ついでに「http://127.0.0.1/」にアクセスするとApacheの確認が面が表示されるはずです。

Apacheの確認画面

Apacheのインストールを確認

Apacheのテストページは「httpd start」コマンドを使用してもマシンを再起動しなければ表示されない場合があります。

また、OSのインストール(デスクトップかサーバーかなど数種類選べるが数が多いので全部試していません)によっては後からファイヤーウォールの設定で80番ポートを開放させる必要があるようでした。

クライアントPCからの操作をDBアプリケーションのみで行うなら、Apacheは必要ないようにも思いますが、phpMyAdminなどを使用したい場合にはApacheのようなWebサーバーが必須となってきます。