티스토리 뷰

database

[database] 정규화

tonirr 2021. 4. 22. 01:03
  • 함수적 종속성의 확장
    • 함수적 종속성은 릴레이션의 효율성 여부에 중요한 판단기준
    • 그러나 릴레이션의 인스턴스만으로 내재된 모든 함수적 종속서을 찾아내기 어려움
    • 판별되지 않은 모든 함수적 종속성을 찾기 위해 추론 규칙을 사용하여 함수적 종속성을 확장
    • 클로저(closure)
      • 판별된 함수적 종속성 집합으로부터 유추할 수 있는 모든 함수적 종속성 집합
  • 함수적 종속성 추론 규칙
    • 암스트롱 공리(Armstring's axiom)
      • 재귀성 규칙: X⊇Y이면, X→Y이다
      • 부가성 규칙: X→Y이면, XZ→YZ이다
      • 이행성 규칙: X→Y이고,  Y→Z이면, X→Z이다.
      • 분해 규칙: X→YZ이면, X→Y이다. 
      • 합집합 규칙: X→Y이고, X→Z이면, X→YZ이다.
      • 의사 이행성 규칙: X→Y이고, WY→Z이면, WX→Z이다.
      • 함수적 종속성의 판별
        • 함수적 종속성이 참인 경우 
          • 고객번호 -> 고객명
          • 고객명 -> 등급
          • {고객번호, 고객명} -> 할인율
      • 고객번호 -> {고객명, 등급, 할인율}
  • 카노니컬 커버
    • 함수적 종속성 추론 규칙으로 확장된 클로저에는 자명한 종속성과 중복된 중속성을 포함
      • X -> AB, X -> B: 의미가 여러번 존재
    • 불필요한 함수적 종속성을 제거한 표준형으로 변환 후 정규화를 수행
    • 표준형 조건
      • F의 모든 함수적 종속성의 오른편 속성은 반드시 1개
      • F에서 X -> A를 X의 진부분집합 Y에 대하여 Y->A로 교체했을 때, 그 집합이 F와 동등한 집합이 불가능
      • F에서 어떤 함수적 종속성을 제거했을 때, 그 집합이 F와 동등한 집합이 불가능
  • 정규화
    • 정규형 
      • 이상 현상을 최소화 하도록 특정 조건을 갖춘 릴레이션의 형식
    • 정규화의 목적
      • 특정 정규형의 조건을 만족하도록 릴레이션과 속성을 재구성하는 과정
      • 정규화의 기능
        • 데이터베이스 내에 모든 릴레이션을 효과적으로 표현
        • 보다 간단한 관계 연산에 기초하여 검색 알고리즘을 효과적으로 작성할 수 있도록 지원
        • 바람직하지 않은 삽입, 수정, 삭제 등의 이상 발생 방지
        • 새로운 형태의 데이터가 삽입될 때 릴레이션 재구성의 필요성을 축소
    • 제 1정규형
      • 가장 조건이 단순한 정규형
      • 관계혐 모델에 조건에 따라 자동 적용되는 정규형
        • 릴레이션 스키마에서 정의된 모든 속성의 모데인이 원자값을 갖는 상태
    • 제 2정규형
      • 릴레이션이 제1정규형을 만족하고 기본키의 부분집합이 특정 속성을 종속하고 있지 않은 상태
      • 정의
        • 주어진 릴레이션의 인스턴스가 기본키가 아닌 속성들이 기본키에 완전히 종속되어 있는 상태
      • 제2정규형의 적용
        • 기본키에 완전히 종속되도록 릴레이션을 분해
      • 릴레이션의 무손실 분해
        • 무손실분해(lossless decomposition)
          • 정의
            • 스키마 R에 함수적 종속성 X->Y가 존재하고 X와Y가 교집합이면, R을 R-Y와 XY로 분해
    • 제 3정규형 
      • 제 3정규화의 정의
        • 릴레이션이 제2정규형을 만족하고 기본키가 아닌 속성들이 어떤 키에도 이행적으로 종속되지 않은 상태
      • 제 3정규화의 적용
        • {도크번호, 입항시간} -> {목적}, {목적} -> {담당도선사}
        • {도크번호, 입항시간} -> {담당도선사}
    • BC정규형의 정의
      • 릴레이션이 제3정규형을 만족하고 릴레이션에 성립하는 X->Y 형태의 모든 항수적 종속성에 대하여 X가 수퍼키인 상태
    • 역정규화
      • 정규화
        • 릴레이션 분할을 통해 데이터의 중복성을 최소화 하는 과정
        • 사용과정에서 많은 조인연산을 유발
      • 역정규화
        • 정규화의 반대 과정
        • 정규화를 통해 분리되었던 릴레이션을 통합하는 재조정을 수행하고 정보의 부분적 중복을 허용하는 기법
        • 데이터 접근 성능을 개선 목적
      • 정규화 되지 않은 스키마와 역정규화 스키마는 구별

'database' 카테고리의 다른 글

[database] 인덱스  (0) 2021.04.24
[database] 데이터 저장과 파일  (0) 2021.04.23
[database] 관계형 모델  (0) 2021.03.22
[database] 데이터베이스 모델링  (0) 2021.03.17
데이터와 정보  (0) 2021.03.13
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함