“言われた通り”ではもうダメな理由──「データを中心に考える」とは、どういうことか:ゼロからのリレーショナルデータベース入門(4)(2/3 ページ)
本連載では、企業の成長に不可欠な「データ活用」を推進していくために必要なデータ基盤の基礎を“あらためて”解説していきます。今回は、ビジネス視点でのデータベース構築には欠かせないデータ中心アプローチ「DOA」の考え方と、それを推進するための手法を解説します。【更新版】
「データモデル」の考え方を理解する
データモデルを作成する流れを簡単に説明します。まず、データを「誰でも分かるような簡単な表現」でデータ構造を表します。
例えば、一般的にモデル化する対象(実世界)を、「実体」と、その「関連」からなるモノとして定義する「ERモデル」を利用します。
ERモデルでは、グループ化されたデータ群を「実体:エンティティ」(例えば、顧客、商品など)と、エンティティに所属する「属性:アトリビュート」(例えば、顧客の場合は顧客名/住所/電話番号などの情報)、そして、エンティティ間の関係となる「関連:リレーションシップ」(例えば、会社に顧客が所属する、など)という3つの要素を使って表現します(図3)。
システムに必要なデータモデルを作るには、次の2段階の作業が必要です。
- 必要なデータを集めて整理する
- データベースに実装できるように調整する
1:必要なデータを集めて整理する
システムに必要なデータについては、現在利用しているシステムの画面や帳票類を中心に集めます。
集めたデータは顧客グループ、商品グループといった意味を為すグループに大まかに分けて、「正規化」「最適化」「一般化」という3段階で整理します(図4)。
正規化で、1ファイルずつデータの関係を整理していきます。繰り返し発生するデータ項目があれば、繰り返す部分を細かいエンティティに分割していくといったように、エンティティ内のデータの依存関係などについても検討します。
最適化では、複数のファイルを整理し、全体的にデータの重複を排除した上で、データに抜けや漏れがないかをチェックします。重複のない必要最小限のデータ項目を使って安定したデータ構造を作ることにより、メンテナンスを容易にし、システムの保守費用を下げ、データの信頼性を上げることができるでしょう。
正規化と最適化によって、モデルとしては問題のないきれいな状態になります。ここからデータを「実際にビジネスで使えるもの」にしていかなければなりません。そこで、最後にビジネス視点で「顧客データを法人顧客用と個人顧客用に分ける」といった調整を行う行程が一般化となります。
2:データベースに実装できるよう調整する
正規化されたデータモデルをそのままデータベースに実装すると、パフォーマンスが思ったように出ないといった問題が後で発生することがあります。そこで、実際に使えるシステムにするために、データ件数や業務に応じたデータの流れ、インデックス作成といったパフォーマンスに影響する項目の検討/調整を行います。
ここまでが、システムに最適なデータベース構築のための準備に必要です。ここまで準備してから、データベースを実際に作成し、データを投入していくという行程に入ります。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- SQLの基礎 「SELECT」文を覚えよう
- SQLとはどういう言語か
「SQLは何となく苦手」という人は意外と多いものです。すでに何らかのプログラミング言語を習得している人を見ても、SQLを苦手としている人は少なくありません。そこで、実際にSQLを入力して結果を見ながら学習する連載を始めます。用意するのはインターネットにつながったWebブラウザだけ。気軽に始めてみてください。(編集部) - RDBMS製品のビッグ3、それぞれの“癖”をつかもう
本連載はOracleを使ったデータベースシステムの開発・運用管理にある程度の知識を持つ読者を対象に、Oracle以外の商用RDBMSであるMicrosoft SQL ServerとIBM DB2とのアーキテクチャの違いを明らかにし、マルチベンダに対応できるデータベースシステムの設計・開発・運用ノウハウを紹介していく。(編集局) - NoSQLはRDBMSに取って代わるものなのか?
「memcached」や「Apache Cassandra」、「Apache CouchDB」など、RDBMSとは異なる考えで設計してあるデータベース管理システムが普及しつつあります。この連載では、これら新しいデータベース管理システムの特徴と、RDBMSとの使い分け方について解説します。(編集部)