数量データを扱っていると、意味の等しい2つの正規化に出会うことがあります。
たとえば、次のように。
A:[社員コード.給与支払年月]−(給与額)
B:[社員コード.給与支払年]−(1月給与額、2月給与額、・・・・、12月給与額)
Aは12件のレコードを並べると、Bと同じ情報量になります。もちろん、実装する際はこの2つはレコード件数や操作パフォーマンスが異なるため、別な設計結果として認識されます。しかし、概念データモデル上ではWhatだけに興味がありますから、この2つは意味的にほぼ等価になります。
Bのデータ項目名に含まれる「月という意味」が、AではKEY要素に表現されています。AとBの「意味の持ち方」が相対的であることを「Aはタテ持ち、Bはヨコ持ち」と言うことがあります。
同様のことが、一般会計と他業務の間でも発見できます。
C:[部署コード.勘定科目コード.年月]−(勘定科目別金額)
D:[部署コード.年月]−(労務費、外注費、経費、・・・・)
実世界の出来事は1つでも、データの型として写像した姿は2つです。CとDは別なエンティティとして認識されるのが自然だと思います。
























