예시

- rollback 했기 때문에 문제가 생긴다.
- rollback 안했다면 T8→T9 로 그냥 conflict Serializable
- A의 값은 이전의 값이 올바른 값인건데 T9가 그 값이 아닌 다른 값을 읽어갔다.
- 이건 Durablility에 어긋난다. → recoverable하지 않고 허용될 수 없다.
Recoverable Schedule
: 이제 값이 잘못되는 것까지 고려해야된다. Recoverable 한 것만 고려하자
- 다른게 커밋하기 전에 롤백해야된다.
- 커밋을 안하고 롤백만 하면 허용
Cascading Rollback
: 전파되는것 . 허용되면 안되는 것이다. (dirty read 발생)

- Recoverable은 하다.
- Rollback 하면 T11 과 T12 이 같이 죽어버린다.
- T11,T12 에서는 isolation 이 제대로 지원되지 않아서 그렇다.
→ 이를 방지하려면 완료된 것만 읽기만 허용해야한다. (committed read)
Cascadeless Schedules (ACA)
- 연속 철회(Cascading Rollback)를 방지하는 Schedules
- Cascadeless 최대한 덜 나는 것으로 선택
- 읽기전에 commit 을 해서 옳게 된 것을 저장시켜야됨
- commit된 값만 읽으면 된다. (항상 맞는 말만 읽어온다.)
Histories Relationship
우리가 사용하려면 SR 이고 ACA 안에 있는 스케쥴만 사용해야한다.
이 외에 스케쥴은 틀리거나 잘못된 경우가 존재한다.