새소식

DataBase

db - 📝 정규화

  • -

정의

관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스

목적

- 중복을 배제하여 삽입, 삭제, 갱신 이상의 발생을 방지
- 각 릴레이션에 중복된 종속성을 여러개의 릴레이션에 분할
- 어떠한 릴레이션이라도 데이터베이스 내에서 표현 가능하게 함
- 데이터 삽입 시 릴레이션을 재구성할 필요성 감소
- 효과적인 검색 알고리즘을 생성 가능

제 1 정규화의 목적(에드거 F. 커드 정의)

1. 고려되지 않은 삽입, 갱신, 삭제 의존에서부터 관계의 집합을 배제한다.
2. 새로운 자료형이 나타날 때, 관계들의 집합의 재구성의 필요성을 낮추고, 그로 인하여 응용 프로그램의 생명주기를 연장한다.
3. 사용자에게 관계 모델을 더욱 의미있게 한다.
4. 관계들의 집합을 질의의 통계로부터 중립적이게 한다. 질의들은 시간이 지남에 따라 변경되기 때문이다.

정규형

제 1 정규형

1. 각 테이블에서 중복을 제거한다.
2. 각각 관계된 데이터 모임을 위하여 분리된 테이블을 만든다.
3. 각각 관계된 데이터 모임을 기본키로 식별한다.

제 2 정규형

 제 1 정규형을 만족하면서 후보 키 K와 K에 속하지 않는 속성 A가 있을 때, A를 결정하기 위해 K의 일부가 아닌 K 전체를 참조해야만 하는 경우 1NF 테이블은 2NF이다. 
 - 부분 함수 종속 관계를 완전 함수 종속 관계로 만드는 것

제 3 정규형

 제 2 정규형을 만족하면서 테이블 내의 모든 속성이 pk에만 의존하며, 다른 후보 키에 의존하지 않는다.
 - 추이 종속이 존재하지 않음을 요구

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.