- Characteristic
- Atomicity: 트랜잭션을 더 이상 나눌 수 없이 연산을 성공하거나 실패를 보장
- Consistency: 유효성 검사나 데이터 무결성 제약조건을 손상시키지 않고 상태 변환
- Isolation: 동시성 트랜잭션에서 한 트랜잭션이 다른 트랜잭션에 영향을 주지 않는 것
- Durability: 트랜잭션 결과값은 영구히 반영되어야 하는 것
- Keys
- Uniqueness: 튜플마다 값이 다른 attribute 특성 (e.g., {StudentID, Name})
- Minimality: no attribute can be removed from the set without losing the uniqueness property. (e.g., StudentID)
- Super Key: uniqueness를 만족하는 attribute 집합
- Candidate Key: uniqueness와 minimality를 같이 만족하는 attribute 집합
- Primary Key: Candidate Key 중 최종적인 후보키 '하나’
- Foreign Key: 다른 테이블의 Primary Key를 참조하는 키
- the foreign key constraints: the database will reject any attempt to add or update rows in the orders table if they’re not valid.
- Indexing: 검색 속도 향상
- B+tree ⇒ internal node(key), leaf node(value).
- order of execution: FROM → JOIN → WHERE → GROUPBY → HAVING → SELECT → ORDERBY
- 설계
- 관계: N대M -> 매핑테이블, 트랜잭션 ACID, 다중작업지원: 트랜잭션 Isolation 레벨(read uncommitted, read committed, repeatable read, serializable), 인덱스, 데이터 백업, 데이터 복구