본문 바로가기

자격증 Study-O

SQL 개발자 (Sqld 자격검정) 내용 - 1과목 정규화

정규화 절차 설명
제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에 의한 칼럼 추가, 응용시스템 오작동을 위한 칼럼 추가

댓글