リレーショナルデータベース(Relational Database; RDB)は扱いづらい.
RDBを検索用として利用する場合にはSQL (Structured Query Language)などが利用できるので便利なのであるが,登録されている情報そのものを利用して何らかの出力を出そうと思うと扱いづらい.
RDBにいれたとしても,あまり役にもたたない項目というものが結構ある.
RDBのカラム定義を変更するのは結構手間で登録されている内容を消してしまわないかを心配しながら行う神経をすり減らす作業である. 情報の記述内容自体は別にもっていた方が安心できる.
XML (Extensible Markup Language)はテキスト形式である.すなわち,項目を定義するときに,記述を蓄積する際の属性をどのようにするか悩まなくてよい.
EDBのように常に開発ステージにあるようなシステムでは,データベースの構造を途中で変更したいことがある. そのような場合に,RDBはとにかく困る.
情報の履歴を全てRDBでもつと,データベースそのものが重たくなる.履歴そのものが検索対象になることは稀である. そのようなものはRDBにいれる必要はない.
EDBで利用しているXMLDB (XML Database)とは,少数のカラム
EID | EDB Ideintifier | EDBの情報識別子. | integer |
---|---|---|---|
EOID | EDB Object Identifier | EDBのオブジェクト識別子. | integer |
TEID | Table EID | 情報が属するテーブルのEID. | integer |
XML | XMLで記述された情報本体. | text |
XMLは検索用途には向かない. だから検索用にRDBを用意する.
RDBに蓄積される内容は,XMLDBにある情報の一部分である. 検索対象となるものだけをRDBに展開すればよい.
通常,XMLDBで定義されたテーブル毎にRDBにも対応するテーブルを作成する.
しかし,用途によっては,全ての項目は必要なく,また,XMLDBのカラムのネスト構造をうまく表現できないことがある.
EDBでは,カラム毎にRDBのテーブルを作成している.