본문 바로가기
공부 정리/데이터베이스개론

[데이터베이스개론] 9장 연습문제

by 경적필패. 2021. 12. 29.
반응형

[1] 어떤 릴레이션에 속한 모든 속성이 원자 값만을 가지며, 기본키가 아닌 속성 모두가 기본키에 완전 함수 종속이지만 이행적 함수 종속이 나타나면 어떤 정규형에 해당하는가?

  1. 제 1정규형
  2. 제 2정규형
  3. 제 3정규형
  4. 보이스/코드 정규형

 

[정답]2

이행적 함수종속을 완료하면 제 3정규형이 됩니다.

해당 조건을 만족 못했으므로 제 2정규형 입니다.

 

 

[2] 정규화에 대한 설명으로 옳지 않은 것은?

  1. 논리적 데이터베이스 설계 방법 중 하나다.
  2. 좋은 데이터베이스 스키마를 생성하고 불필요한 데이터의 중복을 방지하는 데 목적이 있따.
  3. 정규형에는 제 1정규형, 제2정규형, 제3정규형, 보이스/코드 정규형, 제4정규형, 제5정규형등이 있다.
  4. 속성들 간의 종속 관계를 분석하여 잘못 설계된 릴레이션들을 결합하면서 문제를 해결한다.

 

[정답]4

결합보다는 분해에 가깝다고 생각합니다.

 

 

[3]잘못 설계된 릴레이션을 조작할 때 발생하는 이상 현상 중 다음이 설명하는 것은 무엇인가?

중복된 투플 중에서 일부 투플의 속성 값만을 변경함으로써 정보의 모순성이 생기는 현상

 

[정답]갱신이상

삽입이상, 갱신이상, 삭제이상이 있습니다.

 

 

[4] 다음 릴레이션에 존재하는 함수 종속성을 모두 찾으시오

A B C
2 3 8
5 9 6
7 9 6
5 9 1
  1. A -> B
  2. B -> C
  3. {A, B} -> C
  4. {B, C} -> D

[정답]1

X -> Y

X값을 넣었을때 동일한 Y가 나온다면 종속성이 인정된다고 보았습니다.

A가 5일때 B가 일관되게 9가 나와서 종속된다고 생각했습니다. (1번)

B에다 9를 3번넣었는데, C값은 6이였다가 1이였다가 했기 때문에 서로의 연관성이 없다고 판단했습니다(2번)

A에 5를 넣고 B에 9를 넣었을때, C값은 6이였다가 1이였다가 했기 때문에 서로의 연관성이 없다고 판단했습니다.(3번)

B에다가 9를 넣고 C에다가 6을 넣었을때 A값이 5와,7로 바뀌었기 때문에 서로 연관성이 없다고 판단했습니다.(4번)

따라서 1번만 종속되있습니다.

 

 

[5]다음과 같은 함수 종속성을 가지는 릴레이션은 어떤 정규형에 속하는가?

A -> (B, C, D)        
B -> C

 

[정답]제 2정규형

ABC 사이에서 이행적함수 종속이 보이므로 제 2정규형 입니다.

 

 

 

[6] 다음과 같은 함수 종속성을 가지는 릴레이션은 어떤 정규형에 속하는가?

{A, B} -> C
{A, B} -> D
B -> C

 

[정답]제 1정규형

AB 와 B때문에 부분종속함수가 보입니다.

부분종속함수를 해결해야 제 2정규형으로 될 수 있습니다.

 

 

[7] 보이스/코드 정규형에 대한 설명으로 옳은 것을 모두 고르시오.

  1. 보이스/코드 정규형에 속하는 릴레이션 반드시 제3정규형에 속한다.
  2. 제3정규형에 속하지만 보이스/코드 정규형에 속하지 않는 릴레이션도 있다.
  3. 모든 결정자가 후보키인 릴레이션이 보이스/코드 정규형에 속한다.
  4. 이행적 함수 종속을 제거한 릴레이션은 보이스/코드 정규형에 속한다.

 

[정답] 1, 2, 3

이행적 함수 종속을 제거한 릴레이션은 제 3정규형입니다.

 

 

[8] 다음 릴레이션 T에 존재하는 함수 종속성을 모두 구하시오.

T

A B C D
a1 b1 c1 d1
a1 b1 c2 d2
a1 b2 c3 d1
a1 b2 c4 d4

 

[정답]

B -> A

D -> A

 

[9] 다음 릴레이션의 함수 종속성을 보고 물음에 답하시오.

<함수 종속>

  1. 학번 ->(이름, 지도교수, 학과이름, 회장이름, 동아리이름, 방번호)
  2. 학과이름 -> 학과전화번호
  3. 과목번호 -> 시간
  4. {학번, 과목번호} -> 성적
  5. {회장이름, 동아리이름} -> 방번호

<속성>

학번

이름

지도교수

학과이름

학과전화번호

과목번호

성적

시간

회장이름

동아리이름

방번호

  1. 위의 릴레이션에서 발생 가능한 삽입, 갱신, 삭제 이상 문제를 예를 들어 설명하시오.
  2. 모든 릴레이션이 제 2정규형을 만족하도록 분해하고, 각 릴레이션의 기본키도 표시하시오
  3. (2)의 모든 릴레이션이 제 3규형을 만족하도록 분해하고, 각 릴레이션의 기본키도 표시하시오.
  4. (3)의 모든 릴레이션이 보이스/코드 정규형을 만족하도록 분해하고, 각 릴레이션의 기본키도 표시하시오.

 

 

[정답]

 

(1)

삽입이상 - 학생을 추가할때 불필요하게 학과전화번호를 계속해서 삽입해야 합니다.

갱신이상 - 여러개의 동아리에 가입한 학생이 전과했을때, 데이터 모순이 발생합니다.

삭제이상 - 동아리를 탈퇴해서 튜플을 삭제하면 학생까지 같이 삭제 됩니다.

 

(2)

2정규형이 만족하려면 부분함수 종속성을 제거해야 합니다.

학생(학번, 이름, 지도교수, 학과이름, 학과전화번호, 회장이름, 동아리이름, 방번호)

과목(과목번호, 시간)

과목성적(학번, 과목번호, 성적)

 

(3)

3정규형을 만족시키려면 이행적함수 종속을 제거하여야 합니다.

학생(학번, 이름, 지도교수, 학과이름, 동아리이름)

과목(과목번호, 시간)

과목성적(학번, 과목번호, 성적)

학과(학과이름, 학과전화번호)

동아리(회장이름, 동아리이름, 방번호)

 

(4)

보이스/코드 정규형을 만족하려면, 모든 결정자를 후보키로 바꿔야 합니다.

후보키란 유일성 최소성을 만족시키는 키를 의미 합니다.

현재 결정자는

학번, 과목번호, 학과이름, 동아리이름이 있는데 모두 후보키 입니다.

반응형

댓글