パソコン豆知識PC TIPS

パソコン豆知識 > データベース関連

データベース関連

Q.排他制御とは何ですか?

A.データベースでは複数の利用者が同時に使用することがある為、ある人が更新したデータを他に人が同時に更新してしまった場合、どちらかのデータが削除されてしまう等の不整合が発生してしまう場合があります。そのような不具合を解消するためにDBMSに実装されているのが排他制御と呼ばれるデータ保全機能です。

例えば、在庫が10個あるとします
Aさんが8個出荷すると残りは2個になります。
しかし同時にBさんが10個ある在庫のうち4個を出荷してしまいました。これでは在庫は-2になり在庫が足りなくなってしまいます。
このように在庫を減らす(データを修正する)作業を「トランザクション」と呼びます

これを防ぐためにAさんがデータを参照している間は誰も在庫データを編集できないように鍵をかける(ロック)する方法を排他制御のロック方式と言います。

ロック方式の場合以下の2つの処理が同時に発生した場合AさんもBさんもお互いがロック解除待ち状態になってしまい、どちらも動かなくなる症状(デッドロック)が発生してしまう危険性が有ります
AさんがDのデータを参照中にCのデータにアクセスした
BさんがCのデータを参照中にDのデータにアクセスした

デッドロックが発生しない様にするためには更新を行わない場合他の人も参照可能にする「共有ロック」を行い、更新する場合は他の人からも参照できないようにする「占有ロック」を使用するなどの使い分けを行います。


データベース関連へ戻る

バナースペース

株式会社オフィスサポート

【診断無料】格安パソコン修理・販売

〒851-2212
長崎県長崎市畝刈町278-5

TEL 095-850-1142
FAX 095-850-2017
URL http://www.pc-nagasaki.com
MAIL info@offices.jp
営業時間 平日9時~18時