반응형
카티션 프로덕트
두 개의 테이블에서 각각의 레코드들을 서로 결합하여 하나의 레코드로 구성하면서 가능한 모든 조합의 레코드들로 테이블을 생성한다.
<테이블명1>*<테이블명2>
A1 | A2 |
A | 1 |
B | 2 |
C | 3 |
D | 4 |
A3 | A4 |
E | 5 |
F | 6 |
G | 7 |
H | 8 |
이 두 테이블을 카티션 프로덕트를 하면 어덯게 될까?
A1 | A2 | A3 | A4 |
A | 1 | E | 5 |
B | 2 | E | 5 |
C | 3 | E | 5 |
D | 4 | E | 5 |
A | 1 | F | 6 |
B | 2 | F | 6 |
C | 3 | F | 6 |
D | 4 | F | 6 |
A | 1 | G | 7 |
B | 2 | G | 7 |
C | 3 | G | 7 |
D | 4 | G | 7 |
A | 1 | H | 8 |
B | 2 | H | 8 |
C | 3 | H | 8 |
D | 4 | H | 8 |
4*4를 해서 16개의 필드들이 나타난다.
다른 예시를 들어보자
Professor 테이블
department 테이블
이 두개의 테이블을 카티션 프로덕트를 하려고 하면 너무나 많은 레코드들이 생긴다. 여기서 우리는 같은 이름의 필드 dept_id가 있는 것을 확인할 수 있다.
σ professor.dept_id=department.dept_id(professor * department)
professor 테이블과 department 테이블을 카티션 프로덕트를 했다 . 이때 두 테이블 모두 dept_id를 가지니 =효과를 주면 테이블을 보여줄 때 하나의 dept_id만 보여주고 합칠 때 서로의 dept_id 값이 맞지 않는 값들은 보여주지 않는다.
반응형
'데이터베이스' 카테고리의 다른 글
관계대수(선택연산, 추출연산, 재명명 연산, 연산자들의 조합)#1 (0) | 2022.03.30 |
---|
댓글