전공/데이터베이스

7-2. 관계대수와 관계해석 : 이항 관계 연산

문정훈 2021. 11. 3. 01:57

1. 이항관계 연산

1) 조인 연산

관계 대수에서 조인연산의 기본 형태는 우선 아래와 같다.

R와 S라는 테이블의 카티션곱을 Q라고할 때 에서 join condition은 R과 S에 속하는 애트리뷰트들 간의 관계 조건을 나타낸 것인데 그러한 join 조건을 만족하는 Q만을 나타낸 것을 의미한다. 

예를 들어

Mgr_ssn은 부서에서 부서장의 번호를 나타낸 것이고 Ssn은 직원의 번호를 나타낸 것인데 Mgr_ssn즉 부서장을 나타내는  번호를 가진 직원의 이름을 알려고한다. 

위와 같은 join 조건으로 부서와 직원 테이블의 카티션곱이 이루어지고 join조건을 만족하는 투플만 남게 된다. 

그리고 프로젝트 연산을 통해 Fanem, Lname 애트리뷰트 행만 추출하면 부서장을 나타내는  번호를 가진 직원의 이름을 알 수 있다. 

 

2) 동등 조인과 자연 조인

위 조인 연산에서 예시로 든 것을 동등 조인이라하는데 동등 조인은 가장 일반적인 형태로 동등 조인의 결과는 항상 모든 카티션곱 투플에서 두 애트리뷰트가 서로 같은 (조인 조건)만을 걸러낸다.

 

자연 조인이란 우선 표기는 아래와 같이 한다.

두 테이블에 대해 서로 이름이 같은 릴레이션이 A라는 렐레이션이 있다고 치자. 즉 두 테이블 모두 A라는 이름의 릴레이션을 가진다. 그때 두 테이블의 카티션곱에서 두 A의 조인 조건을 적용한 테이블을 반환하는 것임.

두 릴레이션의 조인 애트리뷰트들이 여러 개 일 수 있으며, 두 릴레이션에서 각 조인 애트리뷰트의 이름은 서로 같아야 한다.  하나 더 예로 

위 예시는 DEPARTMENT의 원래 애트트리뷰트들을 쭉 나열한건데 Dnum은 원래 이름이 Dnumber이다. 

PROEJCT에 Dnum과 이름을 일치 시킨것이고 위 자연 조인의 연산 결과는 두 릴레이션의 카티션 곱에서 Dnum을 조인한 투플남 남긴다.

 

3) 디비전

디비전 연산은 '전체 정량자' 또는 모든 조건을 포함한 질의를 다루는데 편의를 제공하기 위해 정의되었다. 

DB응용에서 때때로 나타나는 특별한 유형의 질의 연산이므로 참고로 알아두자..