2011-10-26 13 views
0

私はxmlドキュメントのコレクションを持っています。これらのドキュメントのメタデータとデータをMySQLデータベースに格納する必要があります。私は3つのテーブルを作成してdbに情報を格納しています。データベースの正規化(1対多)

1-文書(DOCID(PK)、DOCNAME、プレーンテキスト、日付、作成者)
2-素子(ELEMENTID(PK)、DOCID(FK)がelementName、elementValue)
3-属性(attributeId(PK )、elementId(fk)、attributeName、attributeValue)

これは本質的に何を意味するのですか。多くのXML文書があります。各xmlドキュメントには多くの要素があり、各要素には多くの属性があります。この段階を正しく行っていないかどうかはわかりません。私はデータベースの正規化を意味します..これらのテーブルは3番目の正規形ですか?

+1

には関数従属性が非常に短い:3つの簡単なルールは、短期ではありますが、答え:はい – knittl

+1

何かについて考える:データベーススキーマはネストされたXML要素をどのように扱うのですか?または、ドキュメントにネストされた要素がないと確信していますか? –

+0

@ Jan-Henk:うーん...良い点..私はそれを考えなかった。私は入れ子になった要素を持っていると、これはなぜ、私は属性テーブルの外部キーの値として、Elementsテーブルから最後のelementId値を取得していると説明しています..そして、私は何かが私のdbの設計で間違っていると思っていた..:D ... thanksこれを指摘するために..任意の提案?? – user1014923

答えて

0

はい、これらの表は3NFに従って正規化されています。

  • 要素
  • のない繰り返しエレメントまたはグループの連結キー
  • 上の部分的な依存関係の非キー属性
関連する問題