본문 바로가기
학교/데이터베이스

MS SQL Server 기반 데이터베이스 배움터 4장 (관계 대수와 SQL) 연습문제 풀이

by 코드 이야기 2021. 5. 20.
728x90

https://book.naver.com/bookdb/book_detail.nhn?bid=7000196 

 

데이터베이스 배움터

『데이터베이스 배움터』는 데이터베이스의 기본적인 개념과 실용적인 이론을 중심으로 한 학기 동안 가르치기에 적절한 주제들을 정선하여 저술하였고, 개념을 알기 쉽게 보여주는 그림들을

book.naver.com

 

 

4. 아래의 릴레이션 R에 대하여 물음에 답하라.

(1) 실렉션의 결과를 보여라.

(2) 프로젝션의 결과를 보여라.

 

 

 

5. 아래의 두릴레이션 R과 S를 보고 물음에 답하라.

(1)

(2)

(3)

 

 

 

6. 아래의 두 릴레이션 R과 S를 보고 물음에 답하라.

(1) R과 S의 카티션 곱의 결과를 보여라.

(2) R과 S동등 조인의 결과를 보여라.

(3) R과 S를 자연 조인의 결과를 보여라.

(4) R과 S의 왼쪽 외부 조인의 결과를 보여라.

(5) R과 S의 오른쪽 외부 조인의 결과를 보여라.

(6) R과 S의 완전 외부 조인의 결과를 보여라.

 

 

 

7. 아래의 릴레이션 R을 S로 디비전한 결과를 보여라.

(1)

(2)

 

 

 

9. 아래와 같이 관계 대수 연산자 두 개가 차례로 적용되었다. 한 개의 관계 대수식으로 표현하라.

- 1. πNAME(σNAME='Park' And NAME='Lee')

- 2.  πNAME(σAGE > 20(R))

 

 

 

10. 비디오 대여점에서 사용할 수 있는 아래와 같은 데이터베이스 스키마를 보고, 각 질의를 관계 대수식과 SQL로 표현하라.

  CUSTOMER (CUSTOMER_ID, NAME, ADDRESS, PHONE)

  VIDIO (VIDEO_ID, TITLE, GENRE)

  RESERVED (CUSTOMER_ID, VIDEO_ID, DATE)

 

(1) 제목이 '반지의 제왕' 인 비디오 테이프의 장르를 검색하라.

  πGANRE(σTITLE='반지의 제왕'(VIDEO))

(2) 예약된 비디오 테이프 ID를 검색하라.

  πVIDEO_ID(RESERVED)

(3) 예약되지 않은 비디오 테이프의 ID를 검색하라.

  πVIDEO_ID(VIDEO) - πVIDEO_ID(RESERVED) 

(4) 예약된 모든 비디오 테이프의 제목을 검색하라.

  πTITLE(VIDEO_ID(VIDEO) * VIDEO_ID(RESERVED))

(5) 비디오 테이프를 예약한 고객의 이름을 검색하라.

  πNAME(CUSTOMER_ID(RESERVED) * CUSTOMER_ID(CUSTOMER))

 

 

 

11. 적절한 애트리뷰트들을 포함한 학생 릴레이션을 정의하는 CREATE TABLE문을 작성하라. 애트리뷰트들 중에서 학점(GRADE) 애트리뷰트가 가질 수 있는 값이 'A', 'B', 'C', 'D', 'F' 중의 하나임을 CHECK 옵션을 사용하여 명시하라.

CREATE TABLE STUDENT (

    STUDENT_ID    INTEGER NOT NULL,

    NAME                CHAR(10),

    GRADE              CHAR(1) CHECK(GRADE IN ('A', 'B', 'C', 'D', 'F')),

    PRIMARY KEY  (STUDENT_ID));

 

 

 

15. 비디오 대여점의 아래 릴레이션을 보고 물음에 답하라.

(1) 다음 질의의 결과는 무엇인가?

  SELECT  COUNT(GENRE)

  FROM     VIDEO;

5

(2) 다음 질의의 결과는 무엇인가?

  SELECT  COUNT(DISTINCT GENRE)

  FROM     VIDEO;

→ 3

(3) 다음 질의의 결과는 무엇인가?

  SELECT        COUNT(*)

  FROM           VIDEO;

  GROUP BY  GENRE;

→ 2, 2, 1

 

 

 

16. 다음 릴레이션 스키마를 보고 아래의 관계 대수식과 동등한 SQL문을 표현하라.

  R (A, B, C)

  S (D, E, F)

(1) SELECT * FROM R WHERE B=17;

(2) SELECT * FROM R, S;

(3) SELECT R.A, S.F FROM R, S WHERE R.C = S.D

 

 

 

18. impedence mismatch 문제가 무엇을 의미하는지 설명하라.

→ 데이터 구조의 불일치 (DBMS의 데이터 구조와 실제 데이터 구조가 다름을 의미한다.)

 

 

 

728x90

댓글