정보처리기사/데이터베이스 구축
논리 데이터베이스 설계 4
RangA
2023. 5. 26. 01:30
04. 관계 스키마와 함수 종속
01. 관계 스키마
1) 관계 스키마 설계의 정의
- 데이터베이스 설계에서 현실 세계를 가장 정확하게 표현하기 위하여 데이터의 논리적 구조를 결정하는 것
2) 관계 스키마 설계 원칙
- 개체, 속성, 관계를 식별하여 릴레이션으로 구성함
- 불필요한 데이터와 데이터 중복이 발생하지 않도록 설계함
- 속성 사이의 관계와 데이터의 종속성을 고려하여 설계함
- 일관성을 유지하며 효율적으로 데이터를 관리하도록 설계함
3) 이상(Anomaly) 현상
- 관계 스키마 설계가 잘못되면 불필요한 데이터의 중복이 발생함
- 특히 데이터의 중복으로 인해 릴레이션 조작 시 예상치 못하는 곤란한 현상이 발생하게 되는 것을 이상 현상이라고 함
- 이상 현상을 해결하기 위해서는 속성들 간의 종속 관계를 분석하여 여러 개의 릴레이션으로 분해함
- 릴레이션을 분해하는 작업은 정규화를 통해 진행함
- 삭제 이상 : 임의의 튜플을 삭제하였을 때 관련된 관계성까지 모두 삭제되는 이상 현상
- 삽입 이상 : 튜플을 삽입했을 때 삽입 의도와 관계가 없는 관계까지도 삽입이 되는 이상 현상
- 갱신 이상 : 임의의 데이터를 수정했을 때 그것과 관계된 데이터에 대해 일관성이 없게 되는 이상 현상
02. 함수 종속(Functional Dependency)
1) 함수 종속의 개념
- 개체 내에 존재하는 속성 간의 종속성을 의미
- 관계형 모델을 설계할 때 가장 중요한 요소
- 문제가 없는 릴레이션을 설계하기 위한 기준으로 속성 상호 간의 관계에서 유도되는 제약조건
- 데이터 종속에는 3가지 종속이 존재하며, 그 중 대표적인 종속이 함수 종속
- 속성 간 종속성을 규명해 집합을 분리하므로, 속성과 개체를 정의하고 관계를 파악할 때 절대적인 역할을 함
- 함수 종속을 기반으로 정규화 과정을 거치면 업무 요건을 만족하면서 개체 주제에 맞도록 속성들이 이상 현상 없이 배치될 수 있음
- 개체 내 A 속성의 값이 B 속성의 값을 유일하게 식별할 수 있다면, B 속성은 A 속성에 함수적으로 종속되었음을 의미
- 어떤 릴레이션 R에서 A와 B를 각각 T의 애트리뷰트 집합의 부분 집합이라고 할 경우 애트리뷰트 A의 값 각각에 대해 시간에 관계없이 항상 애트리뷰트 B의 값이 오직 하나만 연관되어 있을 때 B는 A에 함수 종속이라고 하며 A -> B로 나타냄
- 함수 종속은 시간이 경과하면(업무 성격의 변화, 무결성 제거 등) 여러 가지 형태로 변화될 수 있음
2) 결정자(Determinant)와 종속자(Dependent)
- 결정자와 종속자
- 결정자 : 속성 간의 종속성을 규명할 때 기준이 되는 값
- 종속자 : 결정자의 값에 의해 정해지는 값
- 속성 Y가 속성 X에 의해 함수적으로 종속된다는 말은 속성 X의 값을 이용해 속성 Y의 값을 유일하게 식별할 수 있다는 의미
- 결정자 X의 값은 반드시 하나의 Y값과 연관
- "X값에 의존하는 Y값은 하나뿐이지 다른 Y값이 있을 수 없다"를 기호와 수식으로 표현하면 다음과 같음
- X -> Y
- Y = F(X)
- X : 결정자, Y : 종속자
- "X값에 의존하는 Y값은 하나뿐이지 다른 Y값이 있을 수 없다"를 기호와 수식으로 표현하면 다음과 같음
3) 폐포(Closure)
- 정규화는 함수 종속의 결정자가 키가 되도록 개체를 분해하는 과정
- 키가 아닌 모든 속성이 키에 직접 종속되도록 분해하는 것이며, 이로 인해 키와 함수 종속은 밀접한 관련이 있음
- X의 폐포는 X에 종속됐다고 추론할 수 있는 모든 속성의 집합을 의미
- X -> Y, Z라면 X의 폐포는 X, Y, Z라고 함
- X+ = X, Y, Z
4) 함수 종속일 때의 추론 규칙
- 반사 규칙
- A ⊇ B이면 A → B
- 첨가 규칙
- A → B이면 AC → BC
- 이행 규칙
- A → B이고 B → C이면 A → C
- 분해 규칙
- A → BC이면 A → B 또는 A → C
- 결합 규칙
- A → B이고 A → C이면 A → BC