データベースエンジニアを目指せ!
データベースの学び方
下玉利尚明
2003/3/14
多くの企業などの基幹システムで利用されているデータベースシステム。システムに欠かせないものだけに、データベースが分かるエンジニアへの需要はいまも昔も多い。それだからこそ、多くのエンジニアがデータベースのスペシャリストを目指す。
しかし、データベースは汎用機専用のものから、「Oracle」や「Sybase Adaptive Server Enterprise」「Microsoft SQL Server」、「IBM DB2」など、さまざまなベンダの製品が存在する。対応プラットフォームも、汎用機からUNIX、Linux、Windowsまでと非常に幅がある。
それでは、データベースの学習は、どの製品で、どのOSで学習するのがいいのだろうか。そこで、大手教育ベンダのグローバル ナレッジ ネットワーク(以下、グローバル ナレッジ)ラーニングソリューション本部 今村靖広氏に、データベースエンジニアとなるための効果的な学習方法について尋ねた。
どこから学習すればいいか |
グローバル ナレッジ ネットワーク ラーニングソリューション本部 今村靖広氏 |
今村氏によれば、これからデータベースのスペシャリストを目指して勉強する人が取り組みやすいのは「OracleかMicrosoft SQL Serverなのではないでしょうか」という。
現時点でDB2を推薦できないのは、「DB2は普及しつつあるが、初心者が体系的に学習できるツール(集合研修やeラーニング、書籍など)が十分にそろっている環境とはいえない」からだと述べる。
次の問題はデータベースが稼働するOSの選択だ。Windows上で学習するのであればOracle9iとMicrosoft SQL Serverのどちらを選択することも可能であるが、UNIX上で学習したい場合はOracleが選択されることになる。
なお、Microsoft SQL Serverについては、次のバージョン(コードネーム:Yukon)の情報が気になるところだが、「製品のトライアルCDやマニュアルがそろい、勉強しやすい環境が整うのはまだ先です。データベース初心者で、これからSQLを学習する初心者のレベルであれば、製品のバージョンを気にする必要はないでしょう」とのことだ。
求められるエンジニア |
それでは、現在求められているのはどのようなスキルを持ったデータベースエンジニアだろうか。今村氏によれば、データベースエンジニアは「管理者」と「開発者」の2つに分類できるという。開発者はアプリケーションプログラムを作ることがメインとなり、管理者はデータベースのバックアップ・リカバリ、チューニング、それにクラスタ環境などの構築を手掛ける。
それでは、管理者と開発者のどちらのスキルから磨けばいいのか。今村氏によれば、両者のスキルパスは異なるという。つまり、管理者を経験してから開発者に、開発者を経験してから管理者へとステップアップするのではなく、「データベースに触れ、SQLを理解した時点で、どちらの方向に進むかを決定する(または上司などによって選択させられている)ようです」と今村氏は述べる。
これらのほかに必要なスキルが、データベースの論理設計だという。ご存じのとおり、論理設計がしっかりとしていないと、開発後にいくらチューニングを実施してもパフォーマンスの向上には限界がある。つまり、論理設計がしっかりしていないと、すべての工程に影響するだけでなく、システムが完成した後にユーザーやデータベース管理者を悩ませることになる。
論理設計とはデータベースの設計図を描くこと。最終的な完成図、全体の構造をしっかりと見極められるスキル技術と経験がなければ、このスキルを身に付けることは難しい。そのため、管理者や開発者としてのスキルと経験を積んでから挑戦した方がよいのではないかというのが、今村氏の見方だ。
グローバル ナレッジが開講している教育コースには、Microsoft SQL ServerとOracleの講義があり、一例として次のようにコースが分けられている。各コースにどのような教育項目があるかは、Webサイトで確認してほしい。スキルパスや学習の参考になるだろう(図1)。
図1 グローバル ナレッジが開設しているMicrosoft SQL ServerとOracle9iのコースフローの例 |
実践学習法 |
それでは、上記を参考にして学習する場合、どのような方法が望ましいのだろうか。それについては、今村氏自身が実践してきた学習方法が参考になりそうだ。
今村氏は、「事務所などに学習環境が整っている場合は別として、Oracleを自習用にインストールして勉強しようとしても、OSやある程度のハードウェアの知識がなければインストール作業もそれなりに難しいものです。そこで、市販の雑誌や書籍に付属しているトライアル版を使って、インストール手順が記載された書籍を見ながら、取りあえず記載されているとおりにインストールして、まずは環境を構築するのです」という。
その後、実際に構築したデータベースシステムを利用して、書籍にある例と同じ表を作成し、SQLコマンドを学習していくのだ。
書籍はとにかく1冊読み切ること |
次に、今村氏がアドバイスしてくれたのは、「データベースの勉強は難しく、とっつきにくい。薄めの専門書でもいいからとにかく1冊を最後まで読む」ということだ。
データベースの専門書籍は、読んでいても理解できないところに必ず突き当たる。そんなとき、「実際に経験したことですが、あるページで理解できずに悩んでいました。ずっと悩んでいましたが、あきらめて2、3ページ先まで読み進めると、そこにその理解を助けてくれる内容が書かれていたんですよ。ですから、理解できない場合でも、取りあえず気にせず最後まで読み終えてみてください。その後にもう一度、読み直してみると理解がスムーズになるはずです」と今村氏はいう。
今村氏が担当するデータベース関連のトレーニングコースでも、まずは細かい内容を気にせずに、講義の全体を見てもらいます。その後で理解できなかった個所に戻って復習し、最終的には全体を理解して頂けるようにする学習方法を実践しているという。また、継続的な学習に有効なのが学習目標を定めること。実務で使うことが最大の目標となるだろうが、そうでない場合は、ベンダ資格の取得を目標とすることで、モチベーションが下がらない継続的な学習の手助けになるという。
独学の限界 |
ここまでのことは、頑張れば自分だけで学習することができる。しかし、「独学には限界がある」と今村氏は指摘する。「データベースの勉強には、常に『できない、できない』という連鎖がつきまといます。UNIXへOracleをインストールして勉強する場合、インストール作業にはUNIXとOracleの管理者レベルの知識が必要になります。そのため、いざ勉強しようとしても何をどうしてよいのかまったく検討がつかず、時間ばかりが過ぎてしまう、といった感じで学習につまずく要素が多いのです」
こうした「負の連鎖」の解決に、グローバル ナレッジなどが実施しているトレーニングコースを受講する手がある。会場では学習環境が整い、OSやデータベースがインストールされている。そこで教育コースフローに沿って順序立てて学習することで、データベースの知識を効率よく習得することができる。また、理解できないところは講師に質問し、その回答を聞いてすぐに理解でき、次の段階へも進みやすい。今村氏自身も以前Oracleのトレーニングコースを受講することで、「自習では理解困難だった内容をすっきりと理解できた」経験があるそうだ。
これらの学習方法は、データベースエンジニアとしての第一歩を踏み出そうという人向けのものだが、現在データベースエンジニアとして活躍し始めた人に対しては、どのような学習方法があるだろうか?
「同じデータベースシステムを構築する場合でも、エンジニアによってデータベースの論理設計の結果が異なります。例えば、テーブルの数などが異なる場合もあります。しかし、そのデータベースシステムがどう使われるか、どのように利用されるべきかなどを考えると、やはり最も適当なシステムの『形』というものを持っています。この理想の形に近づけるには、他人が作ったデータベースの運用を何度も行い、『私ならこの部分をこう設計する』と考えられる知識を得ることです。そのうえで、何度もデータベースを設計して構築する、なるべくつまり多くの経験を積むことが重要だと思います」と今村氏は語る。座学は大事だが、論理設計に関しては特に実践と経験で身に付くことが多いようだ。
今村氏は、データベースエンジニアになるためには、OSとネットワークの知識も不可欠だと考えている。データベースもOS上で動く1つのアプリケーションであることから、データベースの管理にはOSの知識が必須になるためだ。さらにデータベースのパフォーマンス向上のためには、ネットワークを含めたシステム全体を見渡し、どこにボトルネックがあるのかを判断し、それによって対応を決めなければならない。そのような場合、データベースの知識だけでなく、ネットワークの知識も求められることになる。
「データベースは今後、OSと同じように扱われるようになります。つまり、OSと同様で、使用するのは当然になるということです。そのため、今後もデータベース技術者を求める声は大きくなるのではないでしょうか。また、『自分はOracleは分かるがSQLServerはまったく分からない』などと考えている人も多いと思います。しかし、現在使用しているデータベース製品からほかのデータベース製品に変更する場合でも、最初から新しい製品知識を取得する必要はありません。データベース製品にはかなりの部分で共通な知識があり、それを利用できるからです。例えば、Oracle、Microsoft SQL Server、DB2のどれか1つでも深い知識があれば、ほかの製品にもその知識を使って学習にかなりの応用が利きます」
最後に今村氏は、「データベースエンジニアを目指す方の多くは、勉強を始めて最初の壁に当たったときに挫折してしまうようです。しかし、そこでくじけずに何とか頑張って、とにかくデータベースの学習をひととおりやりとおしてください。最後まで芽をとおすことで必ず理解できます。そうすると、少しは面白くなってくるはずですよ」と力説する。
今村氏のお薦め書籍は |
それでは最後に、今村氏がお薦めする書籍を紹介しよう。
|
|||
Oracleデータベースについて、インストールから初期設定までを、理解しやすいGUIツールを用いてやさしく解説してくれる。体験版のCD-ROMが付属するので、解説を読みながらインストール作業ができる。なお、今村氏が紹介してくれたのはOracle8i版だが、現在はOracle9i版も発売されているので、ここでは9i版を紹介している。 今村氏:「私が最初に1冊やり遂げた、といえる書籍です。トライアルCD-ROMを使って詳しい解説のあるテキストを見ながらすぐにインストールできるので、初心者にも大変分かりやすいと思います。また、実際にコマンドを打ち込みながら学習できます。インストールから初期設定まで、これだけでひととおり学習できるのが特徴です」 |
|||
Oracle9i データベース入門 山田精一、尾山悟著 アスキー 2002年11月 ISBN4-7561-4196-X 3800円(税別) |
|
|||
必要な用語に絞った厳選キーワードの87語から、データベースの仕組みが理解できるようになる。覚えるだけではなく「考える力」を身に付けたい方に推薦したい。Oracle8iとOracle9iに対応している。 今村氏:「Oracle 8i/9iに関する厳選されたキーワード87語から、全体像を理解できる構成になっています。辞書代わりに現在も利用している1冊です」 |
|||
87のキーワードから学ぶOracleデータベース 山田精一、菅原剛著 翔泳社 2001年12月 ISBN4-7981-0132-X 2400円(税別) |
|
|||
約100の例題を取り上げつつ、リファレンスとしても活用できる。作業効率を上げられるSQL構文や、エンジニアが陥りやすいミスをいかに防ぐかなど、実際の現場で役立つ情報を紹介している。なお、SQL構文は、OracleとSQL Serverの2種類のデータベースに対応しており、1冊で両方の構文を学ぶことができるようになっている。 今村氏:「OracleとMicrosoft SQL Serverでのコマンドの違いを参照できるのが便利です。SQLの基本事項を例題→正解→解説の構成で説明しているので、とても使いやすい。実務に役立つ内容となっています」 |
|||
現場で使えるSQL 小野哲、藤本亮著 翔泳社 2001年10月 ISBN4-7981-0101-X 2200円(税別) |
|
|||
データベースとは何かという基礎の概念から、ファイル編成、SQLなどのデータベースの設計や構築に必要不可欠な知識を網羅した分かりやすい解説書。 今村氏:「データベースの理論を学びたい人に適した1冊です。用語の型どおりの説明だけでなく、その中身までしっかりと書かれています。難しいことを分かりやすく解説しているところが大きな特色ですね」 |
|||
図解でわかるデータベースのすべて ファイル編成からSQLまで 小泉修著 日本実業出版社 1999年6月 ISBN4-534-02949-7 2500円(税別) |
データベースエンジニアを目指せ! バックナンバー | |||||||
|
@IT自分戦略研究所は2014年2月、@ITのフォーラムになりました。
現在ご覧いただいている記事は、既掲載記事をアーカイブ化したものです。新着記事は、 新しくなったトップページよりご覧ください。
これからも、@IT自分戦略研究所をよろしくお願いいたします。