판봉 개발 일기

정규화 본문

정보처리산업기사/정보처리산업기사 필기

정규화

판봉 2021. 7. 21. 14:43
728x90

정규화

  • 함수적 종속성 등의 종속성 이론을 이용하여 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어가는 과정
  • 하나의 종속성이 하나의 릴레이션에 표현될 수 있도록 분해해가는 과정이라 할 수 있다.
  • 정규형에는 제1,2,3,BCNF,제4,제5규형이 있고 차수가 높아질수록 만족시켜야할 제약 조건이 늘어남
  • 데이터베이스의 논리적 설계 단계에서 수행
  • 정규화는 논리적 처리 및 품질에 큰 영향을 미침

정규화의 목적

  • 데이터 구조의 안정성 최대화
  • 어떤 릴레이션이라도 데이터베이스 내에서 표현 가능하게 만듬
  • 효과적인 검색 알고리즘 생성가능
  • 중복을 배제하여 삽입,삭제,갱신 이상의 발생을 방지함
  • 데이터 삽입 시 릴레이션을 재구성할 필요성을 줄임

Anomaly(이상)의 개념 및 종류

정규화를 거치지 않으면 데이터베이스 내에 데이터들이 불필요하게 중복되어 릴레이션 조작 시 예기치 못한 곤란한 현상이 발생한다. 이를 이상(Anomaly)라고 하며 다음과 같이 삽입 이상, 삭제 이상, 갱신 이상이 있다.

  • 삽입 이상(Insertion Anomaly) : 릴레이션에 데이터를 삽입할 때 의도와는 상관없이 원하지 않은 값들도 함께 삽입되는 현상
  • 삭제 이상(Deletion Anomaly) : 릴레이션에서 한 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는 연쇄 삭제 현상이 일어나는 현상
  • 갱신 이상(Update Anomaly) : 릴레이션에서 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상

정규화의 원칙

  • 정보의 무손실 표현, 즉 하나의 스키마를 다른 스키마로 변환할 때 정보의 손실이 있어서는 안됨
  • 분리의 원칙, 즉 하나의 독립된 관계성은 하나의 독립된 릴레이션으로 분리시켜 표현해야 함
  • 데이터의 중복성이 감소되어야함

정규화 과정

1NF(제1정규형)

  • 릴레이션에 속한 모든 도메인이 원자값만으로 되어 있는 릴레이션
  • 릴레이션의 모든 속성이 단순 영역에서 정의됨

2NF(제2정규형)

  • 릴레이션 R이 1NF이고, 키가 아닌 모든 속성이 기본키에 대해 완전 함수적인 종속관계를 만족합니다.

3NF(제3정규형)

릴레이션 R이 2NF이고, 키가 아닌 모든 애트리뷰트가 기본키에 대해 이행적 종속관계를 이루지 않도록 제한한 관계형이다.

  • 무손실 조인 또는 종속성 보존을 저해하지 않고도 항상 3NF설계를 얻을 수 있음.

BCNF(Boyce-Codd 정규형)

  • 릴레이션 R에서 결정자가 모두 후보키인 관계형
  • 3NF에서 후보키가 많고 서로 중첩되는 경우에 적용하는, 강한 제3정규형이라고도 함
  • 모든 BCNF가 종속성을 보존하지는 않음
  • BCNF의 제약조건은 다음과 같음
  1. 키가 아닌 모든 속성은 각 키에 대하여 완전 종속해야함
  2. 키가 아닌 모든 속성은 그 자신이 부분적으로 들어가 있지 않은 모든 키에 대하여 완전 종속해야함
  3. 어떤 속성도 키가 아닌 속성에 대해서는 완전 종속 불가

4NF(제4정규형)

릴레이션 R에 A->B가 성립하는 경우 R의 모든 속성이 A에 함수적 종속이면 이 릴레이션 R은 제4정규형에 속함

 

5NF(제5정규형)

릴레이션 R의 모든 조인 종속성(JD)의 만족이 R의 후보키를 통해서만 만족될 때 그 릴레이션 R은 제 5규형 또는 PJ/NF에 속합니다.