데이터베이스

데이터베이스_10.정규화

강용민 2021. 11. 8. 15:58

정규화는 이상현상이 발생하는 릴레이션을 분해하여 이상현상을 없애는 과정이다. 그럼 이상현상은 무엇일까?

이산현상

이상현상은 릴레이션 처리 과정에서 불필요한 데이터 중복으로 인해 발생하는 부작용을 뜻한다.

종류로는 삽입, 수정, 삭제 이상으로 분류 할 수 있다.

  • 삽입이상
    • 불필요한 데이터를 함께 입력하지 않고서는 원하는 데이터만 입력이 불가능한 상황이다.
    • 투플 삽입 시 특정 속성에 해당하는 값이 없어 NULL 값을 입력해야 하는 현상이다. -> NULL 값 문제 발생
  • 수정이상
    • 투플 수정 시 중복된 데이터의 일부만 수정되어 데이터의 불일치 문제가 일어나는 현상이다.
    • 불일치 문제 발생
  • 삭제이상
    • 투플 삭제 시 같이 저장된 다른 정보까지 연쇄적으로 삭제되는 현상이다.
    • 연쇄삭제 문제 발생

함수 종속성

함수 종속성은 같은 릴레이션 안의 속성 간에 특정 속성 값이 함수적으로 다른 속성 값을 결정하는 종속 관계를 뜻한다.

릴레이션 R과 R에 속하는 속성의 집합 X,Y가 있을 때, X 각각의 값이 Y의 값 한개와 대응이 될 때 'X는 Y를 함주적으로 결정한다'라고 하고 X->Y로 표기한다.

이 때 X를 결정자라고 하고, Y를 종속 속성이라고 한다.

 

함수 종속성 다이어그램

함수 종속성을 나타내는 표기법이다.

  • 릴레이션의 속성 : 직사각형
  • 속성 간의 함수 종속성 : 화살표
  • 복합 속성 : 직사각형으로 묶어서 그림

함수 종속성 규칙

X,Y,Z가 릴레이션 R에 포함된 속성의 집합이라고 할 때, 함수 종속성에 관한 다음과 같은 규칙이 성립한다.

함수 종속성과 기본키

릴레이션 R(K, A1, A2, ..., An)에서 K가 기본키면 K->R이 성립한다.

기본키는 릴레이션의 모든 속성에 대한 결정자이다.

그래서 릴레이션의 함수 종속성을 파악하기 위해서는 우선 기본키를 찾아야 한다.

 

완전 함수 종속

특정 속성이 결정자인 둘 이상의 전체 속성 조합에는 함수 종속이면서 결정자의 어떤 일부 속성에도 함수 종속이 아닐 때 완전 함수 종속이다.

 

부분 함수 종속

특정 속성이 결정자인 둘 이상의 전체 속성 조합에ㅗㄷ 함수 종속이면서 결정자의 일부 속성에도 함수 종속일 때 부분 함수 종속이다.

 

정규화

이상현상이 발생하는 릴레이션을 분해하여 이상현상을 없애는 과정이다.

릴레이션은 정규형 개념으로 구분하며, 정규형이 높을수록 이상현상은 줄어든다.

 

제 1정규형

릴레이션 R의 모든 속성 값이 원자 값을 가지면 제 1정규형이라고 한다.

 

제 2정규형

릴레이션 R이 제1정규형이고, 릴레이션 스키마 R의 모든 비주요 속성(후보키에 속하지 않는 속성)이 후보키에 완전 함수 종속일 때 제2정규형이라고 한다.