정규화

이창준·2023년 4월 4일
1

정규화 :

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

■ 이상현상이 있는 릴레이션은 이상현상을 일으키는 함수 종속성의 유형에 따라 등급을 구분 가능
■ 릴레이션은 정규형 개념으로 구분하며, 정규형이 높을수록 이상현상은 줄어듬

1. 제 1정규형

  • 릴레이션 R의 모든 속성 값이 원자값을 가지면 제 1정규형이라고 함
  • 제 1정규형으로 변환
    - 고객취미들(이름, 취미들) 릴레이션을 고객취미(이름, 취미) 릴레이션으로 바꾸어 저장하면 제 1정규형을 만족함

2. 제 2정규형

  • 릴레이션 R이 제 1정규형이고 기본키가 아닌 속성이 기본키에 완전 함수 종속일 때 제 2정규형이라고 함.
  • 완전 함수 종속(full functional dependency) : A와 B가 릴레이션 R의 속성이고 A → B 종속성이 성립할 때, B가 A의 속성 전체에 함수 종속하고 부분 집합 속성에 함수 종속하지 않을 경우 완전 함수 종속라고 함.

▣ 제 2정규형으로 변환

: 수강강좌 릴레이션에서 이상현상을 일으키는(강좌이름, 강의실)을 분해함

3. 제 3정규형

  • 릴레이션 R이 제 2정규형이고 기본키가 아닌 속성이 기본키에 비이행적으로 종속할 때(직접 종속) 제 3정규형이라고 함
  • 이행적 종속이란 A → B, B → C가 성립할 때 A → C가 성립되는 함수 종속성

▣ 제 3정규형으로 변환

: 계절학기 릴레이션에서 이상현상을 일으키는 (강좌이름, 수강료)를 분해함

profile
안녕하세요^^

4개의 댓글

comment-user-thumbnail
2023년 4월 6일

그림으로 설명해주셔서 이해가 확 와닿네요. 2,3정규형의 정의가 항상 헷갈렸는데 이번에 제대로 감을 잡았습니다.

답글 달기
comment-user-thumbnail
2023년 4월 6일

시각적인 요소 덕분에 정규형이라는 걸 잘 몰랐지만 잘 이해했습니다!

답글 달기
comment-user-thumbnail
2023년 4월 6일

이름 , 취미 같은 익숙한 예시로 설명이 되어있어서 더 이해가 잘됐던것같습니다 !!👍

답글 달기
comment-user-thumbnail
2023년 4월 6일

정규형을 글로만 읽으면 이해하기 어려운데 이해하기 쉬운 그림 예시가 있어 좋았습니다.

답글 달기