データベースエンジニアを目指せ!
データベースは設計と上流から押さえる
下玉利尚明
2003/5/14
データベースエンジニアに求められる知識、スキルは幅広い。データベースエンジニアを目指すに当たって、何をどう学習し、身に付けていけばいいのだろうか。今回は、富士通ラーニングメディアの研修事業部の研修サービス部長
羽賀孝夫氏、研修サービス部 プロジェクト課長の石川賢司氏、講師の奥山友里氏に、エンジニアへの教育を行う側として、理想的な学習方法について伺った。
■設計は基礎、まずはそこから
富士通ラーニングメディア 研修事業部の研修サービス部長 羽賀孝夫氏 |
今回、お話を伺った中で最も興味深いひと言が、「データベースを構築するうえで必要となるデータの分析、設計といった基礎を学んだうえで、OracleやSQL Serverなどの製品についての知識やスキルを習得すべき」というものであった。これは、先に掲載したグローバル ナレッジとは異なるアプローチである。富士通ラーニングメディアではなぜそのように考えるのかを、具体的に見ていこう。
現在、市場にはOracle、SQL Server、Sybase、DB2を含め、数多くのデータベース製品が存在する。データベースエンジニアの多くは、データベース製品についての知識とスキルを習得することに注力し、データベース構築におけるデータの分析、論理設計などは、製品知識を身に付けたデータベースエンジニアが、「さらに上級のエンジニアを目指す際に必要となる知識とスキル」であると認識されているのが現状だろう。
そのような状況の中で、研修サービス部長の羽賀氏は、「データベースエンジニア向けの教育は、製品中心になりすぎていた。基本となる分析、設計の教育がおろそかになっている」と警告する。
データベースの構築には、データの要件を的確にとらえる「データ分析」、分析に基づいた「論理設計」、そして、概念モデル、論理モデル、実装モデルにブレークダウンしていく「モデリング」、さらには「実装」といったフェイズがある。
■上流工程から押さえる
富士通ラーニングメディアのデータベースに関する教育方針は、上流工程からの一連の流れをしっかりと押さえておくことが重要である、という考え方に基づいている。もちろん、富士通ラーニングメディアでは、「実装」のフェイズでOracleやSQL Serverなど製品ごとの教育コースを幅広く提供している。実際に受講生が多いのも製品コースだ。
しかし、羽賀氏によれば「実装の前段階に当たるフェイズ、つまり、データベースの構築において基本となる考え方は、各製品で大きく変わるものではない。当社は、多くのデータベース製品の共通部分を抜き出し、基礎部分を習得できるようにしている。これからのデータベースエンジニアにとって上流をしっかりと理解することは、ますます重要となる」というのだ。
それでは、データの分析、論理設計といったデータベースの上流工程に必要な知識とスキルはどのようにして習得すればよいのだろうか。その点については、富士通ラーニングメディアの教育コースの流れを紹介しよう。
富士通ラーニングメディアの研修サービス部 プロジェクト課長の石川賢司氏 |
■教育コースでの学習は
データ分析においては、「アプリケーション・アーキテクチャ」と呼ばれる手法を用いて、業務分析、データ分析、ニーズの分析を行い、構築すべきシステムの要求事項を明確にする。次に、どのようなデータを扱うか、データ間の関連をどうするかに配慮しながら概念モデリングを行い、サブシステムごとにER図に落とし込んでいく。その後、サブシステムごとにリレーショナルをいかに構築するかを考えて論理設計を行う、というものだ。
研修サービス部 プロジェクト課長の石川氏は、「リレーションの構築の仕方でデータベースの性能は大きく左右される。正規化をどうするか、正規化をどこまで崩すか、正規化を崩すことによって効率や冗長度がどう変化するのか。こういったことを論理設計のコースで習得できるようになっている。この論理設計を行い、SQLプログラムを実装し、どの程度時間がかかるものかを疑似体験し、理解できるようにしている。まずは、原理原則を押さえておくことが大切。その後の実装で、チューニングなど製品ごとの知識とスキルを身に付ければよい」と語る。
基本を押さえておかないと、実際の現場で問題が発生した場合にトラブルシュートができないという考え方に基づいているのである。
■データベース以外の知識も必要に
ただし、原理原則を習得するだけではデータベースエンジニアとは呼ばれない。データベースエンジニアであれば、チューニングも含めてデータベース製品ごとの知識も必要となる。「使用するOS(WindowsやUNIXなど)の知識も必要となる。また、信頼性を考えるとディスクアレイといったハードウェアの知識もあるに越したことはない」(羽賀氏)のだ。
ところで、富士通ラーニングメディアで実際の教育コースを担当している方は、どのようにしてデータベースの知識やスキルを身に付けたのだろうか。サイベース認定インストラクタの資格を持つ講師の奥山氏は、「重要なことはデータベースの概念を理解すること」だという。データベースと通常のファイルとではどう違うのか、RDBMSとは何かというレベルから、データベースはどういう構造になっているかをしっかりと理解することが重要であるという。概念を理解したうえで、基本的な操作に関する知識とスキルを習得すれば、その後は「トライアル&エラー」で学習を進めればいい。
■製品ごとの差異を学習する
富士通ラーニングメディアの研修サービス部 講師の奥山友里氏 |
「私の場合は、Sybase、Oracle、SQL Serverなどそれぞれのデータベース製品を比較し、共通部分は何か、違いはどこかを理解しようとしました。データベースは数多くありますが、どの製品を使っても共通する部分、原理原則は変わりません。まずはそこを理解し、その次に製品ごとの違いを把握することで、データベースへの理解が深まるはずです」(奥山氏)とのこと。
現代の企業においては、もはやデータベースは単独では存在しない。企業内外のネットワークやシステムなどと複雑に絡み合っているのが実情だろう。「例えば、.NETに関連する教育コースを企画しようと考えると、SQL Serverの知識とスキルを理解したうえで、アプリケーションを構築する、という内容になる。.NETを理解したい人にもSQL Serverの知識が不可欠、前提になりつつあるということ。今後、ますますデータベースの知識とスキルは重要視されてくる」(石川氏)という。
裏を返せば、データベースエンジニアとして認められるには、ネットワークやインターネット、さらにはWebサービスや.NETなどについても、一通りの知識が必要になっているということだ。「以前はCOBOLでデータベースに直接アクセスするようなイメージのプログラムを作っていた時代もあった。いまはその間にWebシステムなど、さまざまなアプリケーションが介在している。データベースだけを知っているエンジニアでは時代の変化に対応できない。OS、ネットワーク、ミドルウェアなど守備範囲を広げていかないと、データベースエンジニアとして本当の活躍ができない」と羽賀氏はいう。
データベースのスペシャリストに求められる知識やスキルは幅広く、そして深い。データベースエンジニアへの道のりは遠く感じるが、その第一歩は、データベースの原理原則の理解のうえにあるということを忘れてはならないようだ。
富士通ラーニングメディアの研修サービスのWebページ | |
|
データベースエンジニアを目指せ! バックナンバー | |||||||
|
@IT自分戦略研究所は2014年2月、@ITのフォーラムになりました。
現在ご覧いただいている記事は、既掲載記事をアーカイブ化したものです。新着記事は、 新しくなったトップページよりご覧ください。
これからも、@IT自分戦略研究所をよろしくお願いいたします。