[펌] 정규화

Programming 2010. 8. 23. 22:26
출처: http://blog.naver.com/ngldevilsun?Redirect=Log&logNo=100092625936


- 데이터의 중복을 방지, 효율적인 데이터 저장
-> 논리적으로 작은 단위의 테이블로 분리되어진다.

제 1 정규화
- 반복되는 속성이나 그룹 속성을 제거하고 새로운 실체를 추가한뒤 기존의
 실제와 1:N의 관계를 형성한다.

제2 정규화
- 복합키로 구성된 경우 해당 테이블 안의 모든 컬럼들은 복합키 전체에
의존적이어야한다.
만일 복합키 일부에 의존적인 컬럼이 존재한다면 제거해야한다.
복합키가 아닌 경우 제 2 정규화의 대상이 되지 않는다.

N:M 관계
 학생        |  - 동아리등록                     |-  동아리
-학번       | ~ 동아리코드(FK), 학번(FK)  | -  동아리 코드
이름,        |       등록일자     |   동아리명
주민번호,|       등록사유     |   설립취지
전화번호,|      |   설립일자
 .....

제3 정규화
- 한테이블 안의 모든 키가 아닌 컬럼들은 기본키(Primary Key)에 의존해야한다.
만일 키가 아닌 컬럼에 종속되는 속성이 존재한다면 이를 제거해야한다.

* 정규화는 순서적으로 하는것이 절대 아니다
1차 정규화에 위배할 경우  정규화함
2차 정규화를 위배하지 않을 경우 할 필요가 없다.

 


Posted by 세모아
,