2009年8月7日金曜日

【DBiD】7 データベース設計理論 (その5)


** 7.4 正規化を支持する2つの理由
- 正規化の目標と達成
- うまく表現する。直感的に理解しやすく、将来の
変更に耐える。
- 達成していると考えられている。
- 冗長性を削減する。
- 正規化はよい出発点ではあるが、課題はある。
- 正規化だけですべての冗長性を回避できるわ
けではなく、設計にはヒューリスティックな
部分がる。
- 冗長性の削減と従属性の維持は競合すること
がある。
- 従属性の維持の目標
- FDを制約の表現として重視して、FDが維
持されるような分解に限る立場。正規化
はFDやJDを分解して消失せしめ、多重関
係制約に移行するものであるから、そも
そも対立している。
- 冗長性の削減によって、更新不整合を回避する。
- 前項と同じである。
- 整合性制約の記述と適用が簡潔となるようにする。
- 5NFにもっていくことによって、少なからぬ制約
がキーの一意性に帰着され、別途制約を書く必
要が無くなる。ゆえに効果的と言える。
- 正規化の位置付け
- よい評価
- 上記の目標をある程度達成している。
- まず正規化することを目指すべきである。その
上で、それでできないことに対処すべきである。
- 注意点
- JD以外の制約は表現できない。
** 7.5 直交性
- 直交性の原理 (訳書は誤訳なので私家版)

AとBが同じデータベースの異なる関係変数であるとす
る。AとBからそれぞれA1,...,AmおよびB1,...,Bnへの
無損失分解が存在するとする。このとき、AiとBjに同
じタプルが存在してはならない。

- 直交性の位置付け
- 正規化は、ひとつの関係変数に着目して、その中
の冗長性を削減する。直交性は、複数の関係変数
に跨る冗長性を削減することによって、正規化を
補完する。
- 直交性は、正規化ではケアできない冗長性のケア
をすることがある。例えば、次の3つの関係変数が
あるとする。

関係変数: S
関係:
| SNO | SNAME | STATUS | CITY |
|-----+-------+--------+--------|
| S1 | Smith | 20 | London |
| S2 | Jones | 10 | Paris |
| S3 | Blake | 30 | Paris |
候補キー:{SNO}

関係変数: SX
関係:
| SNO | SNAME | STATUS |
|-----+-------+--------|
| S1 | Smith | 20 |
| S2 | Jones | 10 |
| S3 | Blake | 30 |
候補キー:{SNO}

関係変数: SY
関係:
| SNO | SNAME | CITY |
|-----+-------+--------|
| S1 | Smith | London |
| S2 | Jones | Paris |
| S3 | Blake | Paris |
候補キー:{SNO}

ここで、SからSX,SYへの分解は、

- SX,SYは5NFであり、
- 無損失分解であり、
- 従属性を維持しており、
- Sの復元にはSX,SYの双方が必要である。

すなわち、正規化の観点から言えば、文句のつけ
ようがない分解である。しかるに、SNO,SNAMEに
は冗長性がある。これを禁止するのが直交性の原
理である。
** 7.6 物理設計の注意点
- リレーショナルモデルは物理モデルについては言及
しない。
- 物理設計は論理設計に従うべきである。現状、逆に
なっていることが散見される。
- 次のような概念のマッピングを盲目的に使わないほ
うがよい。

| リレーショナルモデル | 物理ファイル |
|----------------------+--------------|
| 基底関係変数 | 物理ファイル |
| 属性 | フィールド |
| タプル | レコード |

このマッピングは物理モデルの一例である。
- また、この物理モデルはあまり良くない。特に、デー
タ独立性をほとんど実現していない点。
- DateとしてはTransRelational Modelを推している。
** 7.7 まとめ
- データベース設計における理論的な部分は、正規化
と直交性である。
- 論理的な設計プロセスは次のとおり。
- 関係変数述語を定義する。
- 前項から関係変数と制約を立案する。制約は、
FD、MVDまたはJDとなる。
- データベースはアプリケーションから独立すべきで
ある。
- データベースはそれ自体が現実の状況と意味をあ
らわすものである。そのことをしっかり作り込む
べきである。
- アプリケーションは、将来必要となる未知のもの
を含めて、そこから情報と意味を得て、自身の文
脈で解釈をして処理をする。それはいろいろあり
得るので、そこにデータベースを依存させるべき
ではない。
- 正規化と直交性を実施することは、リレーショナルモ
デルにおいて、必須ではない。すなわち、正規化が
完全になされていない、または直交性を維持してい
ない関係変数もリレーショナルモデルの範疇である。


やっと7章を完了。
本体で1章、付録で1章。トータルあと2章!

こつこつ。

0 件のコメント: