ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [오라클로 배우는 데이터베이스 개론과 실습] 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)

Designed by Tistory.