3 데이터베이스 이론
이상현상 → 정규화 → 키 → 무결성 → 트랜잭션 → 병행제어.
이상현상 (Anomaly)
| 종류 | 정의 |
| 삽입 이상(Insertion) | 불필요한 데이터 없이는 새 데이터 삽입 불가. |
| 삭제 이상(Deletion) | 한 데이터 삭제 시 연쇄적으로 필요한 정보까지 손실. |
| 갱신 이상(Update) | 중복된 값 일부만 수정되어 데이터 불일치(모순) 발생. |
정규화 단계 (Normalization)
| 단계 | 조건 (제거 대상) |
| 1NF | 모든 속성값이 원자값(도메인 원자값) — 반복 그룹 제거. |
| 2NF | 부분 함수 종속 제거(기본키 전체에 완전 종속). |
| 3NF | 이행 함수 종속 제거(A→B→C 형태 제거). |
| BCNF | 모든 결정자가 후보키가 되도록(강한 3NF). |
| 4NF | 다치 종속(다중값 종속) 제거. |
| 5NF | 조인 종속 제거. |
암기팁 도 부 이 결 다 조 — 1NF(도메인 원자값) · 2NF(부분종속) · 3NF(이행종속) · BCNF(결정자=후보키) · 4NF(다치종속) · 5NF(조인종속).
키(Key)의 종류
| 키 | 정의 |
| 슈퍼키(Super Key) | 유일성 O, 최소성 X — 튜플을 유일 식별하는 속성 집합. |
| 후보키(Candidate Key) | 유일성 + 최소성 모두 만족. |
| 기본키(Primary Key) | 후보키 중 대표로 선정한 키(NULL·중복 불가). |
| 대체키(Alternate Key) | 후보키 중 기본키를 제외한 나머지. |
| 외래키(Foreign Key) | 다른 릴레이션의 기본키를 참조하는 속성. |
무결성 제약 3종
| 무결성 | 규칙 |
| 개체(Entity) 무결성 | 기본키는 NULL 불가 + 유일해야 한다. |
| 참조(Referential) 무결성 | 외래키는 참조 릴레이션의 기본키 값 또는 NULL이어야 한다. |
| 도메인(Domain) 무결성 | 속성값은 정의된 도메인(자료형·범위)에 속해야 한다. |
트랜잭션 특성 (ACID)
| 특성 | 의미 |
| 원자성(Atomicity) | 연산은 모두 반영되거나 전혀 반영되지 않음(All or Nothing). |
| 일관성(Consistency) | 실행 전후 DB가 일관된 상태 유지. |
| 격리성(Isolation) | 실행 중 다른 트랜잭션이 중간 결과에 접근 불가. |
| 지속성(Durability) | 완료된 결과는 영구히 반영(장애에도 보존). |
병행제어 (Concurrency Control)
| 기법 | 설명 |
| 로킹(Locking) | 접근 데이터에 잠금(Lock)을 걸어 상호 배제. |
| 2단계 로킹(2PL) | 확장 단계(Lock만)와 축소 단계(Unlock만)로 분리 — 직렬성 보장. |
| 타임스탬프(Timestamp) | 트랜잭션에 시간 순서를 부여해 순서대로 처리. |