비절차적 언어| 단계 | 제거되는 종속 | 핵심 조건 |
|---|---|---|
| 제1정규형 (1NF) | 원자값이 아닌 도메인 (반복군, 다중 값) | 모든 도메인이 원자값(Atomic value)으로만 구성됨 |
| 제2정규형 (2NF) | 부분 함수 종속 | 제1정규형 만족 + 기본키의 진부분집합이 일반 속성을 결정하는 부분 종속 제거 (완전 함수 종속) |
| 제3정규형 (3NF) | 이행적 함수 종속 | 제2정규형 만족 + 기본키가 아닌 일반 속성 간의 종속 제거 (A -> B -> C 형태 제거) |
| BCNF | 후보키가 아닌 결정자에 의한 종속 | 제3정규형 만족 + 모든 결정자(Determinant)가 반드시 후보키여야 함 |
| 제4정규형 (4NF) | 다치 종속 (Multi-valued Dependency) | BCNF 만족 + 하나의 주체에 대해 독립적인 여러 다중 값이 존재하지 않음 |
| 제5정규형 (5NF) | 조인 종속 (Join Dependency) | 제4정규형 만족 + 테이블을 분해했다가 다시 조인(Join)했을 때 무손실(Lossless)로 원복 가능해야 함 |
모든 속성이 원자값을 가지는 정규형| 회원번호 | 이름 | 연락처 |
|---|---|---|
| 1001 | 김민수 | 010-1234-5678, 02-111-2222 |
| 1002 | 이서연 | 010-9876-5432 |
| 1003 | 박지호 | 010-5555-1111, 010-6666-2222, 02-3333-4444 |
| 회원번호 | 이름 |
|---|---|
| 1001 | 김민수 |
| 1002 | 이서연 |
| 1003 | 박지호 |
| 회원번호 | 연락처 |
|---|---|
| 1001 | 010-1234-5678 |
| 1001 | 02-111-2222 |
| 1002 | 010-9876-5432 |
| 1003 | 010-5555-1111 |
| 1003 | 010-6666-2222 |
| 1003 | 02-3333-4444 |
부분 함수적 종속이 제거된 정규형| 학번 (PK) | 과목코드 (PK) | 학생명 | 성적 |
|---|---|---|---|
| 2026001 | CS101 | 김민수 | A |
| 2026001 | CS102 | 김민수 | B+ |
| 2026002 | CS101 | 이서연 | A+ |
| 학번 (PK) | 학생명 |
|---|---|
| 2026001 | 김민수 |
| 2026002 | 이서연 |
| 학번 (PK, FK) | 과목코드 (PK) | 성적 |
|---|---|---|
| 2026001 | CS101 | A |
| 2026001 | CS102 | B+ |
| 2026002 | CS101 | A+ |
| 학번 (PK) | 학생명 | 학과 | 학과사무실 |
|---|---|---|---|
| 2026001 | 김민수 | 컴퓨터공학과 | 제1공학관 301호 |
| 2026002 | 이서연 | 전자공학과 | 제2공학관 204호 |
| 2026003 | 박지호 | 컴퓨터공학과 | 제1공학관 301호 |
| 학번 (PK) | 학생명 | 학과 (FK) |
|---|---|---|
| 2026001 | 김민수 | 컴퓨터공학과 |
| 2026002 | 이서연 | 전자공학과 |
| 2026003 | 박지호 | 컴퓨터공학과 |
| 학과 (PK) | 학과사무실 |
|---|---|
| 컴퓨터공학과 | 제1공학관 301호 |
| 전자공학과 | 제2공학관 204호 |
역정규화라고도 함