Database Normalization Basics by Mike Chapple 스크랩 번역임을 밝힙니다.
데이터베이스 정규화(Database Nomalization)
: 데이터베이스에서 조직화된 데이터를 효율적으로 구성하는 프로세스
정규화의 2가지 목표
정규 형식 지침
: 첫번째 정규 형식(1NF) ~ 다섯번째 정규 형식(5NF, 잘 다루지 않음) 누적형식
- 1NF (First normal form) 데이터베이스 기본 규칙 설정
: 같은 테이블에서 중복된 컬럼 제거, 각 관련 데이터 그룹에 대해 별도 테이블 만들고 고유한 열 또는 열 집합(기본 키, Primary Key)으로 각 행 식별
- 2NF (Second normal form) 중복데이터 제거 개녕 추가로 다루기
: 1NF의 모든 요구 충족, 테이블의 여러 행에 적용되는 데이터의 하위 집합 제거 후 별도 테이블 배치, 외래키(Foreign keys)를 사용해 새 테이블들과 이전 테이블들 관계 형성
- 3NF (Third normal form) 요구 하나 더 추가
: 2NF 모든 요구 충족, 기본키에 종속되지 않는 컬럼들 제거
- BCNF or 3.5NF (BOYCE-CODD Normal form) 요구 하나 더 추가
: 3NF 요구 충족, 모든 결정자 후보키(Candidate Key)
- 4NF (Fourth Normal form) 요구 하나 더 추가
: 3NF 요구 충족, 다중 값 종속성이 없는 관계
결론
: 정규 형식 지침은 절대적인 것이 아님. 때때론 이 규칙을 지키지 않은 것이 좋을 때가 있다. 데이터베이스가 정규화 되었는지 확인하려면 1NF 부터 차례로 넣어보자.