3

XMLスキーマをリレーショナルモデルに変換する方法を知っていますか? 必要な手順は何ですか? より正確には、XML スキーマだけを見て、テーブル名、列名、およびそれらのテーブルの関係がリレーショナル モデルでどのようになるかをどのように把握できますか?

チュートリアルのリンク、例がある場合は、私と共有してください。これについてご協力いただき、誠にありがとうございます。

ありがとう

4

4 に答える 4

5

両者は本質的に異なります。リレーショナル モデルはセットベースです。XML は階層的です。

1 つの方法は、タグ名をテーブルの名前にすることです。タグに複数の子と葉の孫がある場合。子タグ名が列になり、孫テキストが値になります。

子にリーフ以外の孫がいる場合は、これらを親テーブルと子テーブルの間の 1 対多の関係としてモデル化します。

「XML スキーマからリレーショナル スキーマへ」を Google で検索すると、次のような論文がいくつかあります。

  1. http://www.cobase.cs.ucla.edu/tech-docs/dongwon/ecaiot02.pdf
  2. http://msdn.microsoft.com/en-us/library/aa905914(SQL.80).aspx
  3. http://msdn.microsoft.com/en-us/library/bfdchewb(VS.71).aspx
于 2009-11-04T01:04:39.703 に答える
1

XML形式の例がなければ、答えを出すのは難しいでしょう。非常に単純なXML形式は変換が簡単ですが、より複雑な構造や階層は簡単ではなく、ある程度の考慮が必要です。そのため、ツールは実際には機能しません。

一般に、オブジェクトデータベース(OODBMS)とリレーショナルデータベース(RDBMS)の使用についても話し合います。オブジェクトデータベースの調査は順調かもしれませんが、リレーショナルデータベースを使用する必要がある場合(はるかに成熟している場合)、マッピング作業を自分で行う必要があります。

于 2009-11-04T01:40:00.903 に答える
1

これは.NETでは非常に簡単です。

データセットを作成します。

DataSet.ReadXML()を実行して、XMLファイルを読み込みます。

DataSet.Tables()のリストを循環し、テーブルごとに列を循環してフィールド名を取得します。

私はそれを行うためのテストアプリを持っていました...私はコードを見つけることができるかどうかを確認します。

PS-それを見つけることができませんでした..それで私はhttp://dot-dash-dot.com/files/wtfxml.zipでそれを書きました

WTFXMLSetup_1_6_0.msi ...Windowsボックスのインストーラー..。

于 2009-11-04T01:44:21.613 に答える
1

スキーマはどのくらい複雑ですか? スキーマによって定義された構造によっては、リレーショナル テーブルへの便利な変換がない場合があります。

データをどのように使用するつもりかは述べていませんが、一部のリレーショナル データベースは xml 型の列をサポートしています。たとえば、Microsoft SQL Server 2005 以降では、xml ドキュメントを xml 型の列に格納できます。クエリでは、xml データ型用に定義された組み込みメソッドを使用できます。

于 2009-11-04T01:27:49.877 に答える