정규화

김주형·2023년 5월 22일
0
post-thumbnail

Reference

🙇🏻‍♂️ 스스로 다시 보려고 기록하는 내용입니다

-한국방송통신대학교


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

나쁜 릴레이션의 예

  • 등급 / 할인율 정해져있음: 레코드 사이 부분적 중복 발생 -> 불필요한 저장공간 낭비

잘못된 데이터베이스 모델링

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

갱신이상 - 삭제이상



갱신이상 - 수정이상


좋은 릴레이션의 개념

  1. 개발자 관점에서의 모델링
  • 어떻게 데이터를 저장해야 하는가?
  1. 릴레이션의 스키마가 얼마나 효율적으로 실세계를 반영하고 있는지 평가

  2. 고려사항

  • 한 릴레이션 내의 컬럼간의 관계분석
  • 원하지 않는 데이터의 종속과 중복 제거
  • 새로운 컬럼들이 데이터베이스에 추가될 때, 기존 컬럼과의 관계 수정을 최소화

함수적 종속성

  1. 릴레이션 인스턴스를 분석하여 속성들 간의 연관관계를 표현한 것
  2. 릴레이션의 효율성을 향상시켜 좋은 릴레이션은 변환하는데 이용되는 중요한 개념

  • 등급이 할인율 종속

함수적 종속성의 확장

  1. 함수적 종속성은 릴레이션의 효율성 여부에 중요한 판단기준
  2. 그러니 릴레이션의 인스턴스만으로 내재된 모든 함수적 종속성을 찾아내기 어려움
  3. 판별되지 않은 모든 함수적 종속성을 찾기 위해 추론 규칙을 사용하여 함수적 종속성을 확장
  4. 클로저 (closure)
  • 판별된 함수적 종속성 집합으로부터 유추할 수 있는 모든 함수적 종속적 집합

함수적 종속성 추론교칙

  • 암스트롱 공리


카노니컬 커버

  1. 함수적 종속성 추론 규칙으로 확장된 클로저에는 자명한 종속성과 중복된 종속성을 포함
  2. 불필요한 함수적 종속성을 제거한 표준형으로 변환 후 정규화를 수행
  3. 표준형의 조건
  • F의 모든 함수적 종속성의 오른편 속성은 반드시 1개
  • F에서 X -> A를 X의 진부분집합 Y에 대하여 Y -> A로 교체했을 때, 그 집합이 F와 동등한 집합이 불가능
  • F에서 어떤 함수적 종속성을 제거했을 때, 그 집합이 F와 동등한 집합이 불가능

정규화

정규형

  1. 이상현상을 최소화 하도록 특정 조건을 갖춘 릴레이션의 형식
  2. 정규형의 분류

정규화의 목적


제1 정규형

  • 가장 조건이 단순한 정규형

  • 관계형 모델의 조건에 따라 자동 적용되는 정규형


  • 함수적 종속성 판별

  • 함수적 종속적 다이어그램 (FDD)


제 2 정규형의 정의

  1. 릴레이션이 제 1 정규형을 만족하고 기본키의 부분집합이 특정 속성을 종속하고 있지 않은 상태

  • 릴레이션의 무손실 분해
  1. 정규형 적용


제 3정규화의 정의

  • 제 3정규화의 적용



BC 정규형의 정의

  • 목적은 기본키 아님

정규화의 결과


역정규화의 개념

  1. 정규화
  • 릴레이션 분할을 통해 데이터의 중복성을 최소화하는 과정
  • 사용과정에서 많은 조인 연산을 유발 -> 속도 저하
  1. 역정규화
  • 정규화의 반대
  • 정규화를 통해 분리되었던 릴레이션을 통합하는 재조정 수행하고 정보의 부분적 중복을 허용하는 기법
  • 데이터 접근 성능 개선 목적
  1. 정규화되지 않은 스키마와 역정규화 스키마는 구별
profile
행복보다 해결을

0개의 댓글

관련 채용 정보