관계 대수 - 순수 관계 연산자
조인 연산자
- 두 개의 Relation으로부터 연관된 튜플들을 결합하는 연산자
- 관계 데이터베이스에서 Relation간의 관계를 다루는데 매우 중요한 연산자
- 조인의 유형(theta join, equijoin, natural join, outer join, semijoin)
세타 조인, 동등 조인
- 두 Relation R(A1, A2,...,An)과 S(B1,B2,...,BM)의 세타 조인 결과는 차수가 n+m이고, 애트리뷰트가 (A1,A2,...,An,B1,B2,...,Bm)이며, 조인 조건을 만족하는 튜플들로 이루어진 릴레이션
- 세타는 {=,<>,<=,<,>=,>} 중의 하나
- 사용형식 : R ⋈ R.Attributeθ S.AttributeS
- 동등 조인은 세타 조인 중에서 비교 연산자가 =인 조인(R ⋈ A=B S ={ r·s| r∈R∧ s∈S∧ ( r.A=s.B) })
자연 조인
- 동등 조인의 결과 Relation에서 조인 속성을 한 개 제외한 조인
- 여러 가지 조인 연산자들 중 가장 자주 사용됨
- 실제로 관계 데이터베이스에서 대부분의 질의는 selection, projection, natural join으로 표현 가능
- 사용 형식 (R ⋈ N R.attribute, S.attributeS)
외부조인
조인 과정에서 상대 relation에서 대응되는 튜플이 없을 경우, 이를 제외하지 않고 상대를 Null값을 갖는 튜플로 결과 relation에 포함시킴
- 왼쪽 외부 조인(left outer join), 오른쪽 외부 조인(right outer join), 완전 외부 조인(full outer join)
왼쪽 외부조인
- 두 relation R과 S의 왼쪽 외부 조인 연산은 R의 모든 튜플들을 결과에 포함시킴
- Relation S에 관련된 튜플이 없으면 결과 Relation에서 RelationS의 attribute들은 null 값으로 채움
오른쪽 외부조인
- Relation R과 S의 오른쪽 외부 조인 연산은 S의 모든 튜플들을 결과에 포함시키고
- 만일 Relation R에 관련된 튜플이 없으면 결과 Relation에서 Relation R의 Attribute들은 Null 값으로 채움
완전 외부조인
- Relation R과 S의 완전 외부 조인 연산은 R과 S의 모든 튜플들을 결과에 포함시키고
- 만일 상대 Relation에 관련 튜플이 없으면 결과 Relation에서 상대 Relation의 속성들은 Null값으로 채움
세미 조인
- Relation R1과 R2에서 조인 속성으로 R2를 프로젝트 연산 후 결과를 R1에 자연 조인
- 불필요한 속성을 미리 제거해 조인의 효율성을 꾀함
디비전 연산자
차수가 n+m인 릴레이션 R(A1, A2,...,An, B1,B2,...,Bm)과 차수가 m인 Relation S(1,B2,...,Bm)의 디비전 R / S는 차수가 n이고 S에 속하는 모든 튜플 u에 대해 튜플 tu(튜플 t와 튜플 u를 결합한 것)가 R에 존재하는 튜플 t들의 집합
관계 대수 질의 예제
학습 정리
조인
두개 Relation의 공통 속성을 기준으로 속성값이 같은 튜플들을 수평으로 결합하여 새로운 하나의 Relation을 만드는 연산
- 세타 조인, 동등 조인
- 자연 조인, 외부 조인
- 세미 조인
디비전
X ⊃ Y인두개의 Relation에서 R(X)와 S(Y)가 있을때 R Relation의 속성이 S Relation의 속성값을 모두 가진 투플에서 S Relation이가진 속성만 제외한 튜플로 결과 릴레이션을 구성하는 연산
반응형
'23년 이전 글 > 데이터베이스' 카테고리의 다른 글
Microsoft SQL Server, SSMS 설치 및 기본설정 (0) | 2022.08.04 |
---|---|
관계 대수 확장, 해석, 관계 연산 정리 (0) | 2022.07.27 |
관계 데이터 연산(select, project, 집합 연산) (0) | 2022.07.26 |
Relation과 무결성 제약 (0) | 2022.07.26 |
데이터베이스 시스템, 데이터 모델 (0) | 2022.07.23 |