모두CBT

다음 R과 S 테이블에 대해, 주어진 ‘관계대수’와 동일한 투플 결과를… | [7급 국가직 데이터베이스론] 26년 1회차 기출문제 상세 페이지

1[7급 국가직 데이터베이스론] 26년 1회차
다음 R과 S 테이블에 대해, 주어진 ‘관계대수’와 동일한 투플 결과를 출력하는 ‘SQL 문’은? (단, 밑줄로 표기된 속성은 기본키를 의미한다)
R
AB
a15
a210
a315
a420
S
CA
c1a1
c2a1
c3a2
c4a3
1
관계대수: σ(B < 10)(R) ⋈R.A=S.A S
SQL 문:
SELECT DISTINCT R.A, R.B, S.C, S.A
FROM R INNER JOIN S
WHERE R.B < 10;
2
관계대수: R ⋈N S
SQL 문:
SELECT DISTINCT R.A, R.B, S.C
FROM R, S
WHERE R.A IN (SELECT S.A FROM S);
3
관계대수: R ⋉ S
SQL 문:
SELECT DISTINCT R.A, R.B
FROM R, S
WHERE R.A = S.A;
4
관계대수: R ⟕ S
SQL 문:
SELECT DISTINCT R.A, R.B, S.C
FROM R, S
WHERE R.A = S.A;
해설

세미조인 R ⋉ S와, 동등 조건으로 조인한 뒤 R의 속성만 중복 없이 출력하는 SQL이 같은 결과를 낸다.

R ⋉ S는 S와 A 값이 일치하는 R의 투플만 남겨 (a1, 5), (a2, 10), (a3, 15)가 된다.
SQL은 R.A = S.A로 조인하면 a1이 두 번 나오지만 DISTINCT로 R.A, R.B만 뽑아 같은 세 투플이 된다.

  • B < 10 선택 후 조인: 관계대수 결과는 a1의 2투플인데, SQL은 INNER JOIN에 ON 조건이 없어 조인 조건이 적용되지 않는다.
  • 자연 조인: 관계대수 결과는 (A, B, C) 4투플이지만, SQL은 R, S의 카티션 곱에서 R.A만 걸러 R의 세 투플과 S의 모든 C가 조합된 12투플이 된다.
  • 왼쪽 외부 조인: 관계대수 결과에는 (a4, 20, NULL)이 포함되지만, SQL은 동등 조인이라 a4가 빠진다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[7급 국가직 데이터베이스론] 26년 1회차 25문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요7급 국가직 데이터베이스론 기출문제 암기장 전체 보기