# DB Midterm 2022
## 1.
(a) explain ACID
(b) explain phantom read
## 2.
Why strict 2 phase lock need Tx to keep all blocks until complete?
## 3.
Why disk-based DBMS need to implement external merge sort than other algorithm?
## 4.
Why does Txs need concurrency?
(need to list at least one on single-core)
## 5.
Does log block need buffer pool? Why or Why not?
## 6.
What is the difference between lock and latch on DBMS?
## 7.
WAL
1) write log
2) write file
3) commit log
4) commit file
Can swap steps 3 and 4? Why or Why not?
## 8.
B(R\): block accessed for all in R
B(S): block accessed for all in S
m: all record in R
n: all record in S
(a)
for a in R:
for b in S:
find some a = b
use above to explain how many block accessed in this code
(b)
for BR in R:
for BS in S:
for a in BR:
for b in BS:
find some a = b
use above to explain how many block accessed in this code
## 9.

Which of them need to be thread-save?
## 10.
| Tx1 | Tx2 |
| - | - |
| read a | |
| write a | |
| | read a |
| write b | |
| | write b |
| | commit |
| commit | |
(a) Is this serializable?
If yes, write equivalent Serial.
If no, why?
(b) Is this recoverable?
## 11.
A log file
disk
What is X, Y, Z, W using undo-redo recovery algorithm?
---
# DB Midterm 2023
## Q?.
What is the difference of purpose of er model and relatoonal model when designing your data model
##