2009-08-25 6 views
5

可能性の重複:
Why would I ever choose to store and manipulate XML in a relational database?いつXMLをリレーショナルデータベースに保存するのですか?

表面上のこの質問はすでに以前に、私はそれがないことをフロントアップ状態よ、求められているものの焼き直しのように見えるが。私の質問は、リレーショナルデータベースからXMLを格納または取得する方法ではありません。手元にある質問はそれよりもはるかに基本的です。

通常、データベースにはどのような種類のデータをXML形式で保存しますか?そうするための設計上の決定は何ですか?モデルの特定の部分をXML宣言に入れてデータベースの「リレーショナル」な側面を放棄したいのですか?環境設定ファイルや設定ファイルなどは、リレーショナルデータベースにXMLとして格納できますが、それを行う必要がありますか?

+4

の間には、以下のものがあります。http://stackoverflow.com/questions/184727/why-would-i-ever-choose-to-store-and-manipulate-xml-in-a-relational-database他 –

答えて

2

XMLをリレーショナルデータベースに格納した経験は、通常、歴史的な目的のために、または永続化戦略の一環として、このXMLを取得してオブジェクトに再水和するという前提のために、直列化オブジェクトを格納します。

0

データ自体にリレーションシップが必要ない場合は、xml blurbs(またはjsonなどの他の不透明データ)を格納する傾向があります。

2

XMLをデータベースに入れる唯一の理由は、プロジェクトでデータを操作、編集、または変更する必要がある場合です。単にXMLデータを読み込んで使用しているのであれば、それをファイルに投げてください。しかし、そのデータがアプリケーションで修正または追加されている場合は、そのためにDBを使用することをお勧めします。テーブルにはデータの構造が記述されるため、XMLはまったく必要ありません。

0

これらの条件をXMLデータをデータベースに格納するために使用します。

  1. 私はリレーショナルテーブルを開発する時間がありません(実際には、プロトタイプを起動して実行するためにこの方法を使い始めます)。

  2. データは、一般的には

かなりの努力なしに大とテーブルに侵入する構造が複雑にずっとある私は、データベース内のリレーショナルデータを保存したいが、私はすべて表すオブジェクトを持っている想像しますWebページをレンダリングするために必要なデータ(私はすべて、フォント、イメージをたくさん意味します)は、信じられないほど複雑になり、テーブル構造に格納することで、メンテナンスの問題を解決します。それは私にクエリの問題を引き起こすでしょう - 私がする必要があります数の結合と、それがかかるだろう時間を想像してください。

1

あなたのコードは次の方法でXMLデータを処理することもできます。

  1. のみ、例えば、ビジネス層にすべての処理を行い、それをデータベースに永続化Webサービスとの間のSOAPメッセージのキューまたは監査証跡。このためには、単純なテキスト列を使用します。
  2. これをデータベースに保存し、データベースレイヤーで臨時のクエリを実行します。ユーザーが検索できるXHTML文書。このためには、SQL Server 2005以上のデータ型xml、またはそれと同等のDBMSを使用します。
  3. データベース層での本格的な複雑なリレーショナルクエリ。単にXMLにシリアライズされ、現在適切な形式で格納されている必要があるリレーショナルデータの塊です。これは明らかに、デシリアライズされたデータ構造に一致するテーブルのセットに格納されます。
3

決して。

何らかの種類の認識可能な構造が存在するデータを、リレーショナルデータではなくXMLとして保存することは、そのデータを操作するリレーショナル代数の能力を放棄することを意味します。

これはあなたの意図ではありますが、正直なところ、正直なところ、リレーショナルDBMSを使用するのは面倒ではありません。XMLをローカル/擬似ローカルファイルにダンプするだけです。

(ファイルシステムに格納されているものはすべてデータベースを構成するので、そのソリューションは「データベースを使用していない」という意味ではありません。起動の意思)。

+0

ほとんどの場合、私は同意しますが、この質問に答えた他の人が指摘するように、リレーショナル・パワーが必要ないSQLデータベースにXMLを格納できる状況があります。この投稿にはさらに詳しい情報があります:http://nativexmldatabase.com/2010/09/28/5-reasons-for-storing-xml-in-a-database/ – Fabio

関連する問題