본문 바로가기
데이터베이스

관계대수(카티션 프로덕트)#2

by 핫동경 2022. 4. 3.
반응형

카티션 프로덕트

두 개의 테이블에서 각각의 레코드들을 서로 결합하여 하나의 레코드로 구성하면서 가능한 모든 조합의 레코드들로 테이블을 생성한다.

<테이블명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 값이 맞지 않는 값들은 보여주지 않는다.

반응형

댓글