「データベース設計論」を読む(2)

さりげなく導入された"MO"

「データベース設計論」P-103を見ると、"R"(=resource),"E"(=event), "VE" 以外の器の型(?)として、"MO" というのができたことがわかる。
一見VEのようだが、VE は entityの中の不純なアトリビュートを排除することを目的とするのに対し、MO は entity の中の多値を分解することを目的とする。
多値を放置したentityは「周延していない」から分解しなくてはならない、とのこと。
また周延か...
この概念がどうにもピンとこない。だから、P-103の「非正規形」が、なぜ非正規と見なされるのかも分からない。
全ての商品に正価格・割引価格があるなら、単価-1,単価-2を「正価格」「割引価格」としておけば問題ないと思うが...?


器の種類について改めて整理すると、entity は定義上 resource と event にきっちり分かれるが、entityではない器=identifierのない器というのも何種類かある。覚えているのは以下の3つ:

Virtual Entity(VE)
identifierが付与されていないが、entityであると「みなす」器。みなしentity。
Multi-value OR(MO)
アトリビュートの多値をばらすための器。
Validation-Rule
2つの resource のあり得る組み合わせを定義する器。