Commonweal - リファレンスページ
業務の言葉(業務データ辞書)と業務の構造(EDM)を、動いている実装と繋ぎ続けるためのガイドです。TALONで開発したシステムなら、機能設計書の自動生成までを同じ仕組みで行います。
1照合・マッピングルールの完全リファレンス
Commonwealが「EDM・業務データ辞書・物理DB・TALON機能」のあいだに繋がりを作る照合ルールの全一覧です。「この列がなぜこのデータドメインに繋がったのか(繋がらないのか)」を突き止めるときはここを見てください。
この章で使う用語
本章の用語は製品画面の欄名とそろえています。
| 用語 | 意味(画面での欄名) |
|---|---|
| データドメイン | 業務データ辞書の1エントリ。意味(業務的定義・ビジネスルール・導出ルール・暗黙知)を書く単位です。画面の欄名はデータドメイン名(業務データ辞書メンテナンスの単票)/データドメイン名称(記入・一覧・宿題一覧) |
| 物理属性名 | データドメインに登録する実装側の名前。物理列名・論理名(DBコメント)・画面の表示名・修飾別名(テーブル名.項目名)のいずれでも書け、これが実装との照合キーになります。画面の欄名は物理属性名(業務データ辞書メンテナンスの物理属性明細) |
| EDM属性宣言 | 物理属性の行に書く「この物理項目はどのEDM属性の実装か」の宣言。物理項目とEDM属性を、名前の一致に頼らず直接繋ぎます。画面の欄名はEDM属性(同じ物理属性明細) |
| ドメイン欄 |
.a5erの属性が持つ欄(A5:SQL Mk-2の属性の「ドメイン」列)。ここにデータドメイン名を書くと、その属性がEDMと業務データ辞書の接点になります |
繋がりの全体像
15種の繋がりのうち、日々の記入に直結する主要なものを1枚にまとめると次のようになります。
矢印はすべて出力のたびに製品が自動で作り直します。利用者が維持するのは各層に書いた名前と宣言だけで、対応関係そのものを手作業で更新する必要はありません。
このほかの繋がり(線は描いていません) — #6 EDM間のエンティティ統合 / #10 機能 → 機能(呼出・被呼出) / #11 機能 → メニュー階層 / #12 機能 → 業務分類 / #13 テーブル → 業務分類 / #14 検索条件の集約 / #15 プロジェクトによる絞り込み。いずれも構造や集計のための対応付けで、記入の仕方はこの章の該当する節で説明します。
共通の正規化規則(全照合に共通)
- 完全一致 — すべて大文字化+前後空白除去のうえ完全一致。部分一致・あいまい一致はしません(唯一の例外は下の候補サジェスト)
- 一本道 — 名前は1つの意味に繋がるのが原則です。ただし複数候補に一致したときの扱いは繋がりの向きで違います。解決先を1つに決める照合(#1 EDM属性 → 業務データ辞書と#9 辞書本文 → 辞書)は先頭の1件だけを採用します。逆に、辞書から使用箇所を逆引きする照合(#2 物理列 → 業務データ辞書と#3 画面項目 → 業務データ辞書)は一致したデータドメインをすべて採用し、どちらか一方に絞ることはしません。いずれの場合も重複の存在自体が警告として表出します
-
全角の正規化 — 記法ごとに受理範囲が違います。備考タグは角括弧・コロン・アットマークに加えて全角英数字も半角化(半角に直した名前で見つからないときは書いたままの表記でも照合するので、実テーブル名が全角英数字を含む場合も一致します)、修飾別名とEDM属性宣言は全角ドット(
.)だけ、EDMのエンティティコメントの[トークン]は半角角括弧のみです -
あいまい一致は1か所だけ — 「未登録項目」の候補ドメイン提示のみ近似照合(全角→半角・大文字化・空白と記号
・_-()[]「」を除去して比較し、完全一致→包含→編集距離で採点、上位2件)。提案するだけで繋がりは作りません
利用者が書ける記法の早見表
| 記法 | 書く場所 | 生まれる繋がり | 記入例 |
|---|---|---|---|
| ドメイン名をドメイン欄に書く | .a5erの属性(Field) | EDM属性 → 業務データ辞書(#1) | 属性名顧客納期(予定)+ドメイン欄顧客納期
|
[[ドメイン名]] |
業務データ辞書の意味4欄 | 辞書本文 → 別ドメインのカード(#9) | 算定基準は[[顧客納期]]と同じ |
テーブル名.項目名(修飾別名) |
業務データ辞書の物理属性名 | 特定テーブルの物理列 → そのデータドメイン(#2) |
ORDER_H.ID / 受注ヘッダ.受注番号
|
属性名 / エンティティ名.属性名
|
業務データ辞書のEDM属性宣言欄 | 物理項目 ↔ EDM属性(#4) |
指定納期 / 受注.指定納期 / 指定納期, 回答納期
|
[トークン] |
.a5erのエンティティコメント | エンティティ → 物理テーブル/TALON機能(#5) | [T_ORDER_H][TLN_FUNC_DOC] |
[R:テーブル名] [W:…] [WR:…] @N
|
機能説明タブの備考 | 機能 → テーブル(手動宣言、#7) | [R:TLN_M_USER] [W:LOG_TBL@2] [WR:SALES_SUM] |
論理名{区切り}分類タグ{区切り}説明 |
DBのテーブルコメント | 論理名での照合+テーブル分類バッジ(#2) | 品目マスタ■RESOURCE■品目を管理する |
論理名{区切り}説明 |
DBの列コメント | 論理名での照合+列の説明表示(#2) | 顧客コード■得意先を一意に識別するコード |
接続先 × テーブル × 項目(ALL可) |
照合除外の登録 | 照合対象から外す(#2/#3) | 接続先ALL/テーブルALL/項目CREATE_DATE
|
| プロジェクト(チェックボックス) | 業務データ辞書 / EDM | 出力に載せる範囲の絞り込み(#15) |
PJA;PJB(区切りはCHECKBOX_SEP) |
繋がりの一覧(何と何を・どの情報で照合するか)
| # | 繋がり | 照合に使う情報 | 主な表出先 |
|---|---|---|---|
| 1 | EDM属性 → 辞書 | 属性のドメイン欄に書いたドメイン名 | EDM.html(業務概念モデル) / Domains.html(業務データ辞書索引) / 業務データ辞書宿題一覧 |
| 2 | 物理列 → 辞書 | 列の物理名+論理名(DBコメント) | er-diagram.html(物理データベース) / Domains.html(業務データ辞書索引) |
| 3 | 画面項目 → 辞書 | 項目の表示名+物理名 | FuncDoc_*.html(機能設計書本体) / Domains.html(業務データ辞書索引) |
| 4 | 物理項目 → EDM属性(宣言) | 物理属性行のEDM属性宣言 | 4面(Domains.html(業務データ辞書索引) / EDM.html(業務概念モデル) / er-diagram.html(物理データベース) / FuncDoc_*.html(機能設計書本体)) |
| 5 | エンティティ → 物理テーブル/機能 | 物理名+コメントの[トークン] | EDM.html(業務概念モデル) |
| 6 | EDM間のエンティティ統合 | エンティティの論理名 | EDM.html(業務概念モデル) / DomainMatrix.html(マトリクス) |
| 7 | 機能 → テーブル(依存) | SQL/JS/設定/備考タグの解析 | FuncDoc_*.html(機能設計書本体)の依存関係タブ / er-diagram.html(物理データベース) / DomainMatrix.html(マトリクス) |
| 8 | 宿題一覧の突き合わせ | #1と同じ | 業務データ辞書宿題一覧(製品画面) |
| 9 | 辞書本文 → 辞書(辞書内リンク) | 意味4欄に書いた[[ドメイン名]]
|
Domains.html(業務データ辞書索引) |
| 10 | 機能 → 機能(呼出/被呼出) | 呼出設定に書いた機能ID | FuncDoc_*.html(機能設計書本体)の依存関係タブ / FunctionTree.html(機能依存ツリー) |
| 11 | 機能 → メニュー階層 | メニュー登録の階層パス | FunctionTree.html(機能依存ツリー) |
| 12 | 機能 → 業務分類(大/中/小) | BG_L/BG_M/BG_Sのコード | FunctionList.html(機能一覧) / FuncDoc_*.html(機能設計書本体) / er-diagram.html(物理データベース) |
| 13 | テーブル → 業務分類 | そのテーブルを読み書きする機能の業務分類 | er-diagram.html(物理データベース) / DomainMatrix.html(マトリクス) |
| 14 | 検索条件の集約 | 物理項目名 / JOIN設定 | FuncDoc_*.html(機能設計書本体)の検索条件 |
| 15 | プロジェクトによる絞り込み | 辞書・EDMのプロジェクト欄 | 全成果物(出力範囲) |
#1 EDM属性 → 業務データ辞書(2段階の名前解決)
照合に使うのは属性のドメイン欄に書いたドメイン名です。属性名は照合に使いません(*ドメイン名のA5M2ユーザー定義ドメイン参照は*を外して解決し、型情報はDomainInfoから補完)。ドメイン欄が空の属性は照合対象外です。上から順に試し、最初に一致したところで確定します。
- データドメイン名と完全一致 — ドメイン欄「顧客納期」→データドメイン「顧客納期」
- 物理属性名と照合 — ドメイン欄「初回回答納期」が顧客納期の物理属性名なら顧客納期へ
同じデータドメインを複数エンティティに配置するときは、役割を属性名に書き(「顧客納期(予定)」等)、ドメイン欄にはどちらもデータドメイン名そのもの(「顧客納期」)を書きます。ドメイン欄の値は書いたとおりに照合されます(括弧を含む名前のデータドメインも、そのままの表記で登録・照合できます)。修飾別名(テーブル名.項目名)と照合除外はこの解決に参加しません。解決できない名前は「未登録」として宿題一覧とDomains.html(業務データ辞書索引)に出典EDM名付きで表出します。
記入例(A5:SQL Mk-2の属性欄):
| 属性名(論理名) | ドメイン欄 | 結果 |
|---|---|---|
顧客納期(予定) |
顧客納期 |
データドメイン「顧客納期」に繋がる(1段階目) |
顧客納期(実績) |
顧客納期 |
同じデータドメイン「顧客納期」に繋がる(役割は属性名が担う) |
初回回答予定日 |
初回回答納期 |
「初回回答納期」が顧客納期の物理属性名なら顧客納期へ(2段階目) |
安全在庫数 |
*安全在庫数量 |
*を外した安全在庫数量で照合(ユーザー定義ドメイン参照) |
備考 |
(空欄) | 照合対象外(未登録警告にもなりません) |
#2 物理列 → 業務データ辞書
照合に使うのはER図に載る各列の物理名と論理名(DBコメントを区切り文字で分割した前半。区切り文字はTALON汎用コードTLN_GENERAL/DB_COMMENT_SEPのDSP1、例■)。
| 対象 | 書き方 | 分解のされ方 |
|---|---|---|
| 列コメント | 論理名{区切り}説明 |
区切りより前=論理名(照合に使う)/以降すべて=説明 |
| テーブルコメント(区切り1個) | 論理名{区切り}説明 |
分類タグは付きません |
| テーブルコメント(区切り2個以上) | 論理名{区切り}分類タグ{区切り}説明 |
2番目がテーブル分類タグ(例品目マスタ■RESOURCE■品目を管理) |
区切り文字を設定していない環境では論理名=コメント全文になり、分類タグ・説明は出ません(既定は未設定)。分類タグは任意の文字列でよく、RESOURCE/EVENT/SUMMARYだけ専用色が付きます。用途はer-diagram.html(物理データベース)の分類バッジ・行の色分け・絞り込みと、ER図ラベル、DomainMatrix.html(マトリクス)の列見出しの色ドットで、並び順やグループ分けには使いません。論理名の抽出では旧運用の末尾[物理名](半角英大文字・数字・アンダースコアのみ)も取り除きます。
-
照合除外が最優先 — 一致した列は意味の照合宇宙の外(ER図・依存関係には残ります)。除外は接続先(
0=主DB/1〜15/ALL)×テーブル(名またはALL)×項目(名またはALL)の3階層で判定します(両方ALLは無効) - 修飾別名 — テーブル部=物理名or論理名、項目部=物理名or論理名の全組合せ(最大4通り)で照合。一致したら無修飾は評価しません(専有)。抑制候補はDomains.html(業務データ辞書索引)のℹに参考表出
- 無修飾の物理属性名 — 列の論理名→物理名の順(論理名でヒットしたら物理名は見ません)。ヒットした名前が複数のデータドメインに登録されていれば、先頭1件に絞らずそのすべてに繋がります。er-diagram.html(物理データベース)の列セルには一致した全データドメインのリンクが並び、画面下部に「データドメイン不整合」の警告が出ます
修飾別名の細則: ドットは1個だけ。スキーマ名.テーブル名.項目名のようにドットが2個以上あると修飾として扱われず、その文字列全体が1つの普通の物理属性名になります(=どこにも当たりません)。スキーマ名は付けないでください。全角ドットは半角に直しますが、テーブル名・項目名そのものを全角で書くと一致しません。前後の空白は除去され、大文字小文字は区別しません。修飾別名は物理列の照合専用で、画面項目・EDMの名前解決・候補サジェストには参加しません。接続先は条件に入らないため、同名テーブルが複数の接続先にあれば全てに一致します。
一致した物理列は、Domains.html(業務データ辞書索引)のカードにデータ型/桁数/主キー/外部キーと参照先が併記されます(DBのカタログから取得した実際の制約です)。
記入例(区切り文字=■の環境):
| 書く場所 | 記入内容 | 結果 |
|---|---|---|
列CUST_CDのコメント |
顧客コード■得意先を一意に識別するコード |
論理名「顧客コード」で照合(辞書に物理属性名顧客コードがあれば一致)。「説明」欄には得意先を一意に識別するコードが出ます |
テーブルM_ITEMのコメント |
品目マスタ■RESOURCE■品目を管理する |
論理名「品目マスタ」+分類タグRESOURCE(専用色バッジ) |
テーブルT_ORDER_Hのコメント |
受注ヘッダ■受注の見出し情報 |
論理名「受注ヘッダ」。区切りが1個なので分類タグは付きません |
| 辞書の物理属性名 | CUST_CD |
列コメントが無い(論理名が取れない)環境でも物理列名で一致します |
| 辞書の物理属性名 | ORDER_H.ID |
修飾別名。ORDER_HテーブルのID列だけに一致(他テーブルのIDは専有しません) |
| 辞書の物理属性名 | 受注ヘッダ.受注番号 |
修飾別名は論理名(テーブルコメント/列コメント)側でも書けます |
| 辞書の物理属性名 | SALES.ORDER_H.ID |
✗ ドットが2個=修飾になりません。その文字列全体が1つの普通の物理属性名として扱われ、どこにも一致しません |
#3 画面項目 → 業務データ辞書
- 照合除外が最優先 — 物理名OR表示名で一致すれば対象外。適用範囲は「項目のブロック接続先」×「テーブル=ALL、またはブロックが参照するテーブル」でスコープ。テーブル丸ごと除外(項目=ALL)も適用されます
- 表示名と物理名の両方を無修飾の物理属性名と照合して和集合を取ります。表示名で当たったデータドメインと物理名で当たったデータドメインが違っても、どちらか一方を選ぶことはせず一致したデータドメインすべてに繋がります。別のデータドメインが2件以上に一致したときは、同時に「複数ドメイン一致(要確認)」として警告に出ます
修飾別名は画面項目には効きません(画面項目はテーブルを1つに確定できないため)。画面項目でも拾いたい名前は無修飾の物理属性名(表示名)を併記してください。
複数のデータドメインに一致したときの表れ方 — 1つに絞られないため、次のように両方(3件以上ならすべて)に載ります。
| 表出先 | 表れ方 |
|---|---|
| FuncDoc_*.html(機能設計書本体)のデータドメインタブ | 一致したすべてのデータドメインのカードが並び、そのどれもがこの項目を使用箇所として挙げます。項目には⚠+件数のマークが付き、マウスを乗せると「この項目は次のドメインにも一致」として他方の名前が出ます。タブの下部に「複数ドメイン一致(要確認)」の帯が出ます |
| Domains.html(業務データ辞書索引)のカード | 一致したすべてのデータドメインの「TALON使用箇所」にこの項目が載ります(使用箇所の件数もそれぞれで1件と数えます)。項目には⊕+件数のマークが付き、他方のデータドメイン名がツールチップに出ます |
| Domains.html の辞書整合性警告 | 「複数ドメイン一致の画面項目(要確認)」に、機能・ブロック・項目と一致した全データドメインへのリンクが並びます。名前レベルの「物理属性(ATTR_NM)のドメイン間重複」と対になる、影響箇所レベルの警告です |
DomainMatrix.html(マトリクス)/meta/*.md(AI向けMarkdown) |
同じ集計を使うため、どちらのデータドメインの行にもこの項目が現れます |
どちらか一方が採用されて他方が捨てられることはありません。1つに確定させたい場合は、重複している物理属性名をどちらか一方のデータドメインに寄せるか、項目の表示名を具体化してください(修飾別名テーブル名.項目名は画面項目には効かないため、この絞り込みには使えません)。
記入例:
| 画面項目(表示名 / 物理名) | 辞書側の記入 | 結果 |
|---|---|---|
「顧客コード」 / CUST_CD
|
データドメイン「顧客コード」の物理属性名に顧客コード
|
表示名で一致 |
「得意先」 / CUST_CD
|
同じデータドメインの物理属性名にCUST_CDも追記 |
表示名が違っても物理名で一致(両方登録しておくのが確実です) |
「作成日時」 / CREATE_DATE
|
照合除外に 接続先ALL/テーブルALL/項目CREATE_DATE
|
全機能・全テーブルの作成日時を照合対象から除外(未登録警告も出ません) |
「区分」 / KBN
|
照合除外に 接続先0/テーブルT_ORDER_H/項目ALL
|
T_ORDER_Hを参照するブロックの項目を丸ごと除外 |
#4 物理項目 → EDM属性(EDM属性の宣言)
この繋がりの両端は「物理項目」と「EDM属性」です。業務データ辞書は宣言を書く場所(物理属性行のEDM属性欄)であって、繋がるのは辞書とEDMではありません。その欄に「この物理項目はどのEDM属性の実装か」を書くと、名前の一致(#1〜#3)と独立に、名前が異なる実装(EDM属性「指定納期」←物理列NOKI)まで確実に繋がります。記法は属性名(無修飾=同名属性を持つ全エンティティ)/エンティティ名.属性名(限定)。
- 区切りに使えるのは半角カンマ・全角カンマ・読点の3つだけ。セミコロンやスラッシュは区切りになりません。改行も区切りではありません(空白1個に畳まれて前後がつながります)
- エンティティ部は論理名(LName)でも物理名(PName)でも一致します。分割位置は最初のドット(修飾別名がドット2個で修飾をやめるのとは規則が違います)
- 大文字小文字と空白のゆれは吸収されます。宣言欄は合計400文字まで
- 登録済みEDMに該当属性が無い宣言は「迷子宣言」警告に。メンテ画面では確定時に似た名前の候補を最大5件提示します
- 宣言先のドメイン欄は宣言元と同じデータドメインに揃えます。別のデータドメインに解決される場合も繋がりは作られますが、EDMページのガバナンス警告「宣言先が別のデータドメイン(EDM属性の宣言)」と辞書メンテの確定時警告でお知らせします(確定は止まりません)。ドメイン欄が空の場合はこの警告は出ません(「データドメイン未設定(属性)」が別に出ます)
記入例(物理属性NOKIの行のEDM属性宣言欄に書く):
| 記入内容 | 結果 |
|---|---|
指定納期 |
無修飾。指定納期という属性を持つすべてのエンティティの当該属性に繋がります |
商品コード |
無修飾。「商品コード」が受注・出荷・商品の3エンティティに出てくるなら、この1宣言で3つすべてに繋がります(点在する属性の既定の書き方。メンテ画面のサジェスト候補もこの形です) |
受注.指定納期 |
修飾。エンティティ「受注」の指定納期だけに繋がります |
T_ORDER_H.指定納期 |
エンティティ部は物理名(PName)でも可 |
指定納期, 回答納期 |
カンマ区切りで複数宣言(全角カンマ,・読点、も可) |
受注.指定納期、出荷.指定納期 |
修飾を複数並べてエンティティごとに指定 |
指定納期; 回答納期 |
✗ セミコロンは区切りになりません。1つの属性名として扱われ「迷子宣言」になります |
受注.指定納期(宣言先のドメイン欄が別のデータドメイン) |
△ 繋がりは作られますが「宣言先が別のデータドメイン(EDM属性の宣言)」警告が出ます。EDM側のドメイン欄を宣言元のデータドメインに揃えるか、宣言を見直してください(ドメイン欄が空なら警告は出ません) |
宣言は4面に表れます: Domains.html(業務データ辞書索引)の索引カード / EDM.html(業務概念モデル)のレジストリ(属性の実装列) / er-diagram.html(物理データベース)の物理列セル / FuncDoc_*.html(機能設計書本体)のデータドメイン表示。
#5 エンティティ → 物理テーブル/TALON機能
物理テーブルは、エンティティの物理名(PName)が第一候補。加えてエンティティコメントの[トークン]でも紐付けられます(複数テーブル可)。トークンが出力対象環境の機能IDに一致すれば機能への紐付けになります。紐付けたテーブルは「今回の出力で参照されたテーブル+主DBカタログ」で実在確認し、確認できないものは「DB未検出」バッジ(リンク無し)になります。DB方言が判定できず確認自体ができないときは「未検出」と断定しません。
実在確認の範囲: 主DBは、出力対象の機能が参照していないテーブルも含めてスキーマ内を確認します。複数DB接続の外部接続先は、今回出力する機能のいずれかが参照しているテーブルだけが対象です — 外部接続先にしか無いテーブルは、そのテーブルを参照する機能を出力対象に含めたときだけ実在確認できます(含めずに出力すると、実際には存在していても「DB未検出」と表示されることがあります)。実在が確認できたテーブルはer-diagram.html(物理データベース)のテーブル定義へリンクし、DBのテーブルコメントがあれば論理名が併記されます。ただしリンク先に定義が載るのは今回出力した機能が参照しているテーブルだけで、どの機能も参照していないテーブルは実在確認はされますが定義ページはありません。1つも実在確認できないエンティティはガバナンス警告に計上されます。
[トークン]の細則: 角括弧は半角のみ(全角[]は認識しません。備考タグとは異なります)。1つのコメントに複数書け、文章中に埋め込んでも構いません。まず機能IDかどうかを判定し、一致しなければ物理テーブル名として扱います。テーブル名にスキーマ修飾や@接続先番号は書けません。角括弧の部分はエンティティの説明文からは取り除かれます。
記入例(A5:SQL Mk-2のエンティティ「受注」のコメント欄):
| 記入内容 | 結果 |
|---|---|
受注の見出しと明細を保持する [T_ORDER_H][T_ORDER_D] |
2つの物理テーブルに紐付き、説明は「受注の見出しと明細を保持する」 |
[AT020][TLN_FUNC_DOC] |
TLN_FUNC_DOCが環境の機能IDに一致すれば機能への紐付け、AT020は物理テーブル名として扱われます |
[T_ORDER_H] 受注 [T_ORDER_H] のヘッダ |
トークンは文章中に埋め込めます。同じトークンの重複は1つにまとめられます |
[T_ORDER_H] |
✗ 全角の角括弧は認識しません(備考タグとは異なり半角の[]のみ) |
[SALES.T_ORDER_H] |
✗ スキーマ修飾は書けません。その文字列のままテーブル名として扱われ「DB未検出」になります |
#6 複数EDM間のエンティティ統合
複数の.a5erに同じ論理名のエンティティがあればレジストリ上1つに統合されます(属性・テーブル・機能はマージ)。論理名が空なら物理名を名前として使い、比較時は連続空白を1個に詰めて前後を除去します。ここだけは大文字小文字を区別します(Orderとorderは別エンティティ)。統合先に同名の属性が複数あったときは最初に読み込まれたものが残ります。
EDM.htmlの下部にあるEDMレジストリは、上のタブで選択中のEDMのエンティティだけを表示します(属性は統合したまま)。統合されたエンティティは、登場するEDMのタブすべてに同じカードが現れ、カード内に「出現EDM:」でどのEDMに出るかが並びます。件数は「このEDM: N / 全体: M」、「全展開」「全折りたたみ」は表示中のカードにだけ効きます。図やほかのページからエンティティのリンクで飛んだときは、そのカードが載るタブへ自動で切り替わって開きます。
記入例:
| EDM(.a5er) | エンティティの論理名 | 結果 |
|---|---|---|
| 販売管理 | 受注 |
この2つは1つのエンティティ「受注」に統合され、属性・紐付けテーブル・機能がマージされます |
| 生産管理 | 受注 |
|
| 販売管理 | Order |
order(別EDM)とは別エンティティになります(ここだけ大文字小文字を区別) |
| 生産管理 | 末尾に空白の付いた「受注 」 |
受注と統合されます(前後の空白は除去、連続空白は1個に詰めて比較) |
#7 機能 → テーブル(依存関係の抽出)
| 情報源 | 抽出ルール |
|---|---|
| ブロックSELECT式/タイトルSELECT式 | FROM/JOIN=読み、INSERT/UPDATE/DELETE/MERGE=書き(MERGEのUSINGは読み)。CTE/派生表の別名は除外 |
| 各種JavaScript | コメント除去→+連結の文字列リテラルを復元→DMLキーワードを含むものだけSQL解析。getOtherDBConn('N')等の接続呼出で区間分割し接続先へ帰属 |
| 更新対象テーブル(UPDATE_TABLE) | STD機能の暗黙の書込先として追加 |
| ストアドプロシージャ | 本体ソースをDBカタログから取得して解析(4方言)。動的SQLはDML文で始まるリテラルのみ |
| 他機能呼出 | 登録/更新/削除モード選択時のみ、呼出先ブロックの参照テーブルを1階層取込 |
| 備考タグ | 機能説明タブの備考に[R:テーブル名](読み)/[W:](書き)/[WR:](読み書き)。@Nで接続先明示。全角入力・日本語のテーブル名も可。解析で捕捉できない依存の手動補完用(ユーザーマニュアルの8章) |
SQL中のスキーマ名.テーブル名は最後の部分(実テーブル名)だけを採用し、"…"/`…`/[…]の引用符も外します。
備考タグの細則: モード文字R/W/WR/RWは大文字小文字不問。それ以外を書いたタグは警告なしで無視されます。テーブル名には半角英数字と_ $ # .に加えて日本語(ひらがな・カタカナ・漢字・長音・半角カナ)や日本語以外の全角文字も使えます。逆に区切り記号は使えません — 半角/全角スペース・カンマ(, ,)・読点(、)・句点(。)・中黒(・)・ハイフン(-)・和文括弧(「」【】等)を含むとタグ全体が無視されます。1タグ1テーブルで、[R:T1,T2]のようなカンマ並記は無効です([R:T1][R:T2]と並べてください)。スキーマ名は付けないでください(付けると物理DBのカタログと突合できず「DB未検出」になります)。全角は角括弧・コロン・アットマークに加えて全角英数字も半角化して受理し、設計書には半角で表示されます。実テーブル名そのものが全角英数字を含む場合は、半角に直した名前で見つからないときに書いたままの表記でも照合します(見つかればリンクが張られER図にも載ります。出典の表示は半角に直した表記のままです)。@の後は半角数字1〜2桁(@0=主DBの明示)。実在確認は帰属した接続先のDBだけで行うため、指定した接続先にそのテーブルが無ければ(接続先が未設定・接続できない場合も含めて)主DBに同名のテーブルがあっても「DB未検出」になります(「#7-2 複数DB接続(ACCESS_DB)の帰属」)。
記入例(機能説明タブの備考欄。文章の中に混ぜて書けます):
夜間バッチから呼ばれる集計処理。 プロシージャ内で以下を参照する。
[R:TLN_M_USER] [W:LOG_TBL@2] [WR:SALES_SUM] [R:受注ヘッダ]
| 記入内容 | 結果 |
|---|---|
[R:TLN_M_USER] |
TLN_M_USERを読みとして追加(接続先は機能レベルのDB接続先→空欄なら主DB) |
[W:LOG_TBL@2] |
LOG_TBLを書きとして、接続先2に帰属させて追加 |
[WR:SALES_SUM] |
SALES_SUMを読み書きとして追加([RW:SALES_SUM]も同じ意味) |
[R:受注ヘッダ] |
日本語のテーブル名も使えます(受注ヘッダを読みとして追加) |
[W:受注明細@2] |
日本語のテーブル名+接続先の明示も併用できます |
[w:sales_sum] |
大文字小文字は不問 |
[WR:SALES_SUM] |
全角入力も受理し[WR:SALES_SUM]として扱います(設計書には半角で表示) |
[R:受注ヘッダ] |
全角の角括弧・コロンと日本語の組み合わせも受理します([R:受注ヘッダ]として表示) |
[R:受注ヘッダ2] |
実テーブル名が全角英数字を含む場合も、書いたままの表記で照合します(半角に直した受注ヘッダ2が実在しなければ受注ヘッダ2で照合) |
[R:T1][R:T2] |
複数テーブルはタグを並べて書きます |
[R:T1,T2] |
✗ カンマ並記はタグ全体が無視されます(警告も出ません) |
[R:受注、明細] |
✗ 読点・全角カンマ・中黒での並記も同様に無視されます |
[R:受注 明細] |
✗ テーブル名の途中に空白(半角・全角)は入れられません |
[WR:SALES.SALES_SUM] |
✗ スキーマ修飾は付けないでください(そのまま扱われ「DB未検出」になります) |
[X:SALES_SUM] |
✗ R/W/WR/RW以外のモード文字は無視されます |
#7-2 複数DB接続(ACCESS_DB)の帰属
TALONの接続先設定は「機能レベル(アプリケーションタブ)」と「ブロックレベル(SELECT式タブ)」の2か所にあり、機能レベルの設定はブロックへは波及しません。
| 参照元 | 解決される接続先 |
|---|---|
| ブロックのSELECT式・ブロックのJavaScript・そのブロックの更新対象テーブル | そのブロックのDB接続先。空欄なら主DB(機能レベルの設定は使われません) |
機能レベルの処理・備考タグで@Nを省略したもの |
機能レベルのDB接続先。空欄なら主DB |
JavaScript内で接続を明示した区間・備考タグの@N
|
明示した接続先だけに帰属(既定の接続先には紐付けません) |
- 主DBを使いたいときはDB接続先を空欄にしてください(
0と入力すると「接続先0」という外部接続の指定になります) -
JavaScriptの接続切替は区間で効きます。
TALON.getOtherDBConn('2')/getTalonDbConfig()(主DBへ戻す)/getDbConfig()(既定へ戻す)を書いた位置から、次の切替を書くまで(書かなければ末尾まで)がその接続先に帰属します。ifや関数の範囲は見ていません。この区間方式の制限(接続情報を変数で使い分けたときの誤帰属)については、この節の末尾の注記を参照してください - 接続先番号は半角数字の直書きのみ認識します。変数を渡す書き方(
getOtherDBConn(dbNo))では切り替わりません - 同じ名前のテーブルが複数の接続先に実在した場合だけ、ER図・依存関係タブで接続先ごとに別のボックス・別の行になります
-
実在確認(ER図への掲載・リンク)は、帰属した接続先のカタログだけで行います。指定した接続先にそのテーブルが無いとき、および接続先が未設定・接続できないときは、主DBに同名のテーブルがあっても主DBのテーブルにはリンクせず「DB未検出」とし、依存関係タブに
ACCESS_DB=Nの接続先バッジを併記します(接続先の指定と食い違うリンクを張らないため)。この場合はER図(.a5er/.sqlを含む)にもそのテーブルは載りません - 接続先が未設定・接続できないときは、そのDBの製品種別も判定できないため、全設定タブの「DB接続先」は
1 (PostgreSQL)のような製品名の併記なしで接続番号だけの表示になります -
.a5er/.sqlは接続先ごとに別ファイルです(主DB=er-diagram.a5er/er-diagram.sql(ER図のA5:SQL Mk-2ファイル/DDL)、外部=er-diagram_ACCESS_DB{N}.a5er/.sql(接続先NのER図のA5:SQL Mk-2ファイル/DDL))。DDLの方言が接続先ごとに違うためです
記入例(JavaScript内の接続切替。区間で効きます)。DBアクセスはTalonDbUtilの各メソッドに接続情報を第1引数で渡すのが正式な書き方です(TalonDbUtil.select(接続情報, SQL文))。接続情報はTALON.getDbConfig()/getTalonDbConfig()/getOtherDBConn('N')で取得します。
/* ここから上は 既定の接続先(機能レベル or ブロックのDB接続先) */
var c0 = TALON.getDbConfig(); /* 既定の接続先 */
var rows0 = TalonDbUtil.select(c0, "SELECT * FROM T_ORDER_H"); /* → 既定の接続先 */
var c2 = TALON.getOtherDBConn('2'); /* ここから接続先2 */
var rows2 = TalonDbUtil.select(c2, "SELECT * FROM EXT_CUST"); /* → EXT_CUSTは接続先2(読み) */
TalonDbUtil.update(c2, "UPDATE EXT_LOG SET SEND_FLG = '1'"); /* → EXT_LOGも接続先2(書き) */
var c1 = TALON.getTalonDbConfig(); /* ここから主DBへ戻る */
var rows1 = TalonDbUtil.select(c1, "SELECT * FROM TLN_M_USER"); /* → TLN_M_USERは主DB */
| 書き方 | 結果 |
|---|---|
TALON.getOtherDBConn('2') / ("2") / (2)
|
以降の参照を接続先2に帰属(半角数字の直書きのみ認識) |
TALON.getTalonDbConfig() |
以降の参照を主DBに戻す |
TALON.getDbConfig() |
以降の参照を既定の接続先に戻す |
TalonDbUtil.select(TALON.getOtherDBConn('2'), sql) |
接続の取得をSQL実行の引数の中に直接書いた場合は、同じ引数リストで渡したSQL(変数に入れたSQLも)をその接続先に帰属させます |
TALON.getOtherDBConn(dbNo) |
✗ 変数・式では認識できず、その位置では切り替わりません |
TalonDbUtil.select(c1, …)とTalonDbUtil.select(c2, …)のように引数だけで切り替える書き方をすると、それらはすべて最後に取得した接続先に帰属してしまいます。次のいずれかで回避してください。①接続を使う直前でその接続を取得する順に書く(区間が正しく分かれます) ②接続の取得をSQL実行の引数の中に直接書く(上表) ③機能説明タブの備考に備考タグ([R:EXT_CUST@2]など)を書いて正しい帰属を宣言する。この制限はユーザーマニュアルの11章の「制限事項」にも記載しています。#8 宿題一覧の突き合わせ
登録済みの全EDM(.a5er)から属性のドメイン欄のドメイン名+DomainInfo定義名を取り出し、#1と同じ2段階で解決した結果が状態欄になります(修飾別名は参加しません)。
| 状態 | 意味 |
|---|---|
| 未登録 | EDMに出てくるが辞書に無いデータドメイン(出典EDM名・プロジェクト付き) |
| EDM配置済 | 辞書にあり、いずれかのEDMの属性から参照されている |
| EDM未配置 | 辞書にあるが、どのEDMからも参照されていない(Domains.html(業務データ辞書索引)の「孤立ドメイン」警告と同義) |
| (空欄) | 読み取れるEDMが1件も無い(判定不能)、または種別が「その他(警告対象外)」 |
出典EDM名は;連結・名前昇順(合計1000文字を超えると末尾を…で省略)。未登録のデータドメインは300件で打ち切ります。
更新のタイミング(Ver0.53〜): 2段構えです。EDMの中身のカタログ(どのEDMのどの属性にどのドメイン名が書かれているか)はEDMメンテナンスの確定時とセットアップ実行時に作り直し、辞書との突き合わせは宿題一覧を検索するたびにカタログと辞書テーブルから求めます。そのため辞書を画面以外の方法(データベースへの直接更新など)で書き換えても、次に宿題一覧を開いた時点で必ず最新になります。
記入例(状態欄がどう決まるか):
| EDM側 | 辞書側 | 宿題一覧の状態 |
|---|---|---|
EDM「販売管理」の属性「安全在庫数」のドメイン欄に安全在庫数量
|
「安全在庫数量」が未登録 |
未登録(出典販売管理付き。そのまま辞書に登録すれば消えます) |
いずれかのEDMのドメイン欄に顧客納期
|
「顧客納期」を登録済み | EDM配置済 |
| どのEDMのドメイン欄にも出てこない | 「社内管理番号」を登録済み | EDM未配置 |
| (EDMを1件も登録していない) | 何を登録しても | (空欄。判定不能) |
ドメイン欄に更新日時
|
種別=「その他(警告対象外)」 | (空欄。警告対象から外れます) |
#9 辞書本文からの辞書内リンク([[ドメイン名]])
業務データ辞書の意味4欄(業務的定義/ビジネスルール/導出ルール/暗黙知・運用慣習)の本文に[[名前]]と書くと、Domains.html(業務データ辞書索引)上でそのデータドメインのカードへ飛ぶページ内リンクになります。解決は#1と同じ2段階(データドメイン名→物理属性名)で、物理属性名で書いてもそのデータドメインのカードにリンクします。解決できない名前はリンクにならずグレーで表示され、「まだ書いていないデータドメインへの参照」が目で分かります。
- 有効なのは上記4欄だけです(備考欄などに書いてもただの文字になります)
- 機能設計書のデータドメインタブの1行要約では、括弧が外れた素の文字で表示されます
-
meta/Domains.md(業務データ辞書索引のMarkdown版)には[[ ]]を書いたまま出力します(AIがデータドメイン同士の関係をたどれるように)
記入例(「回答納期」の意味4欄に書く):
| 欄 | 記入内容 | 結果 |
|---|---|---|
| 業務的定義 | 算定基準は[[顧客納期]]と同じ。 営業が客先へ回答した日付を指す。 |
「顧客納期」のカードへのページ内リンクになります |
| 導出ルール | [[初回回答納期]]から起算して3営業日以内に確定する。 |
「初回回答納期」が別のデータドメインの物理属性名でも、その親のデータドメインのカードへリンクします |
| ビジネスルール | [[出荷可能日]]を超える回答は不可。 |
「出荷可能日」がまだ辞書に無ければリンクにならずグレー文字で表示されます(未記入のデータドメインが目で分かります) |
| 備考 | [[顧客納期]]も参照 |
✗ 意味4欄以外に書いてもリンクにはならず、そのままの文字として表示されます |
#10 機能 → 機能(呼び出し関係と被呼び出し)
TALONの機能設定に書かれた呼出先の機能IDを完全一致で解決し、呼出先の機能名と呼出元の項目を併記します。対象は 他画面呼出(BUTTON_NEXT) / 他機能呼出(OTHER_FUNC) / 検索子画面(SUB_SEARCH・SEARCH_FUNC_ID) / LOOKUP / SUGGEST / 選択肢リスト / 処理呼出(BUTTON_BAT) / グラフ参照 / 他ブロック機能 / マスタチェック です。
被呼び出し(逆引き)も表示します。逆引きは環境内の全機能を対象にするため、今回の出力対象に選んでいない機能からの呼び出しも見つかります。呼出先が出力対象外なら名前だけの表示になります。
記入例:
| 設定箇所 | 記入内容 | 結果 |
|---|---|---|
ブロック設定>他画面呼出(BUTTON_NEXT)の機能ID |
M_CUSTOMER_MAINTE |
呼出先として記録され、同じZIPに含めていれば設計書へリンクします |
項目設定>検索子画面(SEARCH_FUNC_ID) |
M_CUSTOMER_SEARCH |
呼出元の項目(表示名つき)と一緒に記録されます |
項目設定>項目入力補助(LOOK_UP_FUNC_ID) |
M_ITEM_LOOKUP |
同上 |
| (呼出先の機能側では設定不要) | — |
M_CUSTOMER_MAINTEの設計書には「この機能を呼んでいる機能」として呼出元が自動で載ります |
#11 機能 → メニュー階層(FunctionTree)
FunctionTree.html(機能依存ツリー)の階層は業務分類ではなくメニュー登録から作ります。メニューの階層パスを//で区切って最大2段のグループにし、表示名はメニューグループ名→権限マスタの名称の順に解決します。メニューに登録されていない機能は「メニュー未登録機能」にまとめられます。各機能の下には#10の呼び出し関係が種別ごとに展開されます(最大20段、循環は検出して停止)。なおmeta/FunctionTree.md(機能依存ツリーのMarkdown版)だけは業務分類(大→中→小)の入れ子で出力し、HTML版とは階層の作り方が異なります。
記入例:
| メニュー登録の階層パス | FunctionTree.html(機能依存ツリー)での表示 |
|---|---|
販売管理//受注 |
「販売管理」>「受注」の2段グループの下にこの機能が並びます |
販売管理//受注//日次 |
3段目以降は使われません(最大2段まで) |
販売管理 |
「販売管理」の1段グループ |
| (メニューに未登録) | 「メニュー未登録機能」グループにまとめられます |
#12 機能 → 業務分類 / #13 テーブル → 業務分類
機能のBG_L/BG_M/BG_Sのコードを、TALON汎用コードTLN_GENERAL_BG_L/_BG_M/_BG_SのKEY_CODEと突き合わせ、DSP1を分類名として表示します。汎用コードに無いコードはコードのまま素通しです。FunctionList.html(機能一覧)は「大|中|小」の組合せごとのフラットなセクションで、並びは各段のコード昇順(未設定は末尾)。
記入例(#12):
| 機能設定 | 汎用コードの登録 | 表示 |
|---|---|---|
BG_L = 10 |
TLN_GENERAL_BG_LのKEY_CODE10/DSP1販売管理
|
販売管理 (10) |
BG_M = 1010 |
TLN_GENERAL_BG_MのKEY_CODE1010/DSP1受注
|
受注 (1010) |
BG_S = 99 |
(汎用コードに登録なし) |
99(コードのまま素通し。エラーにはなりません) |
BG_S空欄 |
— |
(未設定)/(未分類)(成果物により表記が異なります) |
物理テーブルには業務分類の設定欄がないため、そのテーブルを書き込む機能の業務分類のうち最も多いものを割り当てます(マスタは「メンテナンスする側」に属させる方針)。書き込む機能が無ければ読む機能の最頻値、どちらも無ければ「未分類」です。er-diagram.html(物理データベース)の並び・グループ見出しとDomainMatrix.html(マトリクス)の行/列の並びに使われます(テーブル分類タグとは別物です)。
記入例(#13):
| テーブル | そのテーブルを扱う機能 | 割り当てられる業務分類 |
|---|---|---|
M_CUSTOMER |
書き=マスタ管理2機能/販売管理1機能、読み=販売管理5機能 | マスタ管理(書く機能の最頻値) |
T_ORDER_H |
書き=販売管理3機能 | 販売管理 |
V_SALES_SUM(参照専用) |
書き=なし、読み=販売管理2機能 | 販売管理(書く機能が無いので読む機能の最頻値) |
EXT_TEMP |
出力対象の機能からは読み書きされない | 未分類 |
#14 検索条件の集約
TALONは複数のブロックにまたがる検索条件を実行時に1つの入力欄にまとめます。設計書もこれに合わせて集約します。集約の根拠は同じ物理項目名(別ブロックでも1つに)とJOIN設定で対にされた項目の2つ。グループの代表項目はブロック番号が最も小さく、その中で表示順が最も早い項目で、設計書にはこの代表の表示名が載ります。検索子画面(SUB)で検索条件の指定が1つも無い機能では、キー項目を検索条件とみなします。
記入例:
| 機能設定 | 設計書の「検索条件」 |
|---|---|
ブロック1の検索条件「顧客コード」(COL_NAME=CUST_CD)とブロック2の検索条件「得意先コード」(COL_NAME=CUST_CD) |
1条件に集約され、代表項目=ブロック番号の小さいブロック1の「顧客コード」で記載されます |
ブロック1のORDER_NOとブロック2のJYUCHU_NOをJOIN設定(同じOPT_SORT)で対にした |
物理項目名が違っても1条件に集約されます |
| ブロック2の検索条件「顧客コード」だけ(ブロック1には無い) | 集約は起きず、そのまま1条件として記載されます |
#15 プロジェクトによる絞り込み
プロジェクト欄には汎用コードTLN_FUNC_DOC_PROJECTのKEY_CODEが入り、複数所属はチェックボックスの区切り文字(汎用コードTLN_GENERAL/CHECKBOX_SEP、既定;)で連結されます(例PJ01;PJ02)。空欄=共通で常に出力。選択と行の値は大文字小文字を区別して照合します(前後の空白は除去)。物理属性にはプロジェクト欄が無く、親のデータドメインが絞り込みで外れると物理属性も照合・サジェスト・警告のすべてから外れます。選択したプロジェクトはindex.html(ハブ)とmeta/INDEX.md(AI向けMarkdownの目次)に記録されます。
記入例(辞書/EDMのプロジェクト欄の値と、出力時の選択):
| 行のプロジェクト欄 | 出力時の選択 | 出力に載るか |
|---|---|---|
PJA |
PJA |
載る |
PJA;PJB(複数選択。区切りはCHECKBOX_SEPのDSP1、既定;) |
PJB |
載る(どちらか一致すればOK) |
PJA |
PJB |
載らない |
| (空欄) |
PJAでもPJBでも |
常に載る(空欄=共通) |
| 何であれ | (未選択) | 全件載る(絞り込みなし) |
pja |
PJA |
載らない(大文字小文字を区別します) |
入力中の絞り込み(EDM属性のサジェスト) — 業務データ辞書メンテナンスのEDM属性欄に出る候補も、開いているデータドメインのプロジェクトで絞られます。候補になるのはそのプロジェクトに属するEDMとプロジェクト欄が空(共通)のEDMの属性だけで、別プロジェクト専用のEDMの属性は出ません。複数のプロジェクトに所属するデータドメインでは、それぞれのプロジェクトのEDMの属性が和集合で候補になります。データドメインのプロジェクト欄が空のときは絞り込まず、登録済みの全EDMの属性が候補になります(従来どおり)。同じ属性名が複数のEDM・複数のエンティティに現れても候補は1件だけです。
補足: コード → 表示名の解決(共通ルール)
業務分類(TLN_GENERAL_BG_*)/責任部門(TLN_FUNC_DOC_DEPT)/辞書種別(TLN_FUNC_DOC_DOMAIN_KIND)/プロジェクト(TLN_FUNC_DOC_PROJECT)は、いずれも汎用コードのDSP1を表示名として使い、汎用コードに無いコードはコードのまま素通しします。英語出力でDSP2を見るのは辞書種別だけで、他は英語の設計書でもDSP1の値がそのまま出ます(英語名で出したい場合はDSP1自体を英語で登録してください)。
照合除外の登録画面
作成日時・更新者のようなシステム列は意味の照合対象にしたくないことが多いので、照合除外に登録します。除外しても設計書のER図やテーブル定義からは消えません。「意味の照合の宇宙から外す」だけです。
- 照合除外登録 — 機能を検索するとその機能群が参照するテーブル・列が一覧になり、チェックして「除外登録」で一括登録できます
-
照合除外メンテナンス — 登録済みの除外を一覧で編集します。接続先・テーブル・列それぞれに
ALL(串刺し)が使えます。行の追加・削除・コメントの編集とALL行の編集はこちらで行い、禁止の組合せ(テーブルと項目の両方がALL)・接続先の形式・重複は確定時に検証されます
登録画面の中身 — 設計書出力と同じ発想で、検索条件に一致するTALON機能を抽出し、その機能群が実際に参照しているテーブル・列だけを一覧します(DBやSaaSのカタログを全走査はしません)。数千テーブルある接続先でも業務で使っているテーブルだけが対象になり、これは照合が効く母集団そのものでもあります。
| 検索条件 | 入力方法 |
|---|---|
| 機能の検索条件 | 設計書出力と同じ項目(機能ID(IN)/機能ID(LIKE)/機能名/アプリケーション区分/業務分類/機能概要)。一致方法だけ差があり、機能ID(LIKE)は%を自分で指定するLIKE、機能名・機能概要は%不要の部分一致です |
| 接続先 |
チェックボックス(複数可)。選択肢は汎用コードTLN_FUNC_DOC_DB_NOから表示されます。未チェック=絞り込みなし |
| 物理テーブル名/物理項目名 | 部分一致(LIKE)。小文字で入力しても自動的に大文字へ変換されます |
| 論理テーブル名/論理項目名 | 部分一致(LIKE)。DBコメント由来の論理名(日本語)で絞り込めます |
- 機能の検索条件を1つも指定しない検索は実行されません(全機能の走査に時間がかかるため)。絞り込みを促すメッセージが出て一覧は空のままになるので、機能ID・機能名・アプリケーション区分・業務分類・機能概要のいずれかで対象を絞ってから検索してください
- テーブル別タブ — テーブル×列の一覧です。そのテーブルを参照している機能の数(参照機能数)も出ます。チェックON→「除外登録」で登録、チェックを外して「除外登録」で解除です
-
列名別タブ — 列名の一覧(出現テーブル数つき)。チェック1つで串刺し(
ALL)登録ができます。更新日時系のシステム列はここから登録すると効率的です -
一覧は除外中の行が上に並びます。「除外中」+チェック済みはこの画面で登録した完全一致の除外(解除できます)、「除外中(パターン)」+非活性は
ALLパターンに覆われている行で、解除はメンテナンス画面で行います - 一覧の物理テーブル名・物理項目名は大文字に統一して表示されます(実名が小文字のDBでも、除外の登録・照合は大文字で統一しているためです)。DBの照合順序が半角/全角や大文字小文字を同一視する設定のときは、DBが同じ名前とみなす列が1行に集約されます
- 機能が参照していてもDBに実在しないテーブル(列のメタデータが取れないもの)は一覧に出ません。テーブル丸ごとの除外はメンテナンス画面で登録してください
- 取得の上限は機能500件/テーブル300件(全接続先の合計)/表示5,000行です。超えると警告が出るので、機能の検索条件で絞り込んでください
ALL(列名別タブの串刺し/メンテナンス画面のテーブル丸ごと・全接続先)でさらに一括除外できます。「接続先を絞って検索 → 列名別タブでシステム列を串刺し除外 → 残りをテーブル別タブで個別除外」の順が効率的です。成果物・画面別: どの照合結果がどこに出るか
| 成果物/画面 | 表出する照合結果 |
|---|---|
| FuncDoc_*.html(機能設計書本体) | 画面項目→辞書(#3)、機能→テーブル(#7、出典付き)、機能→機能(#10)、業務分類(#12)、検索条件の集約(#14) |
| FunctionList.html(機能一覧) | 業務分類(#12)の組合せごとのセクション |
| FunctionTree.html(機能依存ツリー) | メニュー階層(#11)と機能→機能(#10)の再帰展開 |
| er-diagram.html(物理データベース) | 物理列→辞書(#2)の3値: 一致=リンク/照合除外=バッジ/未登録=⚠(論理名併記)。EDM属性宣言(#4)、テーブル分類タグ(#2)、テーブルの業務分類(#13)による並び、接続先ごとのグループ(#7-2) |
| er-diagram.a5er / er-diagram.sql(ER図のA5:SQL Mk-2ファイル/DDL) | 機能→テーブル(#7)の和集合を接続先ごとに出力(外部接続分はer-diagram_ACCESS_DB{N}.a5er/.sql) |
| Domains.html(業務データ辞書索引) | 使用箇所(#3の逆引き)・物理列マッチ(#2)・EDM出現(#1の逆引き)・辞書内リンク(#9)・警告群(名称重複/物理属性重複/曖昧一致/孤立/未登録+候補サジェスト)とℹ(修飾別名の解決/除外の適用数) |
| EDM.html(業務概念モデル) | 属性→辞書(#1)、エンティティ→物理テーブル/機能(#5、実在確認)、エンティティ統合(#6)、実装列(#4の逆引き)、迷子宣言警告、宣言先が別のデータドメインの警告 |
| DomainMatrix.html(マトリクス) | EDM×辞書(#1)/辞書×機能(#3)/辞書×物理(#2)/機能×物理(#7)の集計。行/列の並びは業務分類(#12/#13) |
| index.html(ハブ) | 出力時に選択したプロジェクト(#15)の記録 |
| 宿題一覧(製品画面) | EDMとの突き合わせ(#8)と意味4欄の済/未 |
| meta/*.md(AI向けMarkdown) | 同内容を機械可読で出力。meta/Domains.md(業務データ辞書索引のMarkdown版)は[[ ]]を書いたまま残し(#9)、meta/FunctionTree.md(機能依存ツリーのMarkdown版)は業務分類の入れ子です(#11)。meta/INDEX.md(AI向けMarkdownの目次)には選択したプロジェクト(#15)が記録されます |
ER図ダウンロードファイル(.a5er/.sql)の出力仕様
er-diagram.a5erは、A5:SQL Mk-2でそのまま開けるネイティブ形式で出力されます。
- 用紙サイズの自動選択 — テーブル配置の広がりに応じて、A4横→A3横→A2横→A1横のうち収まる最小の用紙が自動で選ばれます(テーブル数が多いER図でも用紙の外へはみ出しません)
-
索引(インデックス)の出力 — 実DBから取得した索引(主キー以外)がテーブル定義に含まれ、A5:SQL Mk-2上で確認できます。
er-diagram.html(物理データベース)の各テーブル詳細にも「索引」一覧がUNIQUE表示付きで併記されます(対応DBはOracle/PostgreSQL/MySQL/SQL Server。取得できなかった場合は索引なしとして続行します)。ユニーク制約に基づく索引は通常のUNIQUE索引と区別して表示され(「UNIQUE制約」バッジ)、DDL(.sql)ではALTER TABLE ADD CONSTRAINTとして出力されます(DDLの実行時に制約として復元されます) - 論理名と補足の分割 — DBのテーブル/列コメントが「論理名{区切り}補足説明」の形式(TALONがテーブル作成時に付ける形式)の場合、A5:SQL Mk-2の論理名には区切りより前の論理名だけが設定され、補足説明はコメントとして出力されます(論理名が長大になるのを防ぎます)
接続先ごとにファイルが分かれる規則は#7-2を参照してください。
警告リファレンス(整合性・ガバナンス警告)
業務データ辞書とEDMは「名前で意味へ遡る」仕組みのため、名前の重複・未設定・実装とのズレを警告として表出します。警告は誤りの断定ではなく「腐敗が隠れられないようにする照明」です — 保存や出力が止まることはありません。ここでは、どこにどんな警告が出るか、どう読むか、どう対処するかをまとめます。
警告の全体像(どこに出るか)
| 場所 | タイミング | 出る警告 |
|---|---|---|
| 業務データ辞書記入/業務データ辞書メンテナンス | 確定(保存)時 | データドメイン名称の同名(✗エラー — 確定できません)/データドメイン名称が他のデータドメインの物理属性名と同じ(⚠警告)/物理属性のドメイン間重複(⚠警告)/別プロジェクトとの同名・同名の物理属性(ℹ参考情報) |
| 機能設計書のデータドメインタブ | 出力時 | 複数ドメイン一致のサマリと項目マーク(⚠) |
業務データ辞書索引(Domains.html) |
出力時 | 同名のデータドメインが複数プロジェクトに存在/物理属性のドメイン間重複/複数ドメイン一致の画面項目/孤立ドメイン/未登録項目(候補サジェスト付き)/修飾別名による解決(ℹ参考)/照合除外(ℹ参考) |
EDMページ(EDM.html) |
出力時 | 辞書に無いドメイン名/データドメイン未設定/物理テーブル未設定・DB未検出/同名異義の属性/宣言先が別のデータドメイン |
物理データベース(er-diagram.html) |
出力時 | データドメイン未登録の物理列/データドメイン不整合(1列が複数のデータドメインに一致)/スキーマ整合性チェック(更新対象テーブルの主キー未検出)。いずれもページ下部にまとめて表示 |
meta/*.md(AI向けMarkdown) |
出力時 | 上記の警告を同じ内容で機械可読に出力(AIにも曖昧さ・ズレを伝えます) |
登録時の警告 — データドメイン名称の同名(✗エラー)・データドメイン名称が他のデータドメインの物理属性名と同じ(⚠警告)・物理属性のドメイン間重複(⚠警告)・別プロジェクトとの同名や同名の物理属性(ℹ参考情報)の4つは、判定条件と対処をユーザーマニュアルの4章とユーザーマニュアルの5章に書いています。名称の同名だけが確定を止め、あとの3つは保存したうえでの注意喚起です(意図的な移行中などの判断は利用者に委ねる設計です)。
「データドメイン名称が他のデータドメインの物理属性名と同じ」は、#1の2段階の名前解決と直結する警告です。名前解決は①データドメイン名称と完全一致→②物理属性名と照合の順に見るため、新しく登録する名称が既存のデータドメインの物理属性名と同じだと、これまで②でそのデータドメインに解決されていた名前を①が先に横取りします(その名前で引かれていた画面項目・EDM属性の行き先が、保存した瞬間から新しいデータドメインへ移ります)。メッセージには相手のデータドメイン(名称・コード・プロジェクト)と一致した物理属性名が出るので、①相手のデータドメインを開いて書き足す、②名称をより具体的にする、のどちらかを検討してください。別の概念であればそのまま登録して構いません(この警告は確定を止めません)。プロジェクトが重ならない相手は同じ出力に同居せず名前解決に影響しないため、ℹ参考情報に格下げされます。業務データ辞書記入・業務データ辞書メンテナンスのどちらで確定しても同じ判定が働きます。
出力時① 機能設計書のデータドメインタブ(⚠複数ドメイン一致) — 同じ名前が複数のデータドメインに登録されたまま出力すると、影響を受けた機能のデータドメインタブにサマリバナーと、該当項目への⚠マークが表示されます。⚠の数字は「この項目が一致した他のデータドメインの数」で、マウスオーバーで候補の名前が表示されます。同じ項目が複数のデータドメインのカードの下に並ぶため、「どちらの意味なのか」を読み手が判断できない状態であることが分かります。
出力時② 業務データ辞書索引の辞書整合性警告 — Domains.htmlの上部には辞書整合性警告がまとまっています。名前レベル(どの物理属性が重複しているか)と影響箇所レベル(その結果どの機能のどの項目が曖昧になっているか)の両方が出ます。「複数ドメイン一致の画面項目」は、登録時の警告を承知で保存した重複が実際にどこへ影響しているかを示します。機能名/ブロック/項目のリンクから該当箇所へ、候補のデータドメイン名のリンクから各カードへ遷移できます。根本の対処は重複の解消です。項目名が汎用的すぎることが原因の場合は、TALON設定側の表示名を具体化することも検討してください。
「同名のデータドメインが複数プロジェクトに存在」は、プロジェクトが重ならない同名(登録時に警告付きで作れるもの)が、複数のプロジェクトを同時に選んだ出力・プロジェクトで絞らない出力で同居したときに出ます。名前解決はデータドメインコード昇順の先頭1件だけを採用するため、どちらが採用されどちらが無視されたかを、それぞれのプロジェクト名とともに一覧します。出力時にプロジェクトで絞り込めば同居しません(絞り込んだ出力ではこの警告は出ません)。絞り込まずに1つの出力へまとめたい場合は、どちらかの名前を具体化してください。
出力時③ EDMのガバナンス警告 — EDM.htmlのガバナンス警告には、.a5erと辞書・実DBの突き合わせ結果が上の表のカテゴリ別に表示されます。レジストリと同じく上のタブで選択中のEDMの警告だけが表示され、カテゴリごとの件数は選択中のEDMでの件数、全体の件数は見出しに「このEDM: N / 全体: M」で並びます(複数のEDMにまたがる警告は該当するタブすべてに現れ、警告が1件もないタブにはその旨を表示します)。「同名異義の属性(注意)」は、2つ以上のエンティティで同じ属性名が異なるデータドメインに割り当てられている場合に表示されます。誤りとは限りませんが(エンティティごとに意味が違う正当な設計もあります)、読み手の誤読を防ぐには「顧客納期(予定)」「顧客納期(実績)」のような括弧修飾での区別が有効です。「宣言先が別のデータドメイン」は#4を参照してください。
出力時④ 物理データベースのデータドメイン欄と未登録警告 — er-diagram.htmlの各テーブルの列一覧にある「データドメイン」欄は、3つの状態で表示されます。
- 辞書に一致した列 — 業務データ辞書索引の該当カードへのリンクになります(複数のデータドメインに一致した場合は⚠が付き、「データドメイン不整合」警告に計上されます)
- 照合除外に登録済みの列 — 「照合除外」バッジが表示されます(マウスオーバーで適用された除外のパターン=接続先/テーブル/列を確認できます)
- どちらでもない列 — 「⚠未登録」バッジが表示されます
未登録の列は、ページ下部の「データドメイン未登録の物理列(N)」に論理名(テーブル/項目)付きで一覧され、クリックで該当列の行へジャンプできます。この一覧が警告を消し込む起点になります — 業務項目なら辞書に登録(または既存のデータドメインへ物理属性を追加)、作成/更新日時などのシステム列なら照合除外に登録すると警告が消えます。「データドメイン不整合」「スキーマ整合性チェック」の警告も、同じくページ下部にまとめて表示されます。
警告との付き合い方(推奨サイクル)
- 出力のたびに件数を見ます — 前回より増えていたら、何かの名前・構造が変わったサインです(ズレの検出)
- 未登録項目は「次に意味を書くべきものリスト」 — 候補サジェスト(似たデータドメインの提示)を手がかりに、辞書への登録または既存のデータドメインへの物理属性の追加で消し込みます
- 技術項目は辞書種別「その他(警告対象外)」へ — 排他制御用の列などは警告のノイズを抑える登録にします
- 警告ゼロ=辞書と動いている実装が一致した状態 — この状態を維持することが、設計書とAIに渡すコンテキストの信頼性を支えます
2テーブル構成 (ER 図と項目説明)
セットアップの「処理実行」が作成するテーブルは7つです。バックアップ対象の把握や、他システムからの参照(読み取り)にお使いください。ワークテーブル3つは製品が自動管理するため、直接編集する必要はありません。
TLN_M_FUNC_DOMAIN — 業務データ辞書(データドメイン)
| 列 | 内容 |
|---|---|
DOMAIN_CD (PK) |
データドメインのコード。画面からの登録では自動採番されます(D+12桁) |
PROJECT_ID |
所属プロジェクト(セミコロン区切りで複数可)。空=共通で常に出力対象 |
MAIN_NM |
データドメインの主名称。EDM属性や画面項目との照合キーのひとつ |
DOMAIN_KIND |
辞書種別(識別子/カテゴリ/数量/金額/日付/テキストなど。汎用コードで管理) |
BIZ_DEFN / BIZ_RULE / DERIVE_RULE / TACIT_KNOWLEDGE
|
意味の4欄(業務的定義/ビジネスルール/導出ルール/暗黙知)。長文型で全角約5万字まで |
RESP_DEPT |
責任部門(部門コード。表示名は汎用コードTLN_FUNC_DOC_DEPTで解決) |
HANDOVER_NOTE |
ITへの申し送り(現場が記入し、ITが対応後に消し込む) |
| 作成/更新情報ほか |
CREATED_* / UPDATED_* / MODIFY_COUNT(排他制御) |
TLN_M_FUNC_DOMAIN_ATTR — 物理属性名
| 列 | 内容 |
|---|---|
DOMAIN_CD + SEQ_NO (PK) |
親のデータドメインコードと明細番号。親を削除すると明細も削除されます |
ATTR_NM |
物理属性名。画面項目の表示名・物理名、列名と照合されます。テーブル名.項目名と書くと修飾別名(そのテーブルの項目に限定) |
EDM_ATTR |
EDM属性の宣言(属性名またはエンティティ名.属性名、カンマ区切り複数可)。空=名前一致による推定のみ |
NOTE |
備考。設計書の辞書カードにも表示されます |
TLN_M_FUNC_EDM — EDMの登録台帳
| 列 | 内容 |
|---|---|
EDM_CD (PK) |
EDMコード(自動採番。E+12桁) |
PROJECT_ID |
所属プロジェクト(空=共通) |
EDM_NM / SORT_NO
|
表示名と設計書での表示順 |
SRC_FILE |
.a5erファイルの格納ポインタ。実体はTALONのファイル置き場(THUMBNAIL_UPLOAD_PATH)にあります |
NOTE |
備考(設計書のEDMページに表示) |
TLN_M_FUNC_DOMAIN_EXCL — 照合除外の宣言
| 列 | 内容 |
|---|---|
DB_NO + TBL_NM + COL_NM (PK) |
接続先(0=主DB/番号/ALL)×テーブル(実名/ALL)×列(実名/ALL)。この組合せを意味の照合から外します |
LOGICAL_TBL_NM / LOGICAL_COL_NM
|
登録時の論理名スナップショット(表示用) |
NOTE |
除外理由のメモ |
ワークテーブル(自動管理)
| テーブル | 内容 |
|---|---|
TLN_M_FUNC_EDM_ATTR_WK |
登録済みEDM(.a5er)の中身のカタログ(エンティティ×属性×ドメイン欄のドメイン名)。EDMメンテナンスの確定時とセットアップ実行時に自動で洗い替えられます。業務データ辞書メンテナンスのEDM属性欄に出る候補(サジェスト)もここから取ります |
TLN_M_FUNC_DOMAIN_TASKS_WK |
宿題一覧のEDM突合結果(未登録のデータドメイン/EDM出典)。上のカタログと辞書テーブルを突き合わせて、宿題一覧の検索のたびに洗い替えられます |
TLN_M_FUNC_EXCL_PICK_WK |
照合除外登録のカタログ(機能が使うテーブル・列の一覧)。この画面の検索時に洗い替えられます |