테이블 설계 - 정규형
정규형
- 테이블을 정의하는 기본 형태
- 즉 제대로 된 형태를 뜻함
- 테이블 갱신 시 부정합이 발생하기 어려운 형태
- 정규형을 제대로 지키는 행위를 정규화 위반이라고 부름
- 정규화가 제대로 되지 않아 관리의 어려움을 겪는 시스템이 다수 존재함
- 제1정규형(1NF)위반
- 테이블의 셀에 여러 개의 값을 포함하지 않는다.
- 제1정규형(1NF)위반 해소
- 기존의 회원 테이블에서 회원 연락처 테이블을 추가하여 제 1정규형을 만족하게 함
테이블 = 함수
- 테이블은 함수와 같다. 기본키의 값을 입력하면 특정 출력 값이 나오는 구조이다.
- 입력 X의 경우 반드시 한 개의 출력 Y 결정
- 제2정규형(2NF) 위반
- 제 2정규형(2NF) 위반 해소
- 제3정규형(3NF)위반
- 기본 키를 제외한 일반 컬럼끼리 함수 종속이 발생
- 기본 키 이외의 키 간 발생하는 함수의 종속
- 함수 종속성 분석
-
고객명은 고객 아이디로 결정된다.
-
나이는 고객 아이디로 결정된다.
-
직업명은 직업코드로 결정된다.
- 제 3정규형 위반
-
- 제3정규형(3NF)위반 해소
- 고객 테이블과 직업 테이블로 테이블을 분리함
- 직업명은 직업코드에만 종속되므로 별도의 테이블로 분리 해야함
- 제 4, 5 정규형
- 제4정규형 및 5정규형은 실무에서 거의 쓰이지 않음
Leave a comment