【覚書】データモデリングの種類と手段
データモデリングとは
システムの対象(どのようなシステムを作りたいかのイメージ)を定まった記法で図式表現したもの。
概念的な表現で表すと、データモデルとは、「事前に定められたルールで描かれており、モデルを読む人もそのルールを知っている必要があるもの」となる。
見る人によって解釈が異なることがない普遍的なものということである。
つまり、データモデリングを行うことでシステム開発における認識の不一致を発生しづらくする効果がある。
データモデルの種類
データモデルには3種類のモデルが存在する。
モデリングは一般に 概念データモデル → 論理データモデル → 物理データモデル という手順を踏んで実施する。
各モデルで実際に実行する事柄は以下の通りである。
①概念モデル
・「こんなシステムを作りたい」と言った要件を盛り込んだもの
・システムの対象範囲よりも範囲が広い
・そのまま実装に結びつくものではなく、システムの構想段階のラフスケッチ
・作成後の変更は基本的には起こりえない(実際にはしばしば起こっている。よくないことである。)
②論理モデル
・システムで必要とするデータ項目をすべて付加したもの
・イメージを固めるために、画面のラフスケッチをとったり、「こんな帳票が欲しい」などのユーザーとの要件を詰める
・データ項目をピックアップして、データモデル図を作成する
③物理モデル
・データベースと対応したもの(CREATE TABLE文などを用いてスキーマ定義の生成が可能なもの)
・物理名を設定する
・主キー、外部キー、参照制約などを設定する
データモデリングの手法
トップダウン分析とボトムダウン分析の2つがある。
①トップダウン分析
対象業務全体についてエンティティを抽出し、わかる範囲で属性を定義する。
エンティティは、要件定義書と業務内容に関するユーザーヒアリングで抽出する。
例)
「社員」、「部門」と言ったエンティティを切り出し、
「社員」には、社員番号、指名、入社年月日、性別、生年月日 などの属性を定義する。
②ボトムダウン分析
現行システムの画面、帳票、データベース等からテーブル、データ項目を抽出して、データ項目をエンティティとしてまとめ上げる。
これら2つの手法はどちらかを行えば良いというわけではなく、システムがリバースエンジニアリングが必要な場合、新規での開発の場合等のケースがあるため、どちらにより重点を置くひつようがあるのかが異なる。