C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 140 を表示中)
■81975 / )  Re[1]: レコードのSELECT,UPDATE処理時の排他制御について
□投稿者/ Jitta (224回)-(2016/11/26(Sat) 08:44:37)
No81893 (あさ さん) に返信
> ある予約システムを作成しています。

 ここに書かれているのは「予約をする」ことのみです。
では、「約が実行された」時は、どうするのでしょうか。

> 以下のような予約一覧テーブル(分かりやすくするために簡略化します)があるとします。
> 予約Noはオートナンバーです。
>
> 予約一覧テーブル
> 予約No 部屋No 氏名
> 10000  1    鈴木
> 10001  2    山田
> 10002  3    佐藤
>
> 新たに予約を行う際には、いきなりUPDATEではなく、
> まずは部屋NoのMax値(ここでは3)をSELECTして、
> +1をして、部屋数の定数内であることを確認し、それから、
> UPDATE(INSERTによる)します。

簡略化してあるということですが。
当然、日付があるのでしょう。
連泊するときは、どうなるのでしょうか。1日ごとに1レコード使うのか、ということです。
その場合、2泊目は、部屋Noは、どうするのでしょうか。
1日目の予約が1件、2日目の予約が0件の場合、1日目の部屋Noは2になります。2日目の部屋Noは何番?
ここで「2」にすると、2日目が1日目になる人の部屋Noはどうなる?
また、1,2,3と予約が埋まった後、2の人がキャンセルしたら?

と、コードを考える前に考えなければならないことが、まだまだあるように思います。
返信 編集キー/


管理者用

- Child Tree -