일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 김경문
- 타이젠
- Linux
- 단통법
- python
- Git
- 애플
- 국정원
- 야구
- 조세피난처
- Tizen
- 태그를 입력해 주세요.
- ubuntu 12.04
- 손민한
- 데이터베이스
- NC 다이노스
- 문파문파 공략
- 블로그
- 우분투
- 리뷰
- 해외직구
- 뉴스타파
- ubuntu
- 인공지능
- 문파문파
- 프로야구
- arm
- mysql
- 안드로이드
- NC다이노스
- Today
- Total
꿈꾸는 사람.
[정보시스템감리사][데이터베이스][2012년 기출풀이]BCNF정규형 본문
정규화
릴레이션과 함수 종속성을 주고 특정 정규형으로 릴레이션을 분할하는 문제는 감리사 시험의 데이터베이스 과목에서 늘 출제되는 문제다.
정규화의 기본 원칙은 무손실 분해하는 것이다.
분해된 릴레이션을 조인하여 원래의 릴레이션으로 복구할 수 있어야 한다.
BCNF 정규형 구하기
2012년 56번 문제를 보자.
56. 다음과 같은 함수 종속을 갖는 릴레이션 R(A, B, C, D, E)을 BCNF로 가장 적절하게 분해한 결과는? (아래 답 문항에서 밑줄은 기본키를 표현한다.)
A → (B, C, D, E) B → (A, C, D, E) E → (C, D) C → D |
① R1(A, B, E), R2(E, C, D)
② R1(A, B, C, E), R2(C, D)
③ R1(A, B, E), R2(E, C), R3(C, D)
④ R1(A, B, E), R2(E, C, D), R3(C, D)
1. 종속성에서 기본키를 찾기
기본키는 나머지 모든 속성들을 함수적으로 결정하므로 A, B는 각각 기본키가 될 수 있다.
따라서 (A,B) 속성들을 묶어서 하나의 기본키로 정의한다.
2. 함수적 종속성을 그림으로 그려보기
"① -> ② -> ③"의 순서대로 추적하면 모든 속성을 찾을 수 있다.
3. 분해하기
①은 기본키가 나머지 속성들을 함수적으로 결정하는 것을 나타낸다.
③의 C -> D는 이행함수 종속이므로 따로 테이블로 분리한다.
②의 E -> (C,D)는 분해규칙을 적용하여 E -> C와 E -> D로 나누면
(A, B) -> E -> C로 이행함수 종속이므로 (A,B) -> E와 E -> C로 나눈다.
E -> D는 C -> D로 이미 분리하였으므로 제외한다.
4. 재생성하기
자연조인으로 원래 릴레이션 R이 정상적으로 복구가 되었다.
'정보시스템감리사 > Database' 카테고리의 다른 글
[데이터마이닝] 의사결정나무(Decision Tree Analysis) (0) | 2017.12.27 |
---|---|
ER 다이어그램. Relation으로 사상(Mapping) (0) | 2017.12.16 |
[2016년][공무원 7급][데이터베이스] 기출 풀이. (0) | 2017.04.27 |
[정보시스템감리사][데이터베이스][기출풀이] 2010년] 트랜잭션 개요 (0) | 2017.01.10 |