솜은 코튼
[DB] 관계 대수 (집합 연산자) 본문
일반 집합 연산자
.
일반 집합 연산에는 합집합(union), 교집합(INTERSECT), 차집합(difference), 카디션 프로덕트가 있다.
순수 관계 연산들로는 셀렉트(select), 프로젝트(project), 조인(join), 디비전(division)이 있다.
일반 집합 연산자에서 카디션 프로덕트를 제외한 연산자들은 두 릴레이션이 합병 가능하여야 한다.
1. 합집합 (UNION, U)
.
합집합은 두 릴레이션 R과 S에서 R 또는 S에 있거나 모두에 속한 튜플들로 이루어진 릴레이션이다.
컬럼의 개수가 같아야 하며, 각 컬럼의 데이터 타입이 같아야 한다.
위에서 추출한 RESULT1과 RESULT2를 합집합하면 아래와 같이 나온다.
여기서 알 수 있는 것은 애트리뷰트 이름은 같지 않아도 된다.
추가로 결과 릴레이션에서 중복된 튜플들은 제외된다.
2. 교집합 (INTERSECT, ∩)
.
교집합은 두 릴레이션 R과 S 모두에 속한 튜플들로 이루어진 릴레이션이다.
위에서 추출한 RESULT1과 RESULT2를 교집합하면 아래와 같이 나온다.
3. 차집합 (DIFFERENCE, -)
.
차집합은 두 릴레이션 R - S는 R에는 속하지만 S에는 속하지 않은 튜플들로 이루어진 릴레이션이다.
위에서 추출한 RESULT1과 RESULT2를 차집합하면 아래와 같이 나온다.
4. 카디션 프로덕트 (CARTESIAN PRODUCT, X)
.
카디션 프로덕트은 두 릴레이션 R과 S의 튜플들의 모든 가능한 조합으로 이루어진 릴레이션이다.
EMPLOYEE와 DEPARTMENT를 카디션 곱을 하면 아래와 같이 나온다.
카디션 곱 후 투플의 수는 각 테이블 행의 곱과 같고,
속성의 수는 각 테이블의 속성들을 더한 값과 같다.
* 해당 글은 '데이터베이스 배움터' 책을 참고하여 작성하였습니다. 출처: ORACLE을 기반으로 하는 데이터베이스 배움터 (홍의경)
'DB' 카테고리의 다른 글
[DB] 정보 처리 시스템 (0) | 2023.05.31 |
---|---|
[DB] 무결성 제약 조건 (0) | 2023.05.28 |
[DB] 관계 데이터 모델 (릴레이션) (0) | 2023.05.28 |
[DB] E-R 다이어그램 (개체-관계 모델) (0) | 2023.05.28 |
[DB] 관계 대수 (실렉트, 프로젝트, 조인, 디비전, 집단 함수, 그룹화) (0) | 2023.05.23 |