정규화

2023. 5. 8. 13:36데이터베이스/데이터베이스 시스템

728x90
반응형

데이터의 중복

일관성 유지 어려움

저장공간 낭비

갱신이상

삽입이상 레코드 추가 시 불필요한 컬럼의 값이 없이는 추가하지 못하는 경우

삭제이상 삭제 시 의도하지 않았던 다른 데이터가 삭제 되는 경우

수정이상 중복 저장된 레코드를 수정 시 모두 반영이 안되어 데이터베이스의 일관성이 깨지는 경우

 

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

어떻게 데이터를 저장해야하는가

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

고려사항

한 릴레이션 내의 컬럼간의 관계 분석

원하지 않는 데이터는 종속과 중복 제거

새로운 컬럼들이 데이터베이스에 추가될 때 기존 컬럼과의 관계 수정 최소화

 

함수적 종속성

정의

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

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

 

확장

함수적 종속성은 릴레이션의 효율성 여부에 중요한 판단기준 그러나 릴레이션의 인스턴스 만으로 내재된 모든 함수적 종속성을 찾아내기 어려움

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

클로저(closure)

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

 

추론규칙

암스트롱 공리(Armstrong’s axiom)

재귀성, 부가성, 이행성, 분해, 합집합, 의사 이행성 규칙

 

카노니컬 커버

함수적 종속성 추론 규칙으로 확장된 클로저에는 자명한 종속성과 중복된 종속성을 포함

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

 

정규화

 

개념

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

 

분류

1,2,3BC,4,5정규형

 

목적

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

정규화의 기능

데이터베이스 내에 모든 릴레이션을 효과적으로 표현

삽입,수정,삭제등 이상현상 발생 방지

데이터삽입 시 릴레이션 재구성의 필요성을 축소

 

1정규형

가장 조건이 단순한 정규형

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

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

 

함수적 종속성 다이어그램

릴레이션 내의 속성간의 종속 관계를 직관적이고 이애하기 쉽게 도식화 한 표현 방식

 

2정규형

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

주어진 릴레이션의 인스턴스가 기본키가 아닌 속성들이 기본키에 완전히 종속되어 있는 상태

 

3정규형

릴레이션이 제2정규형을 만족하고, 기본키가 아닌 속성들이 어떤 키에도 이행적으로 종속되지 않은 형태

 

BC정규형

릴레이션이 제3정규형을 만족하고 릴레이션에 성립하는 X->Y 형태의 모든 함수적 종속성에 대하여 X가 슈퍼키인 상태

 

역정규화

개념

정규화되어 있는 상태를 되돌리는 것

 

정규화

릴레이션 분할을 통해 데이터의 중복성을 최소화하는 과정

사용과정에서 많은 조인연산을 유발

역정규화

정규화의 반대과정

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

데이터 접근 성능 개선 목적

정규화 하지 않은 스키마와 역정규화 스키마는 구별됨

728x90

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

물리적 저장장치  (0) 2023.05.15
데이터베이스시스템_문제  (0) 2023.05.15
SQL3  (0) 2023.05.04
SQL2  (0) 2023.04.28
SQL  (0) 2023.04.05