データベース概論 データベース基本編1 データベースの基本 0から楽しむパソコン講座

データベースについての基本  

コンピュータ・パソコン社会にはいろいろな蓄積情報があり、それを効率よく活用している社会になっています。

 その情報を管理するのによく出てくる単語が「データベース」です。データベースは情報を管理する上で重要な役割をします。

 また、「データベース」は「情報の資産」であり、非常に大切なものです。ここでは「データベース」についての基礎を解説していきます。

旧ブラウザ版      新ブラウザ版へ


【豆知識】
邪魔なキーの知らなかった使い方その1


キーボードには普段使わない邪魔なキーが存在してます。しかしこれらのキーにもきちんとした使い方があいます。それを紹介しましょう。 (全3回に分けて紹介します。)

 

PrintScreenキー

パソコンの現在の画面を丸ごと画像イメージで保存できます。

例えば、PrintScreenキーを押して、エクセルを開き、貼り付けるとイメージが保存できます。

 

ScrollLock

エクセルでセルを選択した後でScrollLockキーを押すと、矢印のカーソルを動かした場合、セルの位置を移動しないままスクロールできます。

 

お試しください。

字幕専用のキーボード【0から楽しむパソコン講座】
▲字幕専用のキーボード

PR








1.データベースとは

データベースは情報の集まりです。 データベースとはの章イメージ 【0から楽しむパソコン講座】 

 データベースとは、たくさんの情報を一元管理するために、一つの情報の固まりとしてまとめたものを言います。

 データベースの主な目的は、たくさんの人が効率よく多目的に情報を扱うことが出来るのが目的です。

 データベースの起源は第2次世界大戦の時であり、アメリカ国防総省が、多方面にわたる軍事情報の資料を1箇所に集め、その集められた場所に行くことにより、全ての情報を目的に応じて取り出す(閲覧できる)ことから始まりました

 データベースの意味は漠然としており、大きなもので言えば図書館などで、本を蓄積して一元管理しており、借りる人が自分の目的の本を借りることが出来るため、これも1つのデータベースと言えます。


データベースは情報を一元管理することです。【0から楽しむパソコン講座】
▲データベースは情報を一元管理することです。

 


要約すると

1.たくさんの情報を
2.一元的に管理できる
3.いろいろな目的のために使用できる
のが「データべース」です。

 

「データベース」は情報の集合体でありいろんなものがあり、使用用途もまちまちです。

ここから先はデジタル社会で使用している「データベース」について説明していきます。

 

 いろいろな情報を集約してコンピュータ・パソコン上でデータベースを作る(構築する)には、1つのまとめる決まり(法則)を設け、それに従って蓄積されなければなりません。また、そのデータベースを利用して他の情報に加工されるため、「検索しやすい」仕組みが必要になります。

 データベースは情報を集約するだけではなく、その情報を基にいろいろな分析や集計などを行わなければなりません。そのため、いろいろな使用用途を想定して、使いやすいデータの集合体にしなければならないということになります。

 この「使いやすいデータの集合体にする」ということは簡単なように思えますが、実は非常に難しい技術となります。

データベースはいろいろな用途に使用されます。【0から楽しむパソコン講座】
▲データベースはいろいろな用途に使用されます。

 

 例えば、個人や企業の住所録を作成する場合、氏名・生年月日・郵便番号・住所・電話番号という項目が挙げられます。この項目を同じ順番で、1つずつデータを蓄積していきます。

 それらの情報から住所だけを抽出したり、生年月日だけを抽出したりして、いろいろな別の情報に使います。

 また、そのデータベースを使用して「人口」や「性別」などの集計も行ったりします。

 このようにいろいろな使用用途に合ったデータの集合体を作っていきますが、まずはデータベースの基礎を身に付け、コツをつかんでいきましょう。

2.データベースとファイルとの違い

データベースとファイルは似ていますが大きく違います。データベースとファイルの違いの章イメージ【0から楽しむパソコン講座】 

  データベースは情報の蓄積となりますが、データベースの概念がない時代(パソコンが普及していない時代)などは、1つ1つの情報は伝票など紙で行っていました。ファイルとはこの紙など単体ごとの情報であり、データベースとは区分けされます。

 コンピュータ上ではファイルとはテキストファイル・PDFファイルなどがあります。エクセルなどの表計算もファイルとなります。

 表計算で作成されているデータの蓄積の場合、表計算上で集計などが出来ますが、他のアプリケーションなどでそのデータを使用することができません。一部プラグインソフトなどで使用することも出来ますが、すべてのアプリケーションで使用できるわけではありません。

 「データベース」と呼ばれるもので大事なのは「データを共有することができる」ことです。

 「データの共有」は使用する「人」もそうですが、それより大事なのは、使用するデータがすべてのアプリケーションに対応していなければならないことです。そのため、項目の配置を変えることはできません。

 データベースは、多岐にわたるアプリケーションによって情報が使用されるため、データベース内の項目情報は一度決められると、項目の入れ替えや削除はできません。もし項目の入れ替えや削除を行った場合、データの閲覧や更新を行った場合、使用しているアプリケーションの項目の関連付けがおかしくなり、使用できなくなります。

 これらの事からエクセルなどの表計算ソフトの場合、項目の削除や追加が容易に行えるため、データベースとは言えないのです。

 

データベースは項目の削除などはできない。【0から楽しむパソコン講座】
▲データベースは項目の削除などはできない。

 

3.データベースの種類

データベースにもいろいろな種類がありデータベースの種類の章イメージ【0から楽しむパソコン講座】 前章ではデータベースとは何かということを説明していきました。

情報を蓄積するにあたり、前章でも説明した通り、いろいろな使用用途を考えてデータを保存しなければなりません。また、保存したデータを取り出すにあたっては、効率よくデータを抽出する必要があります。

 データを保存する「形式」には種類があり、特徴があります。

ここではデータを保存する形式について説明していきます。





1.リレーショナルデータベース(RDB)


 リレーショナルデータベース(RDB)は近年で主流のデータベース形式で、1つ1つのデータをカラム(項目・列)とレコード(データ・行)で表形式のように整理・配置した形式です。現在使用されている形式では最も多く、多分野にわたって使用されています。

 リレーショナルデータベースはMicrosoft社のSQL ServerやAccess、Oracle社のOracl、そのほかにもMySQLやPostgreSQLなどがあります。


リレーショナルデータベース【0から楽しむパソコン講座】
▲リレーショナルデータベース

  リレーショナルデータベースは上記でも説明したとおり表形式のように管理しますが、項目・列にキーというものを設け、それを関連付け(リレーションシップと言う)を行い、使用する項目を取り出して新しいテーブルを作成することが出来ます。このようにして出来たテーブルを「クエリー」と言います。

 

 このクエリー作成の場合「SQL」という言語が使われており、SQL文の記述によって、条件付きのデータ抽出や書き込みなども行うことが出来ます。

 リレーショナルデータベースの場合、管理やデータ操作は「データベース管理システム」を使って行います。



2.オブジェクトデータベース

オブジェクトデータベースとは、その名の通り「オブジェクト」も含めてデータベースにしたものです。

 この「オブジェクト」とは「オブジェクト指向」のことであり、プログラムを作成する場合いろいろな命令がありますが、その数ある命令の中で「データ」を操作する「手続き」の命令がいくつもあります。その「手続きの命令」を「オブジェクト」と言い、「オブジェクトデータベース」はその命令も含めてデータベースにしていまうという考え方です。

 

 

オブジェクトデータベース【0から楽しむパソコン講座】
▲オブジェクトデータベース

このオブジェクトデータベースの利点は数あるデータベースのデータを参照する場合、リレーショナルデーターベースとは違い、SQL文などデータベース関連の操作が必要なくなります。そのため、プログラミングが簡単に作成できます。

 また、操作するアプリケーション等の「仕様」が変化した場合、データベースを操作しなくても「オブジェクト」の部位部分を変化させれば良いので、柔軟性に優れています。

 

 反面、リレーショナルデータベースとは違い「手続きの命令」であるオブジェクトもデータベース化なっていますので、オブジェクト指向であるプログラム(C++やJAVA言語)などは使用できますが、それ以外で開発されたアプリケーションでは使用出来なくなります。また、格納されている「オブジェクト」を直接操作しますので、アプリケーションの開発の仕方によってパフォーマンスが左右されがちになります。

 また、リレーショナルデータベースとは違い、オブジェクトも登録しなければならないので、データベースを作るコストや作業時間が大きくなります。

 

 このオブジェクトデータベースは主に病院などで使われている「電子カルテ」などがあり、少しづつ普及しています。

 
オブジェクトデータベース管理システムはCachやObjectStoreがあります。



3.XMLデータベース

 XMLデータベースとはオブジェクトデータベースの一種でありますが、XML言語で記述し、データはツリー形式で行います。

 XML言語とはインターネットでの標準言語であり、項目をタグ(<>)を使ってで表現し、意味を持たせます。開始タグ(<>)と終了タグ(</>)でデータの内容を囲みます。


XMLデータベース【0から楽しむパソコン講座】
▲XMLデータベース

 この方式は柔軟性が高く、項目が変化した場合でも追加できたりと多様性がありますが、あまりの自由度さからデータ設計が難しくなる場合もあります。

 また、多様化することにより、全体のパフォーマンスが左右されがちになります。

 

4.データベースの障害対策

データべースの障害対策は非常に重要です。 データベースの障害対策の章イメージ【0から楽しむパソコン講座】

 近年データべースが普及し、それに伴いネットワーク網の普及によって、今ではデータベースは24時間稼動しなければならないような状況になっています。そのため、障害を起こさないためにさまざまな対策を行っていますが、完全とは言えません。

 最近はシステム障害によってさまざまなネットワークがストップし、普及に時間がかかるといったケースなどがあり、私たちの生活に支障をきたす場面もあります。

 ここでは少しデータべースの障害対策について考えてみましょう。

 

 

 

 

1.データベースの障害要因

 現在はデータベースはさまざまな分野で使用され、生活に欠かせないもになっています。そのため、データベースサーバーは24時間稼動しなければならないような状況になっています。

 何らかの要因でデータベースがダウンしてしまった場合は大変な状況になり、トラブルが起こった場合は多大な損失をもたらしてしまいます。そのため、データベースを構築する場合、このトラブルをいかに防ぐかというのが大きな課題となります。

データベースがトラブルに合う要因が次のものが考えられます。


  1. 1.サーバが異常終了した場合(停電とかハードウェアの異常など)によるメモリーデータの損失
  2. 2.ネットワークの異常によるデータの損失・またはサーバのネットワーク接続拒否
  3. 3.ユーザーの誤操作によって起こるデータ損失やサーバーダウン
  4. 4.自然災害によるサーバの破損(雷や台風・地震)

 

その他にもいろいろな要因が考えられますが、データベースに障害が起きた場合、いかにデータ損失を最小限に食い止めるかと、サーバの復旧をいかに最短で行うかによって、損失の大きさが変わってきます。


2.データベースの障害対策

データベースの障害対策として一般的なのは「バックアップサーバ」を使用することです。

 バックアップサーバは通常はサブとして稼動しており、メインサーバのデータをサブサーバにも書き込んでいきますが、メインサーバがトラブルで動かなくなった場合、サブのサーバをメインサーバに切替えて稼動させ、ダウンしたサーバの普及に当たります。

 バックアップの方法は数種類あります。


データベースのバックアップ方法【0から楽しむパソコン講座】
▲データベースのバックアップ方法

1.メインサーバと同じデータ・システムを書き込んでいく方法(RAID構成)
2.システム構成はメインと同じですが、データだけをメイン・サブに両方に書き込んでいく方法
3.システム構成はメインと同じですが、データだけを時間差でメインからサブに書き込んでいく方法


メインサーバと同じデータ・システムを書き込んでいく方法(RAID構成)の場合はハードウェアの物理的なトラブルが起こった場合に有効です。

 片方のサーバもしくはハードディスクが障害が起きた場合、メインとサブをすぐ入れ替えて立ち上げしますので、物理障害が起こった場合復旧する時間は最小限に抑えられます。しかし、プログラム上の異常によるダウンの場合は異常のプログラムも書き込んでいるので復旧できない場合も考えられます。

 

 システム構成をメインと同じにして、データだけをメイン・サブに両方に書き込んでいく方法は、ソフトウェアの障害が発生した場合に有効です。

 RAID構成とは違い、サブへのシステムの書き込みは行われておらず、データの書き込みだけですので、データの損失は最小限に食い止められます。

 

 システム構成はメインと同じで、データだけを時間差でメインからサブに書き込んでいく方法は、ユーザーの誤動作によって起こるデータ損失を防ぐのに有効です。

 時間差でサブシステムにデータを書き込みますので、ユーザの誤動作によるデータ損失があった場合、サブシステム側に直前のデータがあります。

 なお、この方法を使用する場合は、サブシステム側のデータは上書きもしくは追加のみで削除は行わないようにしていき、サブシステム側はデータの更新日付で管理していきます。

 

 これ以外にも、データのバックアップ体制の方法ははいろいろあります。自然災害によるサーバの破損を防ぐために大会社等はシステム会社では同地域でなく、遠く離れた場所にサブシステムを構築している例もあります。


5.データベースの漏洩防止

データの漏洩は障害よりも多大な損失となります。 データベースの情報漏洩の章イメージ【0から楽しむパソコン講座】

 データベースを使用する上で最も重要なのは、データベースのデータが外部に漏洩しないことです。データの漏洩は意図的なものとそうで無いものがあります。

 

 データの意図的な漏洩は外部のユーザーがデータベースの内部を覗き込む、いわゆるハッキング行為によるものです。

 このハッキング行為は、外部のユーザーはもちろんですが、最近では内部の人間は漏洩を行っているケースはあります。そのため、サーバ側は誰が何時にどのパソコン(IPアドレスやコンピュータ名)で使用したか、ログという形で履歴を残しています。

 

漏洩防止にはログインセキュリティの強化を【0から楽しむパソコン講座】
▲漏洩防止にはログインセキュリティの強化を

 

 

しかし、この場合他人のIDでログインされてしまうと分かりません。そのため、サーバにアクセスする時のパスワードの強化や暗号化が重要になります。

 

 データの意図的な漏洩は使用者が特定することが出来ますのが、最も怖いのは意図的でない漏洩です。その多くは「コンピュータウイルス」です。

 コンピュータウイルスはネットワーク上に何万種類とあり、その多くはデータを壊すものとデータを漏洩するものです。また、コンピュータウイルスは人間のウイルスと同じく、感染していくことにより少しずつ形を変えて「亜種」が多く生まれてきます。ウイルス対策ソフトはあくまでも発見なったウイルスのパターンで見分けるので、もしウイルスの亜種が出来た場合、普通のソフトとしてウイルス対策ソフトが発見できない場合があります。

現在はウイルスによる情報漏洩が多い【0から楽しむパソコン講座】
▲現在はウイルスによる情報漏洩が多い

 

 データベースには不特定多数のユーザがアクセスします。その中に1台でもウイルスの入っているパソコンを使用した場合、感染する危険性が高まります。

 特に現在のウイルスは昔と違い、ちょっとしたセキュリティホールを抜けて感染します。しかも、今現在はデータベースの使用はインターネットブラウザを使用して管理するケースが多く、昔みたいに専用のソフトで動かしませんので当然リスクが高まります。データベースを構築する場合は、いかにしてウイルスの進入を阻止するか課題となっています。