New World

[데이터베이스시스템#7] 정규화 본문

Self-Study/Study

[데이터베이스시스템#7] 정규화

hyeovi 2022. 5. 17. 23:23
728x90
반응형

 

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

1. 데이터 중복

- 일관성 유지의 어려움

- 저장 공간 낭비

 

2. 갱신 이상

삽입 이상 레코드 추가 시,
불필요한 컬럼의 값 없이는 추가 X

삭제 이상 삭제 시,
의도하지 않았던 다른 데이터가 삭제
수정 이상 중복 저장된 레코드를 수정 시, 모두 반영 X

좋은 릴레이션 개념

1. 컴퓨터 프로그래머적 관점에서의 모델링

2. 릴레이션의 스키마가 얼마나 효율적으로 실세계를 반영하고 있는지 평가

3. 관계 분석, 원하지 않는 데이터의 종속과 중복 제거, 기존 컬럼과의 관계 수정을 최소화

2. 함수적 종속성

함수적 종속성

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

- 릴레이션의 효율성을 향상시켜 좋은 릴레이션으로 변환되는데 이용되는 중요한 개념

 

 

함수적 종속성의 확장

- 릴레이션의 효율성 여부에 중요한 판단 기준

- 릴레이션의 인스턴스만으로 내재된 모든 함수적 종속성을 찾아내기 어려움

- 판별되지 않은 모든 함수적 종속성을 찾기 위해 추론 규칙을 사용

- 클로저 : 판별된 함수적 종속성 집합으로부터 유추할 수 있는 모든 함수적 종속성 집합

 

암스트롱 공리

암스트롱 공리

카노니컬 커버

- 함수적 종속성 추론 규칙으로 확장된 클로저에는 자명하고 중복된 종속성

- 불필요한 함수적 종속성을 제거한 표준형으로 변환 후 정규화를 수행

- 표준형 조건

3. 정규화

이상 현상을 최소화 하도록 특정 조건을 갖춘 릴레이션의 형식

 

정규화 : 특정 정규형의 조건을 만족하도록 릴레이션과 속성을 재구성하는 과정

기능

- DB내 모든 릴레이션을 효과적으로 표현

- 간단한 관계 연산에 기초해 검색 알고리즘을 효과적으로 작성

- 바람직하지 않은 삽입, 수정, 삭제 등의 이상 발생 방지

- 새로운 형태의 데이터가 삽입될 때 릴레이션 재구성의 필요성을 축소

 

제1정규형

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

- 릴레이션 스키마에서 정의된 모든 속성의 도메인이 원자값을 갖는 상태

 

제2정규형

- 제1정규형 만족, 기본키의 부분집합이 특정 속성을 종속 X

- 릴레이션의 인스턴스가 기본키가 아닌 속성들이 기본키에 완전히 종속 (무손실 분해)

 

제3정규형

- 제2정규형 만족, 기본키가 아닌 속성들이 어던 키에도 이행적으로 종속 X

 

BC 정규형

- 제3정규형 만족, 모든 함수적 종속성에 대해 슈퍼키인 상태

 

역정규화

- 정규화를 통해 분리되던 릴레이션을 통합하는 재조정을 수행, 정보의 부분적 중복을 허용

- 데이터 접근 성능을 개선

반응형
Comments