PEXA Modelについて

チュートリアル

定義ファイル

機能一覧

リファレンス

目次
  1. はじめに
  2. テーブル定義ファイルの書式


はじめに

このドキュメントは、PEXAモデルフレームワークで使用されるテーブル定義について解説する物です。

テーブル定義は、データモデルの内容が保存されるデータベース上のテーブルの定義です。
テーブル名、カラム名、型、対応現象型などがこの定義ファイルで宣言されます。

この定義ファイルはXMLファイルとして記述され、ビルドツールを通すことでカタログHTMLファイルとテーブル生成の為のSQLスクリプトが生成されます。


テーブル定義ファイルの書式

以降で、テーブル定義ファイルの書式について解説します。

テーブル定義ファイルは、XML形式で記述します。

記述例:

<?xml version="1.0" encoding="Windows-31j"?>
<!--
 COPYRIGHT
 -->
<!DOCTYPE schema SYSTEM "../doctype/trantable.dtd">
<!--==============================================================
 == Current-Module:   $HeadURL: http://pexa.atrris.com/repos/trunk/doc/material/developGuide/model/xdocs/ja/pexa_model_definition_table.xml $
 == Release-Date:     $Date:: 2009-06-24 17:08:28 #$
 == Release-Version:  $Revision: 3842 $
 == First-Created-On: 2006/03/23
 == First-Created-By: PEXA_SAMPLE
 == Copy-Right-Owner:
 ==============================================================-->
<schema>
    :
    :
    :
</schema>
内部は以下のセクションに分割されています。


tableセクション

記述例 :

<table name="SAMPLE_MODEL1" dispName="SampleModel1" />

説明 :
データベースのテーブル名を定義するセクションです。
属性値で指定して下さい。

属性値 :
tableタグの属性値は以下の通り。

属性値名 説明 形式 必須/非必須
name テーブル名の指定です。
テーブル生成SQLでこのテーブル名が使用されます。
文字列 必須
dispName テーブルの表示名称指定です。
テーブル名とは別の名称を指定できますので、例えばテーブル名は英字で統一するがdispName側には分かりやすい日本語名を付けておくといった指定が出来ます。
文字列 必須


columnセクション

記述例 :

<column name="SAMPLE_PROXY1" presence="REQUIRED">
  <integer />
  <ptype seqno="PT9000007" href="PT9000007.xml" />
  <description>SampleProxy1</description>
</column>

説明 :
テーブルが持つカラムを定義します。
必要なカラムの数だけcolumnタグを列挙して下さい。

カラム名、カラムの型、null/not null指定、対応する現象型などをここで指定します。

属性値 :
columnタグの属性値は以下の通り。

属性値名 説明 形式 必須/非必須
name カラム名の指定です。
テーブル生成SQLでこのカラム名が使用されます。
文字列 必須
presence カラムのnull可/not nullを指定します。
省略時はREQUIRED扱いになります。
REQUIRED,
OPTIONAL
非必須

セクション内の子要素 :
カラムの型指定、対応現象型、詳細説明を記述するための子要素があります。

カラム型指定タグ

カラムに対して割り当てる型を指定します。
カラム型は、データベース製品毎に若干異なる部分があるため、この定義ファイル内では一般化した型名称を指定します。 ビルド時に生成されるテーブル生成SQLでは、使用するデータベースに合わせた実際の型名に変換されます。

ここで指定できるタグは以下のようになります。

型名 属性値 カラム記述例 説明
integer 無し <integer /> 整数値型です。
bigint 無し <bigint /> integerよりも桁数が大きい整数値型です。
Proxy値を保持するカラムにはこの型を指定してください。
numeric size <numeric size="12,4" /> 任意精度の数値型です。
全体有効桁数と小数点以下の有効桁数をカンマ区切りで指定します。
float 無し <float /> 浮動小数点の数値型です。

!!!注意!!!
基本的に、小数値を指定する場合はnumericを使用して精度を指定してください。
そうしないと読み出し結果や計算結果などが一致しない現象が発生する可能性があります。
float型は制御上の都合でどうしても必要な場合のみ使用してください。
double 無し <double /> 浮動小数点の数値型です。

!!!注意!!!
基本的に、小数値を指定する場合はnumericを使用して精度を指定してください。
そうしないと読み出し結果や計算結果などが一致しない現象が発生する可能性があります。
double型は制御上の都合でどうしても必要な場合のみ使用してください。
timestamp 無し <timestamp /> 日付時刻型です。
varchar size <varchar size="256" /> 可変長の文字列型です。
size属性で最大文字列長を指定します。
char size <char size="256" /> 固定長の文字列型です。
size属性で文字列長を指定します。
text 無し <text /> varcharよりも大きなサイズの文字列を格納できる、可変長の文字列型です。
longraw 無し <longraw /> 可変長のバイナリデータ型です。

ptypeタグ

カラムに対応する現象型を指定するタグです。

属性値 :
ptypeタグの属性値は以下の通り。

属性値名 説明 形式 必須/非必須
seqno このカラムに対応する現象型のIDを指定します。 文字列 必須
href このカラムに対応する現象型の現象型定義ファイルを指定します。 文字列 必須

descriptionタグ

カラムに関する詳細札名を記述できるタグです。
文章で自由に記述して下さい。



keyセクション

記述例 :

<key>
    <keyPart colname="SAMPLE_PROXY1" />
</key>

説明 :

このテーブルの主キーとなるカラムを指定するためのセクションです。

セクション内の子要素 :
以下の子要素があります。

keyPartタグ

主キーとなるカラムを指定します。

属性値名 説明 形式 必須/非必須
colname 主キーとなるカラム名を指定します。 文字列 必須


indexセクション

記述例 :

<index>
  <indexPart name="vr_728677616">
    <indexElement colname="VALIDITY_FLAG" />
    <indexElement colname="REMOVED_FLAG" />
  </indexPart>
  <indexPart name="EC_請求明細データ_s0006">
    <indexElement colname="受注明細データNO" />
  </indexPart>
  <indexPart name="EC_請求明細データ_s0004">
    <indexElement colname="請DTNO" />
  </indexPart>
  <indexPart name="EC_請求明細データ_s0009">
    <indexElement colname="バリューNO" />
  </indexPart>
  <indexPart name="EC_請求明細データ_s0007">
    <indexElement colname="受注時支払先NO" />
  </indexPart>
</index>

説明 :
テーブルに設定するインデックスを定義するセクションです。
インデックスは複数個定義できます。

セクション内の子要素 :
以下の子要素があります。

indexPartタグ

インデックス設定を記述します。
配下のindexElementタグで、インデックスに含めるカラムを列挙します。

属性値 :
indexElementタグの属性値は以下の通り。

属性値名 説明 形式 必須/非必須
name インデックス名の指定です。
テーブル生成SQLでこのインデックス名が使用されます。
文字列 必須

indexElementタグ

インデックスに含めるカラムを指定するタグです。

属性値 :
indexElementタグの属性値は以下の通り。

属性値名 説明 形式 必須/非必須
colname インデックスに含めるカラム名を指定します。 文字列 必須


descriptionセクション

記述例 :

<description>
    サンプルテーブルです。
</description>

説明 :
テーブルの概要説明を記述します。
文字列で自由に記述して下さい。


grantセクション

記述例 :

<grant>
   <grantCommand cmdName="select" person="pexa" />
   <grantCommand cmdName="insert" person="pexa" />
   <grantCommand cmdName="delete" person="pexa" />
   <grantCommand cmdName="update" person="pexa" />
   <grantCommand cmdName="references" person="pexa" />
</grant>

説明 :
テーブルに対する権限設定の定義セクションです。
テーブルに対する操作とユーザー名を関連づけて権限設定ができます。

セクション内の子要素 :
以下の子要素があります。

grantCommandタグ

テーブル操作をユーザーを関連づけるタグです。 設定したい権限の数だけ列挙します。

属性値 :
grantCommandタグの属性値は以下の通り。

属性値名 説明 形式 必須/非必須
cmdName 権限設定するテーブル操作の指定です。 select,
insert,
delete,
update,
references
必須


statusセクション

記述例 :

<status>
    <author>$Author: morishita $</author>
    <datetime>$Date:: 2009-06-24 17:08:28 #$</datetime>
    <version>$Revision: 3842 $</version>
</status>

説明 :
定義ファイルの編集情報を記述するセクションです。
バージョン管理システムの置換キーワードなどと連携して使用してください。

セクション内の子要素 :
以下の子要素があります。

authorタグ

タグの間にはさんで、ファイルの編集者を記述します。


datetimeタグ

タグの間にはさんで、ファイルの編集日時を記述します。


versionタグ

タグの間にはさんで、ファイルのバージョンを記述します。



更新情報

  • 最終更新者 : $Author: morishita $
  • 最終更新日時 : $Date:: 2009-06-24 17:08:28 #$
  • バージョン : $Revision: 3842 $



Copyright © 2006, Atrris Corporation