DBエンジニアよ、大海に出でよ!―システム設計もコンサルティングも夢じゃない。"RDBの基礎プラスアルファ"のスキルで、活躍の場はもっと広がる

「自分はデータベースには詳しいが、それ以外の知識/スキルはどうだろう?企業の業務システム構築全般のことも、ましてや業務知識は経験も少な いし、正直言って自信が持てない。エンジニアの経験を生かし、もっと活動の幅を広げたいが、果たしてこれでやっていけるのだろうか?」――データベース・ エンジニアの道を歩んできた読者の中には、あるとき、こんな不安を抱く方がおられるかもしれない。しかし、そんな心配は無用だ。「データベース・エンジニ アならば、業務システムにかかわる領域で、より幅広く活躍する素地ができているはず。その基礎の上に、企業システムの本質をとらえるための知識を付けてい けば、ユーザーをリードしながらシステム企画/構築を引っ張る立場に立てるはず」とスキルスタンダード研究所の高橋秀典氏は語る(編集部)。


■データベースのことばかりやっていると不安になる!?

――今回の記事は、「突き抜けていくITエンジニアは、どこが違う? ―ITプロフェッショナルの道を究めんとする人へのアドバイス」の続編です。前回の記事では、データベース・エンジニアの皆さんがITプロフェッショナルの道をさらに究めていくには、「基礎的な技術知識をしっかりと身に付けるべし」、「会社の外に出て、自分の可能性を広げるべし」といったアドバイスをいただきました。

 一方で、oracletech.jp読者の中には、データベース・スペシャリストの道を究めるのではなく、ITエンジニアとして、もっと広い領域で活躍したいと思っている方も少なからずいらっしゃるでしょう。今回は、そうした方へのアドバイスをいただきたいと思います。

高橋秀典氏"
スキルスタンダード研究所 代表取締役の高橋秀典氏。
1993 年に日本オラクルに入社。研修ビジネスの責任者としてORACLE MASTER制度を確立し、システム・エンジニア統括/執行役員を経て2003年12月にITSSユーザー協会(現スキル標準ユーザー協会)を設立。経済 産業省などの人材育成関係各委員会委員を歴任。また2004年7月には、ITSSやUISS(情報システム・ユーザー・スキル標準)を企業で活用するため のコンサルティング・サービスを提供するスキルスタンダード研究所を設立する。国内大手企業に対し、ITSS/UISSの導入を支援してきたことで知られ る。2010年10月より首都大学東京 客員教授を務める。
高橋:前回は「データベースの道を究めたい」という方を想定してお話ししましたが、今回は「データベースはシステム 構築の部品の1つ」として扱うような立場を指向する方へのアドバイスをお話ししましょう。前者の道を選ばれる方よりも、後者の道を選ばれる方のほうが多い かもしれませんね。

 実は私も、以前に日本オラクルで執行役員を務めていたとき、入社して数年経っ たエンジニアから、「自分はデータベースに関しては人に負けない知識とスキルが付いたという自負があるが、それ以外のことは知識や経験が少ないため、今後 もIT業界でやっていけるかどうか時々不安になる」といった相談を持ちかけられることがありました。確かに、データベースのことばかりやっていると、シス テム開発全般を担当しているエンジニアや、ユーザー企業へのコンサルティングをやっている知人と比べて、「自分はこのままで大丈夫だろうか?」と不安にな るのかもしれません。

――業務システム全般の企画/設計をしたり、業務ユーザーへのコンサルティングをしたりする場合、これまでよりも活躍の場を広げる、あるいは上流領域に活躍の場を移すことになるわけですから、「本当にできるのか? 大丈夫か?」と不安になるのも無理はありませんね。

高橋:そ うした道を志す方にまず言いたいのは、「データベースのことばかりやってきたからといって、憶することはない」ということです。むしろ、現在主流のデータ ベース技術、つまりリレーショナルデータベース(RDB)に精通したエンジニアには、他のエンジニアにはない強みがあります。そのことを自覚してほしいで すね。

■データベース・エンジニアだからこその強みがある

――データベース・エンジニアだからこその強みとは、どのようなものでしょうか?

高橋:この強みとは、すなわちRDBの強みです。そこで、まずRDBの強みについてお話しします。

 RDBは、今日の企業システムにおいて中核を成すミドルウェアですが、単に大切なデータを格納する器だからという理由で、RDB が現在の地位を獲得できたわけではありません。これまで、RDBのほかにも、階層型やネットワーク型など、さまざまなデータベース・アーキテクチャが使わ れてきましたが、企業システムの核としての地位を確立できたのはRDBだけです。それはなぜでしょう?

 RDBは、1つ1つの情報(データ)をどういうかたちに分解して格納すれば、最適な性能が得られ、また取り出したときに扱いやす いのかを考え尽くしたアーキテクチャで成り立っています。したがって、RDBを使いこなすためには、「情報を要素に分解し、次にその要素を組み合わせて再 構造化する」という考え方が不可欠であす。わかりやすく言えば、情報システムはその名のとおり、情報を扱う仕組みであり、「有効な情報を蓄え、それを戦略 的に活用する」ことが究極の目的なのです。データベース・エンジニアの皆さんは、日ごろからそのことを考えてデータベースの設計に取り組まれているはずで す。

 そして、この「情報を要素に分解し、再構造化する」という考え方こそ、今日の企業システムをとらえるうえで根幹となるアプローチ なのです。この考え方の上に、さらにこれを発展させる知識/技術を習得していけば、データベースを含む業務システムを広い範囲でとらえられるようになりま す。今日の業務システムとは、換言すれば「データを溜めて(要素に分解して格納し)、それを取り出して使う(再構造化する)」ということをやっているに過 ぎないのですから。How(手続きや実現手段)を追いかけるのではなくWhat(何のため=目的)にフォーカスすれば、自ずと見えてくるのです。

■核となるのは「情報を要素に分解し、再構造化する」という考え方

――RDBの核を成す「情報を要素に分解し、再構造化する」という考え方が、システム開発全般にも広く応用できるわけですね。では、RDBにかかわる知識/スキルをベースにして、さらにそれを発展させていくには、どうすればよいのでしょう?

高橋:実はこれに関する知識/技術は、システム開発の世界では随分前から確立されているんです。順にお話ししましょう。

  まず「情報を要素に分解し、再構造化する」うえでの基礎技術として「正規化」があります。さまざまなかたちの情報を、一定のルールに基づいて分解/最適化 させるテクニックです。データベース・エンジニアの皆さんには、なじみの深い技術でしょう。まずは、この正規化の知識/スキルがベースになります。

 次に、正規化した情報を再構造化するための技術として、「E/R(Entity/Relationship)モデル」があります。これを使い、個々の情報要素をどのように関連づけてデータの構造体を作るかを定義するわけです。

――正規化とE/Rモデルは、いずれもデータベース・エンジニアにとって基礎的な技術ですね。

高橋:正規化の手順をそのまま実行すると時間がかかりすぎて大変ですが、考え方や手順はしっかりと理解しておく必要 があります。これらの技術を身に付けたデータベース・エンジニアが、さらに視野を広げたいと思ったら、ジャームズ・マーティンやトム・デマルコらが提唱し た「機能モデル(Function Model)」について学ぶとよいでしょう。これは、業務/システムの要素を1つ1つの機能に分解し、それらを組み合わせて新たな業務/システムを構成す るというアプローチです。この成果物に、正規化とE/Rモデルで再構造化したデータ設計を組み合わせれば、業務/システムの設計図が出来上がります。

 なお、業務/システムを構成する機能の中を、データがどのように状態を変えながら流れるのか、機能に対してどういったデータの入 出力があるのかを設計するには「データ・フロー図(DFD:Data Flow Diagram)」を使います。このDFDも使いこなせるようになっておくと、さまざまな場面で役立つはずです。
さらに活躍の場を広げたいデータベース・エンジニアのための、高橋秀典さん推薦図書

●『インフォメーション・エンジニアリングⅠ/Ⅱ/Ⅲ』(著者:ジェームズ・マーティン/発行:トッパン)
●『ソフトウェア構造化技法―ダイアグラム法による』(著者:ジェームズ・マーティン、ほか/発行:近代科学社)
●『構造化分析とシステム仕様―目指すシステムを明確にするモデル化技法』(著者:トム・デマルコ、ほか/発行:日経BP出版センター)
■本質を見定めて、必要な知識を効率良く学ぶ

――機能モデルやDFDの考え方は、近年、企業システムの世界で注目されている「BPM(Business Process Modeling)」にも通じるものですね。確かに、データベースの基礎技術である正規化とE/Rモデルを習得した上に、機能モデル/DFDの知識/スキ ルを積み上げていけば、業務システム開発のさまざまな領域/工程で応用が効きそうです。

高橋:ただし、マーティンやデマルコの方法論はいずれも壮大であり、一からすべてを習得しようとすると、途中で挫折 してしまうかもしれません。それを避けるためにも、ここまでにお話ししたポイント、すなわち「情報を要素に分解し、再構造化する」ことの重要性を念頭に置 き、それを実践できるようになるために彼らの方法論を学ぶのだということを常に意識して臨んでください。そうすれば、重要な点に絞り込み、効率良く知識を 吸収できるでしょう。

 こうして、データベース・エンジニア必修の技術(正規化、E/Rモデル)にプラスアルファの技術(機能モデル、DFD)を身に付 ければ、活躍の場は一層広がります。業務に詳しくないエンジニアは、業務ユーザーとのコミュニケーションで引け目を感じがちです。どんなに努力しても、現 場で業務を担っている方々に勝てるわけはありません。しかし、これらの知識があれば、業務の詳細を知らなくても、業務を機能の視点で整理し、それを再構成 したり、ITシステムに落とし込んだりといったことがある程度できるようになります。プロセスを逐一ヒアリングしていくと、とめどもない作業になります が、モデル化を目的に聞き出していけば、はるかに効率的に、しかもエンジニア側が優位な立場で進めることができます。業務ユーザーの側にはそうした知識が ないので、エンジニアがこれらの知識を提供すれば、彼らにとって頼もしいパートナーと映るでしょう。このとき、業務ユーザーとITエンジニアがタッグを組 むという関係が生まれるのです。

――そのような関係が築けるのも、根底にデータベースとシステム開発に関する確かな知識があるからですね。

高橋:そうです。今回お話しした技術力をベースにすれば、企業システム開発の世界で必要となる論理的思考力や問題解決力も自然と伸びます。それにプラスしてコミュニケーション力があれば、まさに"鬼に金棒"です。

 ただしその前に、まずは自分が今後、どういう道を目指したいのかを、ある程度明確にしておくべきでしょうね。ゴールも見定めず闇雲に学んでも、どこにも行き着かなかったということになりかねませんから。"なりたい姿"を描かない限り、そうなれるわけはありません。

――自分が今後どのような方向に進みたいのかを、現在の立場/状況も踏まえて見定めたうえで、アドバイスいただいた知識/ス キルと、さらに進む方向性に特化した知識/スキルを身に付けていくわけですね。oracletech.jp読者の皆さんには、ぜひともデータベース・エン ジニアとしての強みを生かし、活躍の場を一層広げていただきたいと思います。高橋さん、本日はありがとうございました。