06 정규화 I

데이터베이스 2016. 3. 10. 22:52
  • 정규화

    6.1 좋은 릴레이션과 나쁜 릴레이션

  • 잘못된 데이터베이스 모델링
    • 데이터중복
    • 갱신 이상
      • 삽입 이상: 레코드 추가 시 불필요한 컬럼의 값 없이는 추가하지 못하는 경우
      • 삭제 이상: 삭제 시 의도하지 않았던 다른 데이터가 삭제 되는 경우
      • 수정 이상: 중복 저장된 레코드를 수정 시 모두 반영이 안되어 데이터베이스의 일관성이 깨지는 경우

           

       

    6.2 함수적 종속성

    • 함수적 종속성

      릴레이션 인스턴스를 분석하여 속성들 간의 연관 관계를 표현한 것

    • 정의

      임의의 릴레이션 스키마 R의 인스턴스 r(R )에 포함되는 서로 다른 두 레코드 t1, t2와 속성 집합 X와 Y에 대해

      t1[X] = t2[X]일 때, t1[y] = t2[y] 이면 함수적 종속성 X Y가 성립한다.

         

    • 함수적 종속성 추론 규칙
      • 함수적 종속성은 정규화 실행 여부에 중요한 판단기준이 되지만 릴레이션의 인스턴스만으로는 숨어 있는 함수적 종속성을 찾아내기 어려움
      • 숨어 있는 함수적 종속성을 찾기 위해 추론 규칙을 사용함
      • F의 클로저
        • F: 릴레이션 스키마를 분석하여 찾아낸 함수적 종속성 집합
        • F+: F로 유추할 수 있는 모든 함수적 종속성 집합

             

    • 함수적 종속성
      • 함수적 종속성 추론 규칙
        • 재귀성 규칙 : X Y이면, X Y 이다
        • 부가성 규칙 : XY이면, XZYZ 이다
        • 이행성 규칙 : XY이고, YZ이면, XZ이다
        • 분해 규칙 : XYZ이면, XY이다
        • 합집합 규칙 : XY이고, XZ이면, XYZ이다
        • 의사 이행성 규칙 : XY이고, WYZ이면 WX이다
    • 커버
      • 정의

        함수적 종속성들의 집합 E가 있을 때, E가 F+에 포함되면 E의 모든 함수적 종속성이 F로부터 추론될 수 있다. 이 때 F가 E를 커버한다고 한다

           

    • 카노니컬 커버
      • F의 카노니컬 커버 Fc는 F+에 존재하는 모든 함수적 종속성을 커버할 수 있는 최소한의 함수적 종속성들로만 이루어진 집합임
      • 함수적 종속성 추론 규칙으로 확장한 클로저에는 자명한 종속성과 중복된 종속성이 포함됨, 따라서 불필요한 함수적 종속성을 제거하여 정규화함

           

      • 표준형 조건
        • F의 모든 함수적 종속성의 오른편 속성은 하나임
        • F에서 X A를 X의 진부분집합 Y에 대하여 Y A로 교체했을 때, 그 집합이 F와 동등한 집합일 수 없음
        • F에서 어떤 함수적 종속성을 제거했을 때, 그 집합이 F와 동등한 집합일 수 없음

             

    • 카노니컬 커버의 예
      • 릴레이션 R의 스키마(X, Y, Z)

       

       

    6.3 기본 정규형

    • 정규형
      • 정규화 과정에서 사용되는 중복을 최소화하는 릴레이션의 형식
      • 정규형의 분류

           

    • 정규화의 목적
      • 어떠한 릴레이션이라도 데이터베이스 내에서 표현할 수 있도록 함
      • 보다 간단한 관계 연산에 기초하여 검색 알고리즘을 효과적으로 작성
      • 릴레이션에 바람직하지 않은 삽입, 수정, 삭제 등의 이상이 발생하지 않도록 함
      • 새로운 형태의 데이터가 삽입될 때 릴레이션을 재구성할 필요성을 줄임

           

'데이터베이스' 카테고리의 다른 글

08 데이터 저장과 파일  (0) 2016.03.11
07 정규화 II  (0) 2016.03.10
05 SQL  (0) 2016.03.09
04 관계형 모델  (0) 2016.03.09
03 데이터베이스 모델링  (0) 2016.03.08
Posted by redcode.
,