DBに含まれるテーブルを「マスターとトランザクション」、あるいは「リソースとイベント」に分ける管理方針は広く取り入れられている。加えて、それらの中間的な区分として「残高」を想定することで、モデルをより効果的に理解できるようになる。 ただし、「マスターかトランザクションか」や「リソースかイベントか」の区別も、「残高」の区別も、テーブル固有の属性ではない。あくまでも、「他のテーブルとの相対的な関係」において認識される「役割」のような概念である。 つまり、あるテーブルがたまたまイベントテーブルとみなされているとしても、別の文脈ではリソース的、あるいは在庫的なものとして扱われることもある。ある場面で「父親」である人物が、別の場面では「息子」になったり「叔父」になったりするのと同じ話だ。それをふまえたうえでの議論として理解してほしい。 さて、「残高テーブル」の大きな特徴は、多くの場合「正規化崩し」の
![在庫DBにおける「正規化崩しの報い」 - 設計者の発言](https://cdn-ak-scissors.b.st-hatena.com/image/square/c9b2c14e3ea18ceb8c9d3bbdd40cfff823fffc52/height=288;version=1;width=512/https%3A%2F%2Fwatanabek.cocolog-nifty.com%2F.shared-cocolog%2Fnifty_managed%2Fimages%2Fweb%2Fogp%2Fdefault.png)