정규화 절차 | 설명 |
제1정규화 | 속성의 원자성 확보, 기본키 설정 |
제2정규화 | 기본키가 2개 이상인 속성의 부분 함수 종속성 분해 |
제3정규화 | 기본키 제외한 칼럼간 종속성 제거, 이행 함수 종속성 제거 |
BCNF | 기본키를 종속시키는 후보키 제거 |
제4정규화 | 다중값 종속성 제거 |
제5정규화 | 조인에 의한 종속성 분해 |
제1정규화
한 개의 속성으로 유일성을 만족하는가, 중복되는 값이 있는가
엔터티의 유일성 만족을 위해 식별자를 찾아야 한다
반복되는 속성의 집단은 다른 엔터티로 분리한다 (칼럼 중복)
- 제품단가 1, 2, 3.. 장기재고 1개월 수량, 2개월 수량, 3개월 수량... SNS 1, 2, 3....
일재고
물류센터코드 재고일자 |
월초재고수량 장기재고 1개월수량 장기재고 2개월수량 장기재고 3개월수량 장기재고 1개월금액 장기재고 2개월금액 장기재고 3개월금액 |
일재고상세
물류센터코드 재고일자 |
장기재고수량 장기재고금액 |
제2정규화
모든 속성이 식별자에 종속해야 한다
부분함 수적 종속을 제거하여 완전 기능 종속, 주식별자들에 의해 독립적으로 분류가 되는지 확인
기본키가 2개 이상일 때 기본키 중 한 개만 사용해서 알 수 있는 속성이 있다면 별도로 분리
각각의 기본키를 상대로 중복되는 값이 있는지 확인
수강키
학번 과목코드 |
성적 지도교수명 학과명 |
- 기본키) 학번, 과목코드
- 함수종속성 1) 학번 || 과목번호 → 성적 2) 학번 → 지도교수명 3) 학번 → 학과명
- 함수종속 2번 3번이 부분 함수종속의 규칙을 가지고 있기에 분리시키며 이때 분리된 엔터티는 1:M관계를 가진다
학번상세
학번 |
지도교수명 학과명 |
수강지도
학번 과목코드 |
성적 |
제3정규화
이행적 함수 종속, 기본키 제외 하나의 속성이 다른 속성을 결정지으면 분리하여 새로운 엔터티 생성
반정규화
테이블의 반정규화
기법분류 | 기법 |
테이블 병합 | 1:1 관계 테이블병합 |
1:M 관계 테이블병합 | |
슈퍼/서브타입 테이블병합 | |
테이블 분할 | 수직분할 |
수평분할 | |
테이블 추가 | 중복테이블 추가 |
통계테이블 추가 | |
이력테이블 추가 | |
부분테이블 추가 |
칼럼의 반정규화
중복칼럼 추가, 파생칼럼 추가, 이력테이블 칼럼추가,
PK에 의한 칼럼 추가, 응용시스템 오작동을 위한 칼럼 추가
'자격증 Study-O' 카테고리의 다른 글
SQL 개발자 (Sqld 자격검정) 내용 - 2과목 최적화 (0) | 2021.02.01 |
---|---|
SQL 개발자 (Sqld 자격검정) 내용 - 1과목 데이터 모델링 (0) | 2021.01.22 |
SQL 개발자 (Sqld 자격검정) 내용 - 2과목 DML (0) | 2021.01.20 |