1. 다음 중 5개의 테이블로부터 필요한 칼럼을 조회하려고 할 때, 최소 몇 개의 JOIN조 건이 필요한가?
최소 JOIN 조건의 개수는 테이블의 개수 - 1 개가 필요하다!
▷ 4개
2. 아래의 영화 데이터베이스 테이블의 일부에서 밑줄 친 속성들은 테이블의 기본키이며
출연료가 8888 이상인 영화명, 배우명, 출연료를 구하는 SQL 문장은?
- 배우(배우번호, 배우명, 성별)
- 영화(영화번호, 영화명, 재작년도)
- 출연(배우번호, 영화번호, 출연료)
SELECT 영화.영화명, 배우.배우명, 출연.출연료
FROM 영화, 배우, 출연
WHERE 출연.영화번호 = 영화.영화번호
AND 출연.배우번호 = 배우.배우번호
AND 출연.출연료 >= 8888;
3. 다음 중 아래에서 JOIN에 대한 설명으로 가장 적절한 것을 모두 고르시오.
1) 일반적으로 JOIN은 PK와 FK 값의 연관성에 의해 성립된다.
2) DBMS 옵티마이저는 FROM절에 나열된 테이블들을 임의로 3개 정도씩 묶어서 JOIN을 처리한다. : 2개의 테이블을 먼저 JOIN
3) EQUI JOIN은 JOIN에 관여하는 테이블 간의 컬럼 값들이 정확하게 일치하는 경우에 사용되는 방법이다.
4) EQUI JOIN은 '=' 연산자에 의해서만 수행되며, 그 이외의 비교 연산자를 사용하는 경우에는 모두 NON EQUI JOIN이다.
5) 대부분 NON EQUI JOIN을 수행할 수 있지만, 때로는 설계상의 이유로 수행이 불가능한 경우도 있다.
4. 다음 중 순수 관계 연산자에 해당하지 않는 것은?
- SELECT
UPDATE- JOIN
- DIVISION
순수 관계 연산자 - SELECT, PROJECT, JOIN, DIVISION
연산자 | 기호 | 표현 | 의미 |
SELECT | σ | σ조건(R) | 릴레이션 R에서 조건을 만족하는 튜플들을 반환 |
PROJECT | π | π속성리스트(R) | 릴레이션 R에서 주어진 속성들의 값만으로만 구성된 튜플들을 반환 |
JOIN | ⨝ | R⨝S | 공통 속성을 이용해 릴레이션 R과 S의 튜플들을 연결하여 만들어진 새로운 튜플들을 반환 |
DIVISION | ÷ | R÷S | 릴레이션 S의 모든 튜플과 관련이 있는 릴레이션 R의 튜플들을 반환 |
릴레이션 : 관계형 데이터베이스에서 정보를 구분하여 저장하는 기본 단위로, 결국 릴레이션은 DB 테이블이다.
릴레이션의 특징
- 한 릴레이션에는 똑같은 튜플(Tuple)이 포함될 수 없다.
- 한 릴레이션에 포함된 튜플 사이에는 순서가 없다.
- 튜플들의 삽입, 삭제 등의 작업으로 인해 릴레이션은 시간에 따라 변한다.
- 릴레이션 스키마를 구성하는 속성들 간의 순서도 중요하지 않다.
- 속성의 유일한 식별을 위해 속성 명칭은 유일해야 하지만, 속성의 값은 동일할 수 있다.
- 속성의 값은 논리적으로 더 이상 쪼갤 수 없는 원자 값만을 지정한다.
속성(attribute) : 하나의 열 (고객번호, 이름, 전화번호, 집주소)
차수(degree) : 한 릴레이션 안에 있는 속성 수를 차수라고 한다. ( 4 : 고객번호, 이름, 전화번호, 집주소)
따라서 0이 될 수 없다.
튜플(tuple) = 레코드 : 각 행
카디널리티(cardinality) : 튜플의 개수
도메인(domain) : 도메인은 릴레이션에 포함된 속성들이 각각 가질 수 있는 값들의 집합
ex ) 구매유무 에서 {유,무}
논리모델 | 물리모델 |
엔티티(Entity) | 테이블(Table) |
속성 (Attribute) | 컬럼(Column) |
관계 (Relation) | 관계(Relation) |
키 그룹(Key group) | 인덱스(index) |
'△ > SQLD' 카테고리의 다른 글
SQLD 문제 풀이 9 (2) | 2023.05.22 |
---|---|
SQLD 문제 풀이 8 (0) | 2023.05.22 |
SQLD 문제 풀이 6 (0) | 2023.05.15 |
SQLD 문제 풀이 5 (1) | 2023.05.13 |
SQLD 문제 풀이 4 (0) | 2023.05.11 |
댓글