0

最初に私は ac# クラスを書きました。次に、「xsd.exe」ツールを使用してクラスのスキーマを作成しました。このスキーマをデータベースのスキーマ コレクションに投稿し、新しい xml 列を作成しました。

CREATE XML SCHEMA COLLECTION AppointmentSC AS 「フォーラムにスキーマを挿入することは不可能です」GO

ALTER TABLE アドレス ADD xmlAppointment XML(AppointmentSC); 行く

これで、クラスのオブジェクトをデータベースにシリアライズ/デシリアライズできます。次のステップでは、クラスの複数のオブジェクトをデータベースに保存したいと考えています。クラスのコレクションを作成できましたが、SQL のみで新しいオブジェクトを追加したいと考えています。自動インクリメントIDまたは主キーなどが必要だと思います。私のスキーマで一意の ID を作成しようとする試みはすべて絶望的でした。

Visual Studio 2008 と SQL Server 2008 を使用しています

よろしくライムント

4

1 に答える 1

-1

XML スキーマとデータベース スキーマを混同している可能性があります。どちらも同じ仕事をしていますが、まったく異なる無関係な世界で活動しています。データベースには主キーがあり、論理的にはデータベース スキーマにも主キーがあるはずです。マークアップには主キーがなく、メタデータとしての列挙しかないため、XML スキーマ言語で探している規則はありません。

スキーマを書き込もうとしている XML インスタンスにデータベースをエクスポートしようとしているようです。その場合は、マークアップがデータベース テーブルとはまったく異なる、無関係な機能を提供することを受け入れる必要があります。データベース構造では、列ラベルに関連付けられたメタデータ、他のテーブルからの継承などによって暗示されます。マークアップ構造のスキーマでは、データ/コンテンツのビットに記述的な構造を導出するメタデータを使用して明示的に記述されます。そのメタデータは、データを直接記述している場合と記述していない場合があります。

ここでの問題は技術的なものではありません。XML スキーマ言語で手動で記述し、それらのスキーマからインスタンス ドキュメントを生成する練習をするだけで、マークアップ スキーマとデータベース スキーマの違い、利点、および弱点を学ぶことができます。

于 2009-08-23T08:50:25.730 に答える