-
[오라클로 배우는 데이터베이스 개론과 실습] 7장 연습문제Database 2020. 6. 15. 14:57
오라클로 배우는 데이터베이스 개론과 실습 7장 연습문제 풀이입니다.
학교 과제로 혼자서 푼 내용을 공유합니다. 오류가 있다면, 댓글로 알려주세요 :)
① ② ③ ④
1. 정규화의 필요성으로 거리가 먼 것은?
② 중복 데이터의 활성화
2. 관계 데이터베이스의 정규화에 대한 설명으로 옳지 않은 것은?
② 정규화의 목적은 각 릴레이션에 분산된 종속성을 하나의 릴레이션에 통합하는 것이다.
[풀이] 정규화의 목적은 이상현상이 발생하는 릴레이션을 분해하여 이상현상을 없애는 것임
3. 정규화 과정에서 발생하는 이상현상에 관한 설명으로 옳지 않은 것은?
② 속성 간의 종속관계를 분석하여 여러 개의 릴레이션을 하나로 결합하여 이상현상을 해결한다.
[풀이] 정규화는 속성 간의 종속 관계를 분석해 여러 개의 릴레이션을 분해하여 이상현상을 해결한다.
4. 데이터의 중복으로 인해 릴레이션 조작시 발생하는 이상현상에 관한 설명 중 옳지 않은 것은?③ 데이터 수정시 중복된 투플들 중에서 일부 투플이 잘못된 값으로 수정될 경우 정보의 모순성이 생기는데 이를 모순이상이라고 한다.
[풀이] 수정이상이라고 한다.
5. 제 1정규형에서 제 2정규형이 되기 위한 조건은?
④ 키가 아닌 모든 속성이 기본 키에 완전 함수 종속되어야 한다.
6. 제 2정규형에서 제 3정규형이 되기 위한 조건은?
① 이행적 함수 종속을 제거해야 한다.[풀이]
7. 제 3정규형에서 보이스코드 정규형(BCNF)이 되기 위한 조건은?
④ 결정자가 후보키가 아닌 함수적 종속을 제거해야한다.
8. 보이스코드 정규형(BCNF)에 대한 옳은 설명으로만 짝지어진 것은?① ㄱ, ㄴ
[풀이]
ㄷ : 복합속성을 허용하지 않는다 -> 결정자가 복합속성일 수 있다
ㄹ : 이행적 종속을 허용한다 -> 3NF는 비이행적 종속(직접종속)을 만족해야 한다
9. 다음 중 보이스코드 정규형(BCNF)을 만족하기 위한 조건으로 옳게 짝지어진 것은?
② ㄱ, ㄴ, ㄷ, ㄹ
[풀이]
ㄱ : 결정자이면서 후보키가 아닌 것 제거 -> BCNF 조건
ㄴ : 이행적 함수 종속 제거 -> 3NF 조건
ㄷ : 부분함수 종속 제거 -> 2NF 조건
ㄹ : 도메인이 원자값 -> 1NF 조건
10. 다음과 같이 어떤 릴레이션 R과 그 릴레이션에 존재하는 종속성이 주어졌을 때 릴레이션 R은 몇 정규형인가?
릴레이션: R(A, B, C)
기본키: (A, B)
함수 종속성: AB->C, C->B③ 제 3정규형
11. 다음 릴레이션에서 함수 종속성과 키를 찾아보시오. 필요한 전제 사항을 포함하여 답하시오.
성적기록(학번, 강좌번호, 학기, 성적)
함수 종속성 : 학번-> 학기, (학번, 강좌번호) -> 성적
키 : (학번, 강좌번호)
12. 다음 릴레이션에서 AB는 후보키가 될 수 있는가? 아니라면 후보키를 찾아보시오.
릴레이션: R(A, B, C, D, E)
함수 종속성: AB->C, CD->E, DE->B...?
13. 다음 릴레이션 R을 보고 오른쪽 함수 종속성 중에서 성립하는 것을 모두 고르시오
A
B
C
D
1
1
1
1
2
2
2
2
2
1
3
1
4
3
4
3
[보기] A -> B, A -> C, A -> D, B -> A, B -> C, B -> D, C -> A, C -> B, C -> D, D -> A, D -> B, D -> C
: 함수 종속성을 만족하는 것은 B -> D, C -> A, C -> B, C -> D, D -> B이다.
14. 다음 릴레이션 R을 보고 아래 함수 종속성이 성립하는지 답하시오. 그 이유도 설명하시오.
A
B
C
b
c
h
e
i
f
g
i
f
e
b
a
14-(1). A -> C
: 성립하지 않는다. 왜냐하면 e->f, e->a에서 e의 값에 유일하게 종속되지 않는다.
14-(2). A -> B
: 성립하지 않는다. 왜냐하면 e->i, e->b에서 e의 값에 유일하게 종속되지 않는다.
14-(3). B -> C
: 성립한다. 왜냐하면 c->h, i->f, b->a로 속성 B는 속성 C에 유일하게 종속된다.
14-(4). (B, C) -> A
: 성립하지 않는다. 왜냐하면 (i, f)->e, (i, f)->g로 (i, f)의 값에 유일하게 종속되지 않는다.
14-(5). (A, B) -> C
: 성립한다. 왜냐하면 (b, c)->h, (e,i)->f, (g, i)->f, (e, b)->a로 속성 (A, B)는 속성 C에 유일하게 종속된다.
14-(6). (A, C) -> B
: 성립한다. 왜냐하면 (b, h)->c, (e, f)->i, (g, f)->i, (e, a)->b로 속성 (A, C)는 속성 B에 유일하게 종속된다.
15. 아래의 릴레이션 R1(A, B, C)을 릴레이션 R2(A, B)와 R3(A, C)로 분해한 후, 속성 A를 사용하여 다시 조인하면 어떤 가짜 투플이 생기는지 확인해보시오. 생긴다면 이유는 무엇인지 설명하시오.
A
B
C
1
1
1
1
2
2
2
3
3
: (1, 1, 2), (1, 2, 1)의 가짜 투플이 생긴다. 왜냐하면, 속성 A를 사용해 조인하는데 R2, R3 릴레이션의 공통 속성인 A가 어느 한 릴레이션의 기본키가 되지 못하기 때문이다.
17. 다음 릴레이션 X에서 성립하는 정규형은 무엇인가?
(1)
: 제 2정규형이다. 왜냐하면 이행적 종속이 존재한다.
(H, I) -> J -> M
(H, I) -> K -> N
(H, I) -> L -> O
(2)
: 제 1정규형이다. 왜냐하면 완전 함수 종속을 만족하지 못한다.
(D, O) -> N, T, C, R, Y
D -> N
19. 릴레이션 Book(booktitle, authorname, booktype, listprice, authorgorup, publisher)에서 함수 종속성은 다음과 같다.
(1) Book 릴레이션은 몇 정규형인가? 그 이유를 설명하시오.
: 제 1정규형이다. 왜냐하면 (booktitle, authorname) -> publisher 과 booktitle -> booktype으로 완전 함수 종속을 만족하지 못하며, booktitle -> booktype -> listprice로 비이행적 종속한다.
(2) 정규화를 수행하시오.
R1(booktitle, booktype)
R2(booktype, listprice)
R3(authorname, authorgroup)
R4(booktitle, authorname, publisher)
'Database' 카테고리의 다른 글
뒤늦은 39회 SQLD 합격 후기 및 공부자료 공유 (0) 2021.05.29 [오라클로 배우는 데이터베이스 개론과 실습] 8장 연습문제 (3) 2020.06.16 [오라클로 배우는 데이터베이스 개론과 실습] 6장 연습문제 (6) 2020.06.14 [오라클로 배우는 데이터베이스 개론과 실습] 4장 연습문제 (0) 2020.04.28 [오라클로 배우는 데이터베이스 개론과 실습] 3장 연습문제 (2) 2020.04.27