- PR -

XMLの内容をDBに登録する時の限界

1
投稿者投稿内容
クーボー
会議室デビュー日: 2004/02/17
投稿数: 2
お住まい・勤務地: 東京都
投稿日時: 2004-02-19 11:28
はじめまして、XML初日の超初心者です。
Webクライアントから入力されたデータをDBに格納する時に、
XMLファイルで受け渡しをおこないたいのですが、
その手法でのデメリットはありますか?
漠然とした質問で申し訳ないのですが、ご教授お願いします。
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2004-02-19 12:28
以下のサイトが参考になるかも
第1回 〜ネイティブXMLデータベース編〜
第2回 〜RDBMS系XMLデータベース編〜
クーボー
会議室デビュー日: 2004/02/17
投稿数: 2
お住まい・勤務地: 東京都
投稿日時: 2004-02-19 20:49
返信ありがとうございます。
とてもタメになりました。

ただ、言葉足らずで申し訳なかったのですが、
使用するDBが既存のものなのでRDBです・・・。
RDBでは、データ←→XMLでのマッピングなどで、
限界はあるのでしょうか?
<例えば、
年月日データ等でフィールドの編集指定などは不要?
プレゼンテーションでの編集が必要?等>
相変わらず具体的な言葉で表現できずに申し訳ございませんが、
ご教授お願いします。
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2004-02-20 00:02
まず、ここ読んだ上で、
もしあなたが、貴族であるなら、PSVI(Post schema validation infoset)がサポートされるXQueryを、
そうでなくボヘミアンであるなら、スキーマコンパイラを、各々において使用すれば、XMLインスタンスとプログラムデータ間で、型情報を適用することができるでしょう。

XQueryをプログラムから扱うツールがあるかどうかは調べていないので分かりません。

ちなみに私はボヘミアンなのでスキーマコンパイラ派です。

[ メッセージ編集済み 編集者: かずくん 編集日時 2004-02-20 00:04 ]
るぱん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 1370
投稿日時: 2004-02-20 09:46
るぱんです。
10階層オーバーのXMLをDOMでぶん回してます。

XMLをRDBに入れる際には、
上下階層の間のリンクをそのまま外部キーを使う事で表現してあげなくてはなりません。

階層が増えれば増えるほど、外部キーを使用する連携したテーブルが増えていきます。
そういうテーブルは拡張性・保守性に弱い事になります。

DTDなりSchemaなり使うのは簡単ですが、
それらに型違いで弾かれた時の対処方法をどうするかわかる人がいるなら
どんどん階層を増やしてチャレンジする価値はあります。


知りたい情報は下記のような内容と推測します。

***具体的に***

基本的なお話
Rootは一つしかないので、
2階層目から3階層目が一つのテーブルと言う形で扱えるでしょう。

では、4階層目はどうなるか?
3階層目を主キーとする二つ目のテーブルに入れる事になります。

じゃぁ、5階層目はどうなるか?
4階層目を主キーとする三つ目のテーブルに入れる事になります。

以下を繰り返します。

***応用的な使い方。***

とある階層(仮にXとします。)から下は複数の階層
(上記で言う二階層目、三階層目、四階層目等)の下に同じ形でつくとします。
その場合、各テーブルに外部キーが作成され、
それとは別にXの階層以下のテーブルが延々と作成されます。(ここは基本則に同じ)

***より安全に使う為に***

もしこの推測に基づく情報が求めていた物だと感じるのであれば、
データを連携させる事とはどう言う事なのか考えていただく必要があります。
マッピング以前に「RDBとは何か?」と言う事を勉強する方が良いと思います。

あくまで推測です。外してたら御容赦願います。
makoto
常連さん
会議室デビュー日: 2004/05/05
投稿数: 40
投稿日時: 2004-11-26 12:07
AlloraというXML-RDB変換ツールの使用も1つの手かもしれません。

http://www.climb.co.jp/soft/hitsw/products/index.html#01
1

スキルアップ/キャリアアップ(JOB@IT)