Upgrade to Pro — share decks privately, control downloads, hide ads and more …

データモデリング通り #2オンライン勉強会 ~方法論の話をしよう~

データモデリング通り #2オンライン勉強会 ~方法論の話をしよう~

データモデリング通り #2オンライン勉強会 ~方法論の話をしよう~

稲見浩一/データモデラ―、データモデリング通り世話人

(いなみ・こういち)20世紀末から「データモデラーです」と自己紹介している。現在は富士通でアカウント担当のSEと顧客向けにデータマネジメントでの支援を行っている。データモデリングは、アプリケーションの受託開発に携わる中で、業務仕様を解析する必要から始めたものである。独自に開発手法を学ぶ中で、その重要性に気づいた。独自に開発手法を学ぶ中で、その重要性に気づいた。以降、社内にデータモデリングとデータマネジメントのコミュニティを立ち上げ、運営している。さらに、DAMA日本支部やJDMCにも参加し、活動の場を広げてきた。なお、今回のデータ横丁での活動は、所属企業や団体の立場ではなく、個人として参画している。

■関連サイト
セミナーアーカイブ動画
https://www.youtube.com/live/G6CAjfF3__k?si=OvrUsYuMA7VTMzwP

オンラインセミナー投影資料
https://datayokocho.connpass.com/event/363190/

Avatar for データ横丁

データ横丁

August 07, 2025
Tweet

More Decks by データ横丁

Other Decks in Technology

Transcript

  1. アジェンダ ⚫ 前提と注意 ⚫ 方法論の話をしてみよう ⚫ 表記法と方法論 ⚫ 国内の方法論 ⚫

    TM紹介 ⚫ TMとは? ⚫ TMの特長 ⚫ モデルの構成要件 ⚫ ルールの話 ⚫ モノを集める ⚫ モノを分類する/並べる ⚫ 関係を構成する ⚫ TM紹介(続き) ⚫ セット(集合)を作る ⚫ 多義と多値 ⚫ クラスで整える ⚫ レビューする ⚫ 開発への適用 ⚫ 関連書籍から ⚫ TMのオリジナル表記とIE表記 ⚫ まとめ ⚫ 学ぶ道具の一つ ⚫ おまけ 3 データ横丁 データモデリング通り 世話人)稲見 浩一
  2. 前提として 私がここで語っているデータモデリングについて、前提を明らかにしておきます。 データ横丁なのでデータマネジメントの立場から見て少し語っておきましょう。 1. スキーム • DMBOK2の第5章では、データモデルについては「1.3.4 データモデリング・スキーム」として いくつかのスキームが紹介されています。今回はその中の「リレーショナル」というスキームにつ いてのお話です。ディメンショナル他のスキームは扱っていません

    • 対象領域はOLTPの方で、OLAPではありません 2. この方法論(によるデータモデリング)の使いどころ • 一つには、利活用のためのメタデータの発掘です • もう一つには、システム再構築です • いずれにせよ、現状のブラックボックス(業務仕様、データ仕様)を解明することです 5 データ横丁 データモデリング通り 世話人)稲見 浩一
  3. 3種のモデル 例えばDMBOK2の第5章では、SPARCの3層モデルと関連付けられつつ、3つのモデ ルがあるとされ、次のように紹介されています。※第5章 1.3.5 データモデルの詳細レベル より ⚫概念モデル 概念データモデルには、関連する概念の集合体としてデータ要件の概要が取り込まれる。ここには、特定の領 域や業務機能に関する基本的で重要なビジネスエンティティのみが含まれ、各エンティティの説明とエンティティ 間のリレーションシップが含まれる。

    ⚫論理モデル 論理データモデルは、詳細なデータ要件が表現されたものであり、通常、アプリケーション要件のような特定 の使用シナリオに適応する。論理データモデルも技術や具体的な実装上の制約から独立している。論理デー タモデルは概念データモデルの拡張として始まることが多い。リレーショナル論理データモデルは、概念データモ デルに属性を追加し、拡張されたものである。 ⚫物理モデル 物理データモデル(PDM)は詳細な技術的ソリューションを表す。このモデルは論理データモデルを出発点と して作成されることが多く、そこからハードウェア、ソフトウェア、ネットワークツールを組合せた環境に適応するよ うに設計される。物理データモデルは特定のテクノロジ向けに構築される。 TMのモデルは、ほぼ論理モデルに相当するものの概念モデルの拡張ではありません。 6 データ横丁 データモデリング通り 世話人)稲見 浩一
  4. 利活用におけるデータモデリング 右図は、DMBOK2の第4章から引用 したもので、企業内のデータモデルの全 体像を示しています。 • 残念ながら国内の多くの企業では、最下 層を含め、ほとんど整備されていないのが 実情のようです。 • システム再構築の際には最下層について

    対象のシステムに必要な領域ごとに作る 必要がありますが、利活用の際に先にすべ て作ってからでは先が長すぎるでしょう。 • 探して手繰って、その周辺だけでもモデリ ングして分析して、メタデータとして貯めて おくことが必要です。 7 データ横丁 データモデリング通り 世話人)稲見 浩一
  5. システム開発とデータモデリング システム開発では単独のシステムの機能を考え がちですが、右図の赤枠のように、本来は全体 の中のこの一組のデータモデルが重要です。 • データ戦略の中で決められたエンタープライズデータ モデルの一部としてのシステムを開発するのであって、 決して単独で勝手に作るものではありません。 • ベンダーに発注すると、機能要件から単独のものを

    作りがちですが、オーナーである企業としては、この中 の一組という形にしたいです。まだこのような環境が 整っていない中でも、できれば最初の一つとして取り 組む価値があります。 • 論理データモデルから、きちんとメタデータ管理をしな がら標準化し、物理モデルの設計としたいです。 8 データ横丁 データモデリング通り 世話人)稲見 浩一
  6. 開発時の流れ(再構築) 各モデルは、次のように使われます。 9 現行に 関する インプット 論理 データ モデル 物理

    データ モデル マッピング 現行 データ プロファイリング フィード バック 論理 データ モデル AsIsの世界(現状分析) ToBeの世界(業務からの設計) ⚫ AsIsでの課題 ⚫ 新規要件 物理 データ モデル • 標準化 • 設計 データ移行: AsIsの論理モデルとToBeの論理モデル間で変換の要件を決め、 AsIsの物理モデルからToBeの物理モデルへの変換仕様を作成する 新規 システム マッピング 実装 データ横丁 データモデリング通り 世話人)稲見 浩一
  7. 表記法と方法論 P.P.Chenによる論文発表に始まった Entity Relationship Model ですが、 最初は矩形でEntity Setを、直線とひし形でRelationship Setを表すだけの 単純なものでした。

    • ChenのERモデルでは表現力が不足するということで、様々な拡張が行われました。 それらがいくつかの表記法として残りました。IE(Crow’s Foot)法、IDEF1X、Barker 法などが知られています。 • 一方で、業務の世界をモデルで表していこうとする方法論については、統一や標準化が行 われてこなかった、あるいはできなかったとも言われています。3Amigosが統合したUMLも、 統合は表記に留まり、方法論はバラバラなままでした。Booch法のGrady Boochと、 OMT法のJames RambaughによりUML0.9が作られ、 OOSE法のIvar Jacobsonが加わってUNL1.0が作られましたが、〇〇法の方は、それぞ れのままでと統一されませんでした。 12 データ横丁 データモデリング通り 世話人)稲見 浩一
  8. 国内の方法論 統合はされなかった方法論ですが、いくつか良く知られているものがあります。 ここでは、簡単に紹介します。古くからある順に書いてみましょう。 1. TH法 • データ総研を設立した椿正明氏と、穂鷹良介氏が開発したデータモデリング手法です • P.P.ChenがERモデルを発表した1977年の同じVLDB学会で発表されたものです •

    手法の教育や支援などはデータ総研にて続けられているようです 2. TM • 佐藤正美氏が開発した手法で、この後に詳しく説明します。 • 初期には、T字形ERと呼ばれていました。私は今でも「T之字」と呼んでいます 3. 三要素分析法(TEA Method) • 業務を主題とした多くの著書で知られ、業務モデルの学習環境までも提供している渡辺幸三氏が 開発したシステム開発手法で、データモデリングの方法論を含みます • こちらも独自の記法を持っており、描画ツールも無償で提供されています 13 データ横丁 データモデリング通り 世話人)稲見 浩一
  9. TMとは? TMは、佐藤正美氏が開発したデータモデリング手法です。 データを捉えた事業解析手法と表現した方が適切かも知れません。 正美さんが書いているサイトがあります。ここに、TMの最新バージョンという ページがあり、図書の案内とTM3.0を説明した資料があります。 15 ▪図書 この方法論の成り立ちや、背景となる考え方が知りたい方は、是非こちらの本を読んでみてください 私が最初にこの手法を知った頃は、「T字形ERデータベース設計技法」という本だったので、データベース 設計という色が濃いかと思いきや、そこで使われる情報を明らかにしながら事業を解析する、あるいは

    事業を設計するという手法です この本の巻末には、この手法を学び、実践した人たちからの寄稿による事例集もあって興味深いです また、途中にいくつか挟まる「問わず語り」というコラムも非常に面白いので読んでみて欲しいです ▪説明資料 TMについて手っ取り早く知りたければ、この資料を見れば良いと思います ただし、知った上で振り返るのに向いていますが、初めてという人には図書を読んでからの方が良さそうです データ横丁 データモデリング通り 世話人)稲見 浩一
  10. TMの特長 事業を解析しながら、データ構造を作る手法です。 16 ルールに従って作成します ⚫ ルールによりある程度機械的に作成できるので素早く作成できます ⚫ 正規化を特に意識しなくても、第三正規形(3NF)は保証されます ⚫ 漏れ・抜けがないことを検証できます

    データモデルで業務の流れがわかります ⚫ タイムスタンプを使ったルールにより実現します ⚫ DFDや業務フローは外部システムとの関係を表すもの、或いは個別に流れを説明するものなど、 用途に応じて必要最小限だけ作成すれば良いでしょう このモデルをベースに開発を行うことで、生産性とパフォーマンスを高められます ⚫ プログラムが単純(分岐が少ない)になります ⚫ RDBMSでは、Index-only、Null-keyといったテクニックにより高パフォーマンスを実現します データ横丁 データモデリング通り 世話人)稲見 浩一
  11. モデルの構成要件 モデルとは「模型/実例(現実の写像)」である。 1. 「ユーザ言語」を変形しない ⚫ 顧客(業務を行っている人)が使用している名前、用語を勝手に変更したり、 属性(項目)を勝手に追加しないでください ⚫ 変更や追加が必要な場合は、顧客の合意の下で行います 2.

    できる限り機械的に構成する ⚫ TMの文法(ルール)に従って構成します ⚫ ルール(構文)に則って書いたモデルは、ルール通りに読むことができます ⚫ ルールを外すと、他の人が同じように読めないモデルができてしまいます 17 データ横丁 データモデリング通り 世話人)稲見 浩一
  12. ルールの話 モデリングの実施手順が決まっています。 1. 準備 ① モノを集める ② ものを分類する ③ モノを並べる

    2. モデル(構文論) ① 関係を構成する ② セット(集合)を作る ③ 多値 3. モデル(意味論) ① クラスで整える 18 詳しくは、 サイトや図書を ご覧ください データ横丁 データモデリング通り 世話人)稲見 浩一
  13. モノを集める インプットとなるのは、業務の中での文章だが、場合によっては業務マニュアル (多くはそのシステムのマニュアル)の画面などを使って、言葉と意味を拾っていく。 その際に、その何かを示す「それ」とか「これ」を指すものとして個体指定子と呼ぶも のを取り上げる • 注文番号によって、注文を指している • 商品コードによって、商品を指している 何かを指す場合、それに従属して持たれている属性がある

    • 注文番号で指された注文には、注文日や注文金額といった属性がある • 商品コードで指された商品には、商品名や単価などの属性がある インプットの中から、個体指定子になり得る属性と、ならない属性に分類しながら インプットごとの属性を集める 19 データ横丁 データモデリング通り 世話人)稲見 浩一
  14. モノを並べる(例) 出来事など(イベント)の集まりを並べる ① イベントは時系列に並べる ② リソースは並びを問わない 22 受注番号 受注数 受注日

    受注 顧客番号 顧客区分コード 顧客名称 顧客 商品コード 商品単価 商品名称 商品 出荷日 出荷番号 出荷 請求日 請求番号 請求 行為者(リソース)を並べる → 半順序 注文を受けて、出荷して、請求する できごと・行為・取引(イベント)を 時系列に並べる → 全順序 時系列で順序を持つイベントは左から右や上から下へと 組織で決めた書き方で並べて配置する 並びを問わないリソースは、その上下などに配置する 受注日 ≦ 出荷日 ≦ 請求日 データ横丁 データモデリング通り 世話人)稲見 浩一
  15. 関係を構成する 分類し並べたイベント/リソースごとに関係を構成する 1. aとbが違うモノの集合である場合のaとbとの間の関係 ① イベントとリソースの関係:E ← R • イベントがリソースを引き込む

    ② イベントとイベントの関係:E +→ E またはE >-対応表- E • 後続イベントに対して先行イベントが1なら、後続イベントが先行イベントを引き込む • 先行イベントがNになるなら、先行イベントと後続イベントの間に対応表を置く ③ リソースとリソースの関係:R-対照表-R • 並びを問わないので、必ずリソース間に対照表を置く 2. 1つのモノの集まりからいくつかを選んで並べる:再帰 • 一つのモノから再帰表に2本の関係を引き込む 23 データ横丁 データモデリング通り 世話人)稲見 浩一
  16. セット(集合)を作る モノゴトを示す集合は、何らかの区分によって部分集合に分けられる場合がある。 少し例を示すと、 • 従業員は、(従業員区分コードによって)正社員とパートタイマーに分けられる • 部品は、(内外作区分コードによって)内作部品と外作部品に分けられる といったように、正社員またはパートタイマーであり、「かつ」となる場合がないことを 条件として分割する 以下の場合は、分割されたサブセットにならない

    • 取引先には、(取引先区分コードによって分けられる)請求先、支払先、納入先がある • 一見すると、部分集合のようにも見えるが、請求先であり、支払先でもあり、かつ納入先と なる取引先があれば、「または」の関係が成立しない • あくまでも、取引とその種類である取引先区分の組合せ(対照表)である 26 データ横丁 データモデリング通り 世話人)稲見 浩一
  17. 多義と多値 これは、データベースでよく繰り返し項目を持ってしまっているような例の分解とも 言え、2種類存在する 1. 多義 • 複数から一つだけ選択して使用するような場合 • 価格1、価格2、価格3のように持ち、正価格、割引価格、特別価格のうち一つを利用するもの 2.

    多値(HDR/DTL) • いわゆる鏡と明細の形態で、同時に複数の値を持つ場合 • 注文に対する注文明細といった例である • HDR(ヘッダ)とDTL(ディテール)型とも呼ばれる 28 データ横丁 データモデリング通り 世話人)稲見 浩一
  18. ここまでがルールの紹介です 32 1.モノを集める • 仕訳帳を作る 2.モノを分類する/並べる • 取り出してイベントとリソースに分ける • イベントを時系列に並べる

    3.関係を構成する • リソースをイベントに引き込む • 先行イベントを後続イベントに引き込む • 複数の先行イベントを対照表でまとめる • リソースとリソースを対照表でつなぐ • 同じ集合から取り出す再帰 4.セット(集合)を作る • サブセット化できるものは分ける 5.多値を扱う • 多義を取り出す • HDR/DTLを構成する 6.クラスで整える • 紛れ込んだものを取り出す • 概念的スーパーセットを形成する データ横丁 データモデリング通り 世話人)稲見 浩一
  19. レビューする データモデルのレビューを実施する際のポイントを以下に示します。 33 正しく書けたか モデルは事実を示しているか ◼ 個体指定子は実在しているものか • 勝手に作成していないか?実在するものか? ◼

    リソースとイベントは類別できているか • タイムスタンプが置け、順序が問われるか? ◼ NULLが発生する属性はないか • 場合分けが必要ならサブセット化を検討する ◼ 区分コードが放置されていないか? ◼ サブセット間に同じ情報が存在していないか? ◼ クラスとして取り出せるような属性を見逃して いないか? ◼ モノとモノの間の関係は正しいか? ◼ イベントの順序(業務の順序)は正しいか、 例外はないか? ◼ モノの中の属性(項目)はそのモノ自身に属する ことは正しいのか? ◼ モデルに示されていない業務(抜け・漏れ)は ないか? データ横丁 データモデリング通り 世話人)稲見 浩一
  20. ICONIX Process (click for a larger image) 開発への適用 かつて自分で受託開発していた頃から、こんな感じでやっていました。 •

    説明にちょうど良い感じなのでICONIXプロセスを取り上げています 34 Amazon(中古) 翔泳社 • 関連サイト • 関連動画 • ICONIXプロセスから学ぶオブジェクト指向モデリング 前編 後編 • 更に関連書籍です 上 流 か ら 下 流 ま で 生 成 AI が 変 革 す る シ ス テ ム 開 発 この部分を TMで! ソ フ ト ウ ェ ア 要 求 と 仕 様 : 実 践 , 原 理 , 偏 見 の 辞 典 データ横丁 データモデリング通り 世話人)稲見 浩一
  21. まとめ 37 「この〇〇」とか「あの□□」と 特定される対象を取り出す 取り出したモノは時系列に 並べられるか?並べられるも のは左から右に並べる イベント、リソースの各関係を ルールに基づいて形成する 集合として整え、分けて扱う

    (サブセット) 対象物の認識と、その認識 を合意しやすくする仕掛けを 用意している 業務フローやDFDがなくても、 どういう情報を扱う業務が、 どんな順番に扱われているか 見て取れる 関係のルールにより、特に同 じように書け、同じように読め ることに寄与している 何が何をもって、どのように分 割されているか、それぞれに 異なった属性を持ったり、異 なった関係を持たせられる 多値を扱い、繰り返し項目 を外に追い出す 正規化を名に意識しなくても 第三正規形が守られる構造 にしている クラスで整える 本来区別して扱われるべき 紛れ込んだものを取り出して、 明確に別なものとして扱う DXレポートを書いた和泉氏が当時、エンジニア不足だと 言われているが、これからはパッと関連クラスが書けるよう なエンジニアだけが必要で、そういった人材が圧倒的に不 足している。そうでないエンジニアたちは、いずれ余っていく という話をしていました。 関連クラス→対照表(対応表)のことですよね! 明確なルールを置くことで書く人と読む人のコミュニケー ションを促進している方法論です。 データ横丁 データモデリング通り 世話人)稲見 浩一
  22. 他の方法論 前述した2つの方法論について知る方法としては、以下の通りです。 1. TH法 • 私は、これを作った椿さんや後継者の堀越さん辺りとしか詳しく話をしたことがありません。 • 椿さんの設立したデータ総研は現在も存続していて、「データモデリング」セミナーを提供 されています。どこにも「TH」と書かれていないので現在では異なった方法論を採用されて いる可能性があるので、受講に際してはご確認ください。

    2. 三要素分析法(TEA Method) • こちらは、開発者本人のサイトやブログがあるので、そちらから本人にコンタクトするのが良 いと思います。それ以外に、触れる機会としては「IT勉強宴会」というコミュニティがありま す。こちらでのイベントにはほぼほぼで来られるので参加してみると良いでしょう。 • 著書多数なので、是非ご購入を! 42 シ ス テ ム 開 発 ・ 刷 新 の た め の デ ー タ モ デ ル 大 全 データ横丁 データモデリング通り 世話人)稲見 浩一
  23. 生成AIに尋ねる つらつらと解説してきましたが、要点を捉えるにはPerplexityに聞いてみても良い かも。パッと調べるのに強いですから。 43 佐藤正美氏の開発したデータモデリングの手法であるTMについて教えてください。 佐藤正美氏が開発したデータモデリング手法「TM(Theory of Models、旧称:T字形ER手法)」は、日本発の独自のビジネス解析・データモデリング技法です。 これは、事業分析やシステム開発の現場で、現実社会の業務・ビジネスを正確かつ論理的に「モデル」として構造化し、仕組みを可視化・標準化するための方法論と して広く用いられています。

    TM(Theory of Models:T字形ER手法)の概要 •ビジネスや業務の実態を「現実を写像」し、論理的な構造としてデータモデルに落とし込むことに焦点を当てています。 •モデル作成の主な手順は6つのシンプルなステップからなり、手順が明快なため習得が容易です。 •コッド正規形(RDBの正規化理論)の弱点を「意味論」を使って拡張し、より実務やビジネスの実態に即したモデル作りが可能となっています。 •作成されるデータモデル(TMD:T字形ER図)は、属人性を排除し、システム開発全体の一貫性や業務システムの安定性を担保できる「共通設計図面」として 機能します。 (続く→) データ横丁 データモデリング通り 世話人)稲見 浩一
  24. (続き) 44 TM手法の6つの基本手順 1.モノを集める ビジネスや業務で使われる共通語彙や項目を洗い出す。 2.モノを並べる 抽出した項目を”関係”や”関数”の視点で並べ、構造化する。 3.関係を構成する 業務の流れや意味づけをもとに、項目間の論理的な繋がりを明らかにする。 4.集合を作る

    項目(エンティティ)を集合として整理し、全体像をつかむ。 5.多値を排除する 繰り返し構造や冗長性を排除して、モデルの単純化・正規化を行う。 6.クラスで整える クラス(型)によって部分集合・全体集合などの整理と最終的な構造化を行う TMの特徴と利点 •現実志向:画面や帳票など「実際のビジネス現場で利用されるもの」から出発し、 現実とシステムのギャップを最小化。 •属人性の排除:標準化・ルール化した手順により、誰が行っても安定したモデルが 構築できる。 •RAD(Rapid Application Development)との相性:ビジネスモデルと プロトタイピングを同時進行でき、開発生産性・品質の向上に大きく寄与する。 •応用範囲の広さ:業務系システムの設計はもちろん、現場業務の見直しや業務 要件の定義にも活用されています 学習・実践資料 •書籍「事業分析・データ設計のためのモデル作成技術入門」(佐藤正美 著)は、TMの全体像から実践ノウハウまで詳しく体系的に学べる定番書です。 •TMの会主催のワークショップや勉強会、公式Webサイトや教材も利用できます。 TM手法は、単なるER図の延長ではなく、「現実をいかにシステムとして忠実にモデリングし、持続可能なビジネスシステムを作るか」を徹底追求した、日本発の独 自かつ実践的なデータモデリング手法です。 ※この内容は、2025年8月3日に実行してみた際の出力結果のコピーです。 データ横丁 データモデリング通り 世話人)稲見 浩一