ASTERIA MDM One MI Online Help
トップページ製品サイトインフォテリア

## カラム情報

### カラム情報とは

本製品では、マスターデータを格納するテーブルの管理は自動で行われます。
このため、どんなマスターデータをどういった形式でテーブル内に格納するのかをカラム情報として定義する必要があります。

カラム情報は、通常のデータベースでテーブルを作成するのと同様に、カラム名やデータ型、サイズ等を指定することができます。さらに、マスターを管理する上で便利な論理名やコメントなども指定することが可能なので、マスターテーブルの定義書として利用することもできます。

また、データ型はわかりやすいバーチャルデータ型として定義しますので、データベースやJDBCなどに詳しくなくても簡単に設定することができます。

### バーチャルデータ型

マスターのカラムの型をバーチャルデータ型という型で指定します。バーチャルデータ型は、データベースごとの特殊な型を知らなくても簡単に定義できるためのデータ型として定義されています。

Boolean | true/falseの論理値を格納するためのデータ型です。
DateTime | 日付や時刻を格納するためのデータ型です。
Decimal | Integer型で対応できない巨大な整数や小数を格納するためのデータ型です。精度によって誤差が生じることもあります。
File | ファイルを格納するためのデータ型です。ファイルのMIMEタイプや元ファイル名なども同時に管理されます。
Image | 画像を格納するためのデータ型です。ファイルのMIMEタイプや元ファイル名なども同時に管理されます。
Integer | 数値(整数)を格納するためのデータ型です。
LargeString | 長い文字列を格納するためのデータ型です。String型では格納しきれないような長い文字列を使いたい場合はこちらを使用してください。
String | 文字列を格納するためのデータ型です。

### DateTime型の書式

標準の日付書式はISO8601で規定されている「yyyy-MM-dd'T'HH:mm:ss'.'SSS z」形式です。日付型を文字列として書き出す場合はこの形式が使用されます。zはタイムゾーンを表し、’JST’、’+0900’、’GMT-01:00’などのように表記します。 タイムゾーンが省略されるとローカルタイムとして処理されます。

また、以下の形式の日付文字列も読み込むことができます。DateTime値を文字列として設定する場合は下記の形式のいずれかを使用してください。

yyyy-MM-dd'T'HH:mm:ss z
yyyy-MM-dd'T'HH:mm:ss'.'SSS z
yyyy-MM-dd'T'HH:mm:ss
yyyyMMdd'T'HHmmss'.'SSS
yyyyMMdd'T'HHmmss'.'SSS z
yyyy/MM/dd HH:mm:ss
yyyy/MM/dd
yyyy-MM-dd HH:mm:ss
yyyy-MM-dd
MM/dd/yyyy HH:mm:ss
MM/dd/yyyy
MM-dd-yyyy HH:mm:ss
MM-dd-yyyy
yyyyMMdd HH:mm:ss
yyyyMMdd

また、「yyyyMMdd'T'HH:mm:ss'.'SSS」形式のときに限り、UTC指定子「Z」が直後に付加されている場合はGMTとして取り扱います。

### データ型の変換

データ型は可能な限り暗黙変換されます。変換できない値が入力された場合は既定の値になります。
File型とImage型から他の型への変換、他の型からFile型とImage型への変換はシステム上行われません。
データ型変換対応表

入力＼出力 | Boolean | DateTime | Decimal | Integer | LargeString | String
Boolean | - | △※1 | ○※2 | ○※2 | ○※3 | ○※3
DateTime | ◯※4 | - | ○※5 | ○※5 | ○※6 | ○※6
Decimal | ○※7 | ○※5 | - | ○ | ○ | ○
Integer | ○※7 | ○※5 | ○ | - | ○ | ○
LargeString | ○※8 | △※9 | △※10 | △※10 | - | ○
String | ○※8 | △※9 | △※10 | △※10 | ○ | -

○=変換可能、△=フォーマットに依存、×=変換不可

※1 True=1970 年 1 月 1 日 00:00:00.001 GMT, False=1970 年 1 月 1 日 00:00:00.000 GMT

※2 True=1, False=0

※3 True="true", False="false"

※4 1970 年 1 月 1 日 00:00:00.000 GMT=False, それ以外はTrue

※5 DateTime型は1970 年1月1日 00:00:00 GMT からのミリ秒数として数値型と相互に変換されます。

※6 標準の日付フォーマット（yyyy-MM-dd'T'HH:mm:ss'.'sss z）

※7 0=False, それ以外はTrue

※8 大文字小文字の区別なしで"true"とマッチする場合True、それ以外はFalse

※9 DateTime型の書式を参照。変換できなかった場合は 1970 年1月1日 00:00:00 GMT となります

※10 十進表記のみ有効(前後の空白は無視されます)。変換できなかった場合は 0 が適用されます

データ型に関わらずnullはすべての型に変換が可能です。

### プライマリーキー

本製品のマスターにはプライマリーキー（PK）を指定することができます。複数の項目をプライマリキーとして指定した場合は、組み合わせたものがキーとなります。

このプライマリーキーは、マスターデータを一意に認識させるためのキーになりますが、実際のテーブルの定義としてプライマリーキー指定はされておりませんので十分に注意してください。

### サブカラム

「サブカラム」とは、関連する複数のマスターデータを管理する際に、別々のマスターで管理するのではなく、メインとなる１つのマスターの中に関連するサブマスターのように付属してカラムとして管理する機能をいいます。

サブカラムを利用するケースとして、例えば、商品管理では１つの商品データにつき多数の原料データが属している場合があります。このような場合に商品マスターと原料マスターのように別々に管理するのではなく、１つの商品マスターの中でメインの商品カラム１件に対して原料をサブカラムとし、原料の名前、管理コード、原価のような原料の情報を複数件登録して管理することができます。