[1. 조인]
1. 조인 : 두 개 이상의 릴레이션(테이블)에서 조인 조건에 맞는 두 릴레이션의 투플을 조합하여 만들어지는 투플로 구성된 새로운 릴레이션을 생성하는 연산
- 조건을 설정하여 원하는 데이터만 볼 수 있음
2. 조인의 종류
(1) 내부 조인(∩, inner join) : 왼쪽 테이블과 오른쪽 테이블의 두 행이 모두 일치하는 행이 있는 부분만 표기
(2) 왼쪽 조인(left outer join) : 왼쪽 테이블의 모든 행이 결과 테이블에 표기됨
(3) 오른쪽 조인(right outer join) : 오른쪽 테이블의 모든 행이 결과 테이블에 표기됨
(4) 합집합 조인(full outer join) : 두 개의 테이블을 기반으로 (조건에 만족하지 않더라도) 모든 행이 표기됨
Ex. 학생 명단 테이블과 교양과목 테이블
Ex. 내부 조인 : [학생명단]의 학번과 [교양과목 성적]의 학번이 같은 경우 조인
Ex. 왼쪽 조인 : [학생명단]에 있는 학번이 [교양과목 성적]의 학번과 동일한 경우 조인
Ex. 오른쪽 조인 : [교양과목 성적]에 있는 학번이 [학생명단]의 학번과 동일한 경우 조인
Ex. 합집합 조인
[2. 조인의 원리]
1. 중첩루프 조인
- for문을 중첩하여 첫 번째 테이블의 행을 하나 읽은 후 두 번째 테이블의 행을 하나 읽어 조건에 맞는 레코드를 찾아 결괏값을 반환함
- 비용이 높기 때문에 대용량 데이터베이스에서는 비효율적
2. 정렬 병합 조인
- 각 테이블을 조인할 필드 기준으로 정렬한 후 조인 작업을 수행
- 인덱스가 없을 때 사용
3. 해시 조인
(1) 빌드 단계 : 테이블 중 하나를 기반으로 메모리 내 해시 테이블을 만드는 단계 (Ex. 용량이 더 작은)
- 조인에 사용되는 필드가 해시 테이블의 키로 사용됨
(2) 프로브 단계 : 해시 테이블을 기반으로 일치하는 레코드를 찾는 단계
- 테이블을 한 번씩만 읽으므로 중첩루프조인보다 성능이 좋음
'데이터베이스 > DB 이론' 카테고리의 다른 글
[데이터베이스] 4. 인덱스 (0) | 2023.02.17 |
---|---|
[데이터베이스] 3. 무결성 (0) | 2023.02.07 |
[데이터베이스] 2. 트랜잭션 (0) | 2023.02.07 |
[데이터베이스] 1.데이터베이스 기본 (0) | 2023.02.01 |