メッセージ。 - にゃー
# にゃー
なんかイマイチ、DBMSを使ったソフトウェアの実装方法が、よく分からん。やりたいことは座席予約システムみたいな、リソースを取り合うような処理で、まぁよくあるシチュエーション。なおかつ、条件としては、複数のSQLの成功を保証する必要はない。つまりトランザクション不要。こういうとき自分は、insertを発行して成功したら処理を続け、失敗したらユーザに戻すか、失敗時処理を実行するようにしている。で、これでいいのかどうかがよく分からん。いや、あってるはずだとは思うのだが、こういうときの定石みたいのが、ググってもヒットしないのだ。トランザクションの話ばかり引っ掛かって、それ以前の話というか、基本の理屈を説明してくれてるページにたどり着けない。悪くいえば、「こうすればこうなる」的なものが多い。
あと、insertでの一意性保証方式だと、一意性が必要な要素ごとにテーブルを作らなければならなくて、これは不便だ。たとえば列車予約システムだと、ひかり105号、106号、107号と、列車ごとにテーブルを作らなきゃならなくなる。Oh!No!!!
今日はやけにキータッチに失敗する。あと、頭を使う内容を書いてるとき、打ち間違いが多くなってタイピングが遅くなる気がする。
あ、そうか。テーブル制約だっけ。あれを使えばいいのかな?
あと、insertでの一意性保証方式だと、一意性が必要な要素ごとにテーブルを作らなければならなくて、これは不便だ。たとえば列車予約システムだと、ひかり105号、106号、107号と、列車ごとにテーブルを作らなきゃならなくなる。Oh!No!!!
今日はやけにキータッチに失敗する。あと、頭を使う内容を書いてるとき、打ち間違いが多くなってタイピングが遅くなる気がする。
あ、そうか。テーブル制約だっけ。あれを使えばいいのかな?
Comment
Trackback