レコード番号について

4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次

version 11 (Modified)


レコードに関連した番号には次の3つがあります:

・レコード番号

・レコード位置番号

・シーケンス番号

レコード番号

レコード番号は、レコードに対する絶対/物理的な番号です。この番号はレコードが作成されるごとに自動的に付けられ、レコードが削除されるまで変わることはありません。レコ−ド番号はゼロから始まります。レコード番号は、削除されたレコード番号が新しいレコードに再利用されるため、ユニークではありません。また、レコード番号はデータベースを圧縮、修復すると変更されてしまいます。

レコード位置番号

レコード位置番号は、カレントセレクション中のレコードの位置を示す番号です。したがって、この番号はカレントセレクションに依存します。セレクションを変更またはソートすると、レコード位置番号は変更されます。レコード位置番号は1から始まります。

シーケンス番号

シーケンス番号は、(自動インクリメントプロパティ、SQLのAUTO_COMMIT属性、またはSequence numberコマンドを使用して) レコードのフィールドに割り当てることができる、重複しない番号です。この番号は各レコードに自動で格納されるものではありません。シーケンス番号はデフォルトで1から始まり、新しいレコードを作成するごとに加算されていきます。レコード番号と違って、シーケンス番号はレコードが削除されたり、データベースが圧縮や修復されても再利用されません。シーケンス番号を使用して、レコードに重複しないID番号を持たせることができます。トランザクション中に加算されたシーケンス番号は、トランザクション処理が取り消されても、減少することはありません。

Note: SET DATABASE PARAMETERコマンドを使用してテーブルの内部的なカウンタを変更しても、4Dは全くチェックを行いません。このカウンタを減少させた場合、新しいレコードは既に割り当てられた番号を使用して作成されます。

レコードの番号の例


次ページの表は、レコードに付けられた番号について説明しています。表の各行は、レコ−ドについての情報を示しています。行の順序は、レコードが出力フォームに表示される順序です。

データ列: 各レコードのデータの内容で、例では人名を表しています。

レコード番号列: レコードの絶対レコード番号です。この番号はRecord number関数によって求められます。

レコード位置番号列: カレントセレクション中の位置を示す番号です。この番号はSelected record number関数によって求められます。

シーケンス番号列: 各レコードに保存されたシーケンス番号です。この番号は、レコードが作成されたときにSequence number関数によって返される番号です。このシーケンス番号はフィールドに格納されています。

レコードの登録直後

最初の表は、入力された後のレコードを示しています。

・レコードのデフォルトの順序は、レコード番号順になります。

・レコード番号は0から始まります。

・レコード位置番号とシーケンス番号は、ともに1から始まります。

データレコード番号レコード位置番号シーケンス番号
Tess011
Terri122
Sabra233
Sam344
Lisa455

Note: カレントセレクションを変更するコマンドを実行しても、レコードのデフォルト順序は変わりません。例えばデザインモードですべてを表示メニューを選択したり、ALL RECORDSコマンドを実行してもデフォルト順序は変わりません。

レコードのソート後

以下の表は、上の表と同じセレクションを名前でソートした後の状態を示しています。

・レコード番号は、各レコードに付けられたままです。

・レコード位置番号は、ソートされたセレクションの中の新しい位置を示しています。

・シーケンス番号は、各レコードが作成されたときにレコードに格納されているので、変わることはありません。

データレコード番号レコード位置番号シーケンス番号
Lisa415
Sabra223
Sam334
Terri142
Tess051

レコードの削除後

以下の表はSamのレコードが削除されたセレクションの状態を示しています。

・レコード位置番号だけが変更されています。レコード位置番号はレコードが表示される順番を反映します。

データレコード番号レコード位置番号シーケンス番号
Lisa415
Sabra223
Terri132
Tess041

レコードの追加後

以下の表はLizという新しいレコードが追加されたセレクションの状態を示しています。

・新しいレコードは、カレントセレクションの最後に加えられます。

・Samのレコード番号が新しいレコードLizに再使用されます。

・シーケンス番号は加算され続けます。

データレコード番号レコード位置番号シーケンス番号
Tess011
Terri122
Sabra233
Lisa445
Liz356

セレクションの変更とソートの後

以下の表は、3つのレコードが選択され、さらにソートされたセレクションの状態を示しています。

・各レコードのレコード位置番号だけが変更されています。

データレコード番号レコード位置番号シーケンス番号
Sabra213
Liz326
Terri132

参照

Record number, Selected record number, Sequence number.


4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次