ロックとトランザクション: ロックの設定

タスク環境Magic eDeveloper V9Plusや、dbMAGIC V8では、ロックの設定をDBテーブルという画面で行います。
この画面の、アクセスと共有によって、各テーブルの使い方を設定します。
V10では、データビューの各テーブル特性で同様の設定をします。

「アクセス」は自分がテーブル(データファイル)に対してどうするかの設定で、「共有」は他のユーザが同じテーブルに対して何ができるかという設定です。

DBテーブルアクセス欄は「R=読込」と「W=書出」の2種類、共有欄は「R=読込」と「W=書出」と「N=なし」の3種類から選択します。
従って、合計で6パターン(2×3)の組み合わせがあるのですが、実際には次の3パターンを知っておけば問題ないでしょう。

1.アクセス:W=書出 − 共有:W=書出
レコードロック(デフォルト)の設定です。
同一レコードの書込が重なったときにレコードロックになります。

2.アクセス:W=書出 − 共有:N=なし
テーブル(ファイル)ロックの設定です。
ワークファイルのように1ユーザしか使わないものを高速処理したいときや、締め処理のように他ユーザのアクセスを許さないときに使います。

3.アクセス:R=読込 − 共有:W=書出
リードオンリー(ロック無し)の設定です。
照会リンクのテーブル(ファイル)に対して使うことが多いと思います。
メインテーブルでも照会だけしか許可しないときは明示的に指定します。
「共有:W=書出」にすることで、他ユーザのアクセス(書込み)を制限しないことを保障しています。