| | 65 | === Реални сценарија |
| | 66 | |
| | 67 | ==== Сценарио 1 |
| | 68 | |
| | 69 | Нашата база е дел од апликација за онлајн резервации. Во peak часови (петок вечер), стотици корисници паралелно купуваат седишта за ист лет. |
| | 70 | 1. '''Корисник1''' и '''Корисник2''' во ист момент резервираат седиште 12A” на истиот лет. \\ |
| | 71 | Без трансакции/ограничувања, може и двата корисници да добијат потвра => overbooking. \\ |
| | 72 | 2. '''Корисник1''' потоа сака да се премести од '''12A''' на '''14C'''. Во истиот момент, друг корисник се обидува да го земе 14C.\\ |
| | 73 | Ако промената не е атомична: старото седиште ослободено, новото неуспешно, или дупликат. \\ |
| | 74 | 3. Паралелно, оператор од авиокомпанијата прави reschedule: го менува авионот за летот со помал капацитет (поради технички проблем). |
| | 75 | Ако системот дозволи промена без да провери колку резервации веќе постојат, може да создаде лет каде bookings > capacity. Ова мора да се блокира или одбие. |
| | 76 | |