HOME»データベーススペシャリスト掲示板»H26午後1問3設問3(1)
投稿する
H26午後1問3設問3(1) [0287]
tarouさん(No.1)
TR1:単品商品2個を注文する
TR4:セット商品2個を注文する
自分の持っている参考書の解説を見ると、この2つのTRは注文明細が2行あることが前提になっています。
注文明細が1行で注文数が2である場合も「2個」と言えると思うのですが
この問題は2行あることが前提なのでしょうか。
TR4:セット商品2個を注文する
自分の持っている参考書の解説を見ると、この2つのTRは注文明細が2行あることが前提になっています。
注文明細が1行で注文数が2である場合も「2個」と言えると思うのですが
この問題は2行あることが前提なのでしょうか。
2022.07.13 22:53
にゃんちゃんさん(No.2)
★DB シルバーマイスター
おっしゃる通り、注文明細が1行で注文数が2である場合も存在しえます。
ただし、本問のデッドロックを考えるうえでは必要ないから考慮していません。
TR1「単品商品2個を注文する」が
T001を2個、という1商品の場合。
在庫テーブルのT001の行をロックして2個在庫から減らす更新をかけます。
この時、デッドロックが発生しないため考慮不要ということになります。
デッドロックは1つのトランザクションが複数の資源をロックする際に発生しうるものだからです。
ただし、本問のデッドロックを考えるうえでは必要ないから考慮していません。
TR1「単品商品2個を注文する」が
T001を2個、という1商品の場合。
在庫テーブルのT001の行をロックして2個在庫から減らす更新をかけます。
この時、デッドロックが発生しないため考慮不要ということになります。
デッドロックは1つのトランザクションが複数の資源をロックする際に発生しうるものだからです。
2022.07.14 22:35