본문 바로가기
Department/Database

데이터베이스 과제#2

by mean. 2020. 7. 14.
728x90
반응형

6장 연습문제 ( p.196 ~ 199 ) 중 아래 문제 풀이

  • 문제 1, 4, 5, 6, 7, 9, 11, 14, 15, 16
  • 문제 19중 (1), (2), (3), (5)
  • 문제 20중 (1), (2), (3)
    6장 기출문제 ( p.200~ 206 ) 중 아래 문제 풀이
  • 문제 23
  • 문제 25, 30 : 답 이외에도, 해당 답의 이유도 함께 쓸 것
    (문제는 쓰지 않아도 됨)

문제 1. 릴레이션의 A와 B가 합병 가능한지 여부를 판단하는 기준이 아닌 것은?

1. 두 릴레이션의 인스턴스가 동일해야 한다.
2. 두 릴레이션의 차수가 동일해야 한다.
3. 두 릴레이션의 대응하는 속성의 이름은 달라도 상관없다.
4. 두 릴레이션의 대응하는 속성의 도메인은 동일해야 한다.

답 : 1번
풀이 : 릴레이션의 인스턴스는 내용물에 해당하는 부분이기 때문에 동일하지 않아도 합병가능하다.


문제 4. 릴레이션에서 조건을 만족하는 투플들을 반환하는 관계 대수 연산자는?

1. select 2. project 3. join 4. division

답 : 1번
풀이 : 셀렉트는 조건에 맞는 투플들을 반환하는 관계 대수 연산자이다.
단항-단항 연산자.


문제 5. 릴레이션에서 제시된 특정 속성들의 값으로만 구성된 투플을 반환하는 관계 대수 연산은?

1. select 2. project 3. join 4. division

답 : 2번
풀이 : 한 릴레이션의 원하는 속성값만을 골라서 결과 릴레이션에 나타내는 관계 대수 연산자를 project라고 한다.


문제 6. 릴레이션 R의 각 투플과 릴레이션 S의 각 투플을 모두 연결하여 만들어진 새로운 투플을 반환하는 관계 대수 연산자는?

1. 교집합 2. 합집합 3. 차집합 4. X

답 : 4번 카티션프로젝트
풀이 : 두 릴레이션의 각 투플을 연결하여서 하나의 릴레이션으로 나타내는 관계 대수 연산을 카티션프로젝트라 한다.


문제 7. 공통 속성을 이용해 릴레이션 R과 S의 투플들을 연결하여 만들어진 새로운 투플들을 반환하는 관계 대수 연산은?

1. select 2. project 3. join 4. division

답 : 3번
풀이 : join은 공통 속성을 이용해 두 릴레이션간의 투플들을 연결하여 새로운 릴레이션을 만들어낸다.


문제 9. 릴레이션의 R의 차수가 3이고, 카다널리티가 5, 릴레이션 S의 차수가 4이고, 카다널리티가 6일 때 두 릴레이션을 카티션 프로덱트한 결과 릴레이션의 차수와 카타널리티는?

1. 12,11 2. 7,11 3. 7,30 4. 12,30

답 : 3번
풀이 : 두 릴레이션의 카티션 프로젝트의 결과 릴레이션은 릴레이션 R의 차수 3 + 릴레이션 S의 차수 4 = 7 이기 때문에 결과 릴레이션의 차수는 7이며,
카티션프로젝트의 카다널리티는 5*6이므로 30이다.


문제 11. 자연 조인 연산을 수행할 때 상대 릴레이션에 조인 속성 값이 같은 투플이 존재하지 않아 조인연산에서 제외되었던 모든 투플을 결과 릴레이션에 포함시키는 조인 연산은?

1. 동일조인 2. 세타조인 3. 외부조인 4. 세미조인

답 : 3번
풀이 : 외부조인은 기준이 되는 릴레이션과 곂치는 부분이 없어서 결과에서 제외되었던 투플 또한 결과 값에 나타낸다.


문제 14. 다음 설명을 읽고 빈칸을 적절히 채우시오.

관계대수나 관계 해석으로 기술할 수 있는 모든 데이터 처리 요구를 새로 제안된 데이터 언어가 기술할 수 있다면 그 언어를 ( ) 하다고 말할 수 있다.

답 : 관계적으로 완전
풀이 : 관계적으로 완전해야지만 관계대수나 관계해석으로 기술할 수 있기 때문이다.


문제 15. 자연 조인과 동일 조인의 차이를 설명하시오.

답 : 자연조인은 결과값에 중복된 속성값은 제외한다.
하지만 동일조인의 경우 결과값에 중복되는 속성값도 함께 나타낸다.
풀이 : 동일조인의 결과값에서 중복되는 속성값을 제외시킨 결과를 자연조인이라고 말할 수 있기 때문이다.


문제 16. 다음 두 릴레이션 R과 S에 대해 카티션 프로덕트 연산을 수행한 결과 릴레이션을 작성하시오.


문제 23. ‘결과 테이블’을 얻기 위하여 '테이블 R', '테이블 S'에 적용한 관계 연산의 종류로 옳은 것은?


답 : 1번 (자연 조인)
풀이 : 테이블R의 a4, b4, c4와 테이블S의 b5,c5,d5가 중복된 값을 가지지않아서 결과값에서 제외되었기 때문에 자연조인의 결과이다.


문제 25. 축구팀과 선수들에 대한 릴레이션 스키마와 관계 대수식이 다음과 같을 때, 동등한 관계 대수식을 모두 고른 것은? (단, 밑줄은 기본키를 나타낸다.)

릴레이션 스키마
축구팀 (이름, 연고지, 경기수, 승률)
선수 (이름, 소속팀, 연봉)
관계 대수식
E1 : π축구팀.승률,선수.이름(σ축구팀.이름=선수.소속팀 and 선수.연봉>20000(축구팀X선수))
E2 : π축구팀.승률,선수.이름(π이름.승률(축구팀)⋈축구팀.이름=선수.소속팀(σ연봉>20000(선수)))
E3 : π축구팀.승률,선수.이름(π이름.승률(축구팀)⋈축구팀.이름=선수.소속팀(σ연봉>20000(π연봉,소속팀(선수))))
E4 : π축구팀.승률,선수.이름(축구팀⋈축구팀.이름=선수.소속팀(σ선수.연봉>20000(선수)))

  1. E1,E2 2. E2,E3 3. E1,E2,E4 4. E1,E2,E3,E4

답 : 3번
풀이 : E3의 연산과정은 선수의 릴레이션 스키마에서 연봉과 소속팀의 속성을 프로젝트하여 연봉 2000이상인 선수들을 셀렉트한 다음 축구팀.이름과 선수.소속팀이름이 같은 테이블을 연산하는 것인데 축구팀.이름 테이블의 정보를 선수테이블에서 가지고 있지 않기 때문에 이는 불가능한 것으로 고려됩니다. 때문에 E3번만 동등하지않은 관계 대수식을 가지고 있기 때문에 정답은 3번입니다.


문제 30. 두 릴레이션 R1(A,B,C),R2(B,C,D)를 오른쪽 외부 조인 Right Outer Join 한 결과에 나타나는 투플의 수는?


오른쪽 외부조인의 연산과정으로는 R2가 기준이 되어서 R1과 조인을 하게되며, 오른쪽 외부조인은 기준의 속성값이 일치하지 않는 부분도 결과값에 포함하여야 하기 때문에 NULL 6 7 12 행도 결과 테이블에 포함하게 됩니다.
이로인해 결과 테이블은 위의 결과처럼 나오게 됩니다.

728x90
반응형