データベースの概要
データベースは今や、IT用語とは言えない程に一般的な言葉になりました。では、あなたはデータベースについて何と説明しますか?当たり前に使っている言葉は逆に説明を求められると困ってしまうものです。
ここでは、データベースに関するおさらいをしながら、ITエンジニアとして知っておくべきことをまとめています。
データベースとは
データベース(Data Base)は”データの基礎”とか、”データの土台”という意味で、蓄積され、再利用できるようになったデータの集合体のことです。略してDBと言うこともあります。
広い意味では、電話帳もデータベースです。またExcelで作成した名簿などもデータベースです。
ITの世界では、商用で使われているものや、規模の大きなものを言います。絵や図で表す時にはドラム缶の形を絵描きます。
データウェアハウスとの違いは
データベースとよく似た言葉で、データウェアハウス(DWH)があります。この両者の違いは何でしょうか?
データウェアハウスはデータ倉庫と訳し、データベースよりは大きな概念です。倉庫と呼ぶからには、当然必要なデータを必要なだけ取り出せなくてはなりません。きちんと整理され、分類されて格納されている必要があります。
データベースは検索や蓄積が簡単に行えるように整理されたデータの集まりですが、データウェアハウスは大量のデータが分析しやすい形で保管されているデータの保管庫です。電話帳がデータベースだとすると、データウェアハウスは書棚と言えるでしょう。
データウェアハウスとの違いはビッグデータの関係は
データウェアハウスと切っても切れない関係にあるのが、ビッグデータです。ビッグデータは解析の対象となる大量のデータを指しますが、その大量のデータを保管しているのがデータウェアハウスです。つまり、ビッグデータはデータそのものを指し、データウェアハウスはその入れ物だと考えれば分かりやすいでしょう。
データベースにするメリットは
データベース化のメリットは多くありますが、集約すると以下の4つにまとめることができます。
1.データが共有できる データベース化によって、同時に複数の人がデータベースにアクセスして、利用することができます。これによって情報共有や、仕事や作業の効率化を図ることができます。
2.データを簡単に分析ができる データベース化し、データに分類などの属性をつけることで、その属性で抽出し、簡単に分析することができます。例えば、購買データと顧客データを1つのデータベースにすると、ある商品が男女や年齢ごとにどれだけ購入されたのかが簡単に分かるようになります。
3.データが管理しやすくなる
データベースが導入される前は、Excelなどで個々人が必要なデータを管理していました。この個々人が管理していたデータをデータベース化し、集中管理することで、無駄がなくなり、データが管理しやすくなります。さらにデータのセキュリティを高めることも可能となります。
4.データの再利用がしやすくなる
1度収集したデータを簡単に編集して、再利用ができます。たとえば、顧客情報データベースから、必要な条件で顧客氏名や住所を抽出し、DMラベルを作成するといったことが簡単に行えます。
DBMSとは
データベース化のメリットは以上の折ですが、この便利なデータベースを管理するためには、DBMS(データベース管理システム)が必要となります。DBMSは「大量のデータを自動的に整理」してくれますので、データベースのメリットを得ることができます。すなわち、DBMSとデータベースはセットなのです。DBMSが無ければ、データベースは作れません。DBMSが無い段階では、ただのデータファイルでしかないのです。
SQLとは
DBMSによってデータベースは管理されますが、データを抽出や追加などのデータベース操作には、それをDBMSに指示するための言語が必要です。それがデータベース言語の1つであるSQLです。SQLは何かの略語ではありません。読み方は「エスキューエル」または「シークェル」です。
データベースの型
データベースには大別して3つの型があります。現在の主流はリレーショナル型ですが、他に階層型、ネットワーク型があります。それぞれ特徴がありますので、データベース構築の際は、データベースの活用方法を想定しながら構築する必要があります。
階層型データベース
階層型データベースは、その名の通りデータが組織階層のように構成され、ツリー構造となっています。親ノードと子ノードの関係は1(親):n(子)です。特定データを検索する際にはルートが1つしかないため、検索の速度が速いという利点がありますが、階層が複雑になると、同一データの重複登録が必要になるなど、柔軟性に欠ける点がデメリットとしてあげられます。
ネットワーク型データベース
ネットワーク型データベースの階層構造は、一見階層型と似ていますが、親ノードと子ノードがn:mで構成され、子は複数の親を持つことができるネットワーク構造のため、同一データを重複登録する必要がないという点では階層型データベースよりも柔軟性があります。
リレーショナルデータベース
Excelのように、「行」と「列」からなる「表」のイメージでデータを管理することができるデータベースの型の1つです。「列」には重複しない項目名(見出し)が設定され、行にデータを追加していきます。表のイメージでデータが位置づけられるため、関係性が分かりやすいのが特徴です。
他の2つのデータベース型と比較して、柔軟性に富んでおり、現在は主流のデータベースになっています。
データベースで押さえておきたい用語
データベースの利用に当たっては、知っておくべき用語があります。よく使われる用語について簡潔に解説しますので、これからデータベースに関わる方は是非覚えておいてください。
テーブル
テーブルとは、データベースの種類ごとの単位です。Excelなど「シート」がテーブルに該当します。
カラム
カラムは、「コラム」とも呼ばれ、属性を意味します。Excelの「列」に該当するものです。カラム名はExcelの列名と同じです。
レコード
レコードとは、データそのもののことです。またExcelの「列」であるカラムに対して「行」に該当するものです。
フィールド
フィールドは、データベースの最小単位で、Excelで例えると「セル」に該当します。Excelのセルも書式設定で文字項目や数値項目があるように、フィールドも同様に書式の設定が可能です。
正規化
正規化とは、テーブルの整合性を保ち、データに矛盾や重複が生じないようにすることです。正規化された表を正規形と呼びます。正規化を行ことで、データの追加や更新・削除などによるデータの不整合を防止し、データベースのメンテナンス効率を高めることができます。
インデックス
インデックスは「目次」や「索引」のことです。データベースのどこに、どのデータがあるのかを示した一覧表のようなものです。このインデックスを利用することで素早く必要なデータを見つけることができるようになります。インデックスがないと、先頭から該当データを探すことになるため、非常に検索の時間が掛かることになります。
スキーマ
スキーマとは図式とか概要などの意味を持つ英単語ですが、データベースにおけるスキーマは、データベースにどのような種類のデータが、どんな構造で格納されているのかを定義したものです。データベースの設計図の役割を果たすものと考えればよいでしょう。
スキーマは3層に分けて用いることが多く、外部スキーマ・概念スキーマ・内部スキーマに分かれます。3層に分けることで、設計変更などがあっても、該当するスキーマだけを変更すれば済むため、影響を小さく抑えることができるからです。
よく使われるデータベース管理システム(DBMS)
ここでは、よく使われるDBMS製品について触れておきましょう。以下のDBMSを知っておくと、大半のDBMSを理解したことになるでしょう。
Oracle Database
日本国内では圧倒的シェアを有する、Oracle社の有償のRDBMS(リレーショナル型DBMS)です。まずは最初に覚えておきたいRDBMS製品です。
SQLServer
マイクロソフト社製の有償のRDBMSで、Oracleに次ぐシェアを占めています。
PostgreSQL
無償のRDBMSです。無償のため、プログラム開発での練習用に利用されるケースや、小規模システムでのデータベースとして利用されるケースが多いのです。
MySQL
オープンソースのRDBMSで、個人利用の場合は無償ですが、商用利用は有償です。オープンソースの中では高いシェアがあり、また有償のソフトとそん色ない機能を有し、最近では法人でもよく利用されています。
最近注目のデータベース「NoSQL」とは
オープンソースのRDBMSで、個人利用の場合は無償ですが、商用利用は有償です。オープンソースの中では高いシェアがあり、また有償のソフトとそん色ない機能を有し、最近では法人でもよく利用されています。
データベースに関する資格試験
データベースエンジニアを目指したい方、データベースに明るいSEを目指す方には資格の取得をおすすめします。資格を有することで、客観的評価が高まり、活躍の機会が増します。また、スキルアップが図れ、収入アップにもつながるでしょう。ここでは、データベースに関わる主な資格試験をご紹介しておきます。
データベーススペシャリスト試験
データベーススペシャリスト資格は、かなり難易度の高い国家資格です。実務経験のない方の合格はかなり厳しいでしょう。特定のDBMSに依存せず、データベースに共通する理論や、データベース設計に関する出題が中心です。
データベーススペシャリスト試験 (合格率15.8%)
ORACLE MASTER(オラクルマスター)試験
ORACLE MASTERは国家資格ではありませんが、権威ある資格です。またBronze、Silver、Gold、Platinumと4段階のレベルがあり、実力に応じたレベルの資格を取得できます。ORACLE製品を主に扱うエンジニアは、この資格の取得をおすすめします。
OSS-DB技術者認定試験
特定非営利活動法人LPI-Japanが運営する民間資格です。オープンソースのデータベース(OSS-DB)に関するIT技術者認定資格で、商用データベースとの連携に優れ、企業システムでも多く活用されている「PostgreSQL9.0以上」を基準のRDBMSとしています。レベルはベーシックなシルバーと、コンサルティングまで行えるゴールドの2つがあります。
データベースエンジニアとして活躍しよう
ここまで、データベースに関する入門から初歩について解説してきました。日頃、データベースに触れているエンジニアの方には物足りない内容だったかと思いますが、原点に立ち返ることが大切だと感じられたら幸いです。
ビッグデータやAIといった分野で、データベースエンジニアの活躍の場は益々広がっています。データベースエンジニアの仕事は専門性が高く、他の職種のエンジニアに代替することが難しいため、業界では大変重宝される職種です。この記事でデータベースに興味を持った方は、是非データベースエンジニアを目指してみてください。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから