導入

導入 -- MDB2_Schema の使い方

MDB2_Schema の使い方

MDB2_Schema は MDB2 上で動作するツールで、 データベースのスキーマを XML 形式で管理することができます。 この XML は、プラットフォームやデータベースに依存しない形式となります。

XML の書式は Metabase パッケージをもとにしており、 それに手を加えることで Data Manipulation Instruction や外部キーといった新しいエンティティもサポートしています。

このパッケージを使用すると、RDBMS に依存しない XML 形式でスキーマファイルを管理できるようになり、 このファイルを用いてデータベースエンティティの作成、変更そして削除 (DDL: データ定義言語) を行ったりデータベースへのデータの投入 (DML: データ操作言語) を行ったりできるようになります。 既存のデータベースからのデータベーススキーマのリバースエンジニアリングもサポートしています。 また、データベースのスキーマを解析して データベースのデータを複数ファイルに分割する機能もあります。 ただ、このドキュメントでは、"スキーマファイル" とは MDB2_Schema ファイルがサポートする形式の XML を指すものとします。

XML ファイルの読み込みは MDB2_Schema_Parser が行い、 XML ファイルへの書き込みは MDB2_Schema_Writer が担当します。 さらに、XML ファイルをパースした後には MDB2_Schema_Validate クラスがコールされます。これは、スキーマファイルの論理的な整合性を調べます。 たとえば、存在しないフィールドをインデックスとして指定していたり 日付型のフィールドに浮動小数点値を保存しようとしていたりといったことがないかどうかを調べます。

現時点では二種類のパーサが使用可能です。 XML_Parser を使用したもの (デフォルト) と XML_Unserializer を使用したものがあります。 MDB2_Schema はまだベータ段階であり、 どちらのパーサにも制限事項があります。 デフォルトのほうでは、ネストが二段階までしか扱えません。 もうひとつのほうでは、XML ファイル中の DML の指示を反映させることができません。

MDB2_Schema API は実際のデータベースおよび スキーマファイルの二種類の入力をサポートしていますが、 内部的にはどちらも配列で管理しています。 この配列については、後で詳しく説明します。