2.3.4 レコード
構造型DBでは,データベース中に存在する情報の基本単位をレコードといいます。レコードは情報の論理的な単位であると同時に,データを検索したり,更新したりするときの単位でもあります。
構造型DBでは,あるレコードをモデル化したものをレコード型といいます。レコード型はSDBデータベース定義で定義します。
レコード型に対応してデータベース中で,実際のデータ値を持って存在するものをレコード実現値といいます。レコード型とレコード実現値の関係を次の図に示します。
データベース中の「品番」,「商品名」,「規格」などの各情報をこの順番に持つとき,これをモデル化したものがレコード型であり,実際にデータ値を持つ個々のものをレコード実現値といいます。
なお,このマニュアルでは,特に誤解を与えない場合にはレコード実現値を単にレコードといいます。
レコードは次の要素から構成されます。
(1) データ項目
データ項目は,データベース中で取り扱える情報の最小単位です。1つのデータ項目はただ1つの値を持ちます。データ項目は格納するデータ種別ごとに属性を持ちます。これをデータ型といいます。
HiRDB/SDで指定できるデータ型を次の表に示します。
データ種別 |
データ型 |
---|---|
- 注※1
-
符号付きパック形式の符号部の仕様を次に示します。
符号部
説明
正規化しない場合
正規化する場合(DECIMAL型の符号正規化機能を使用する場合)
X'A'
エラーになります。
正の値を意味するX'C'に変換されます。
X'B'
エラーになります。
負の値を意味するX'D'に変換されます。
X'C'
正の値を意味します。
X'D'
負の値を意味します。
X'E'
エラーになります。
正の値を意味するX'C'に変換されます。
X'F'
正の値を意味します。
X'0'〜X'9'
エラーになります。
DECIMAL型の符号正規化機能を使用する場合は,システム共通定義のpd_dec_sign_normalizeオペランドにYを指定します。詳細については,マニュアル「HiRDB システム運用ガイド」の「DECIMAL型の符号部を変換する方法」を参照してください。
- 注※2
-
SMALLINTのデータ型は,SD FMBのSDBデータベースの場合に使用できます。
(2) 構成要素
データ項目を論理的な単位にまとめたものを構成要素といいます。構成要素には基本項目と集団項目の2種類があります。
(c) 構成要素の例
構成要素の例を次の図に示します。
- [説明]
-
1つのデータ項目から成る構成要素の例です。Aは基本項目となります。
- [説明]
-
複数のデータ項目から成る構成要素の例です。Bは集団項目であり,CおよびDはそれぞれ基本項目となります。
- [説明]
-
複数のデータ項目から成る構成要素の例です。EおよびFは集団項目であり,G,H,およびIはそれぞれ基本項目となります。
- [説明]
-
繰り返し指定をしたデータ項目から成る構成要素の例です。A(0001),A(0002),およびA(0003)は,それぞれ基本項目となります。この場合,構成要素数は,SDBデータベース定義のOCCURS句で指定した繰り返し回数と同じになります。
(3) キー
SDBデータベースでは,SDBデータベース内でレコードを一意に識別するために,レコードごとにキーが設定されます。キーには,HiRDB/SDが管理するキー(データベースキー)とユーザが管理するキー(ユーザキー)があります。
-
データベースキー
HiRDB/SDが管理するキーです。キー値にはユーザが明示的に指定するキーと,HiRDB/SDが自動的に採番するキー(一連番号)があります。
-
ユーザキー
ユーザが管理するキーです。キー値はレコードの追加時にユーザが指定します。ユーザキーはレコード型ごとに1つ定義できます。
ユーザキーは,4V FMBまたは4V AFMのSDBデータベースの場合に定義できます。
-
論理キー
データベースキーを構成する個々の構成要素に対して,キーの属性を設定できます。これを論理キーと呼びます。論理キーの種類を次の表に示します。
表2‒6 論理キーの種類 論理キーの種類
説明
RDエリア分割キー
RDエリア分割に使用するキーです。
レコード分割キー
レコード分割に使用するキーです。
RDエリア分割キーでありレコード分割キーであるキー
RDエリア分割およびレコード分割に使用するキーです。
上記以外のキー
ユーザが任意に使用するキーです。
HiRDB/SDがレコードの発生順に,自動的に採番して管理する番号(キー)です。