- 데이터베이스 13 : 관계 대수 Relationship Algebra - 추가 연산자2024년 10월 01일 15시 19분 33초에 업로드 된 글입니다.작성자: UXO Studio
01 Set Intersection
02 Join
03 Division
01 Set Intersection
Notation: r ∩ s
- r과 s에 모두 포함되는 레코드들로 구성된 새로운 릴레이션을 생성
card(r ∩ s) ≤ min{card(r), card(s)}
- r과 s는 동일한 스키마를 가져야 함
- r ∩ s = r – (r – s)
Example
대출 계좌와 예금 계좌를 모두 가진 고객 이름
πcustomer-name(borrower) ∩ πcustomer-name(depositor)
02 Join
: 공통 속성을 중심으로 두 개의 릴레이션을 합쳐 새로운 릴레이션을 생성
021 Natural Join
Notation: 𝑟 ⋈ 𝑠
- 공통 속성을 중심으로 두 개의 릴레이션을 하나로 합치는 연산. 중복되는 부분을 최소화
- 𝑟 ⋈ 𝑠 = π R∪S(r.A1 = s.A1 ∧ r.A2 = s.A2 ∧ … ∧ r.An = s.An (r × s))
- If R ∩ S = ∅, then 𝑟 ⋅ 𝑠 = 𝑟 × 𝑠
Example
- ‘Harrison’에 살고 있는 고객이 예금하는 은행?
πbranch-name(σcustomer-city=‘Harrison’(customer ⋈ depositor ⋈ account))
- Find all customers who have both a loan and an account
πcustomer-name(borrower ⋈ depositor)
022 Theta Join, Equi Join
Theta Join: 𝑟 ⋈θ 𝑠
- 정의 : σθ(r × s)
Equi Join
- Theta join에서 조건이 '='인 연산
- 주의 : 공통 속성을 중복하여 출력 → Natural Join
Example
023 Outer Join
정보 손실을 피하기 위하여 join 연산을 확장
ex) 두 개의 릴레이션을 가정
- 사원(empid, ename, dept, addr, salary, hiredate)
- 부양가족(empid*, dname, relationship, phone)
사원과 부양가족 정보를 같이 표현하기 위하여 사원과 부양가족 릴레이션을 조인(사원 ⋈ 부양가족)할 경우 문제점?
Outer Join의 개념: 다른 테이블에 대응되는 레코드가 없는 레코드들을 join 결과에 추가 (Null 값 이용)
- Left Outer Join
- Right Outer Join
- Full Outer Join
Example
03 Division
Notation: r ÷ s
- "For All"에 관련된 질의에 사용
s의 레코드 값을 모두 가진 r의 레코드
- r(A, B) ÷ s(B)
Example
- ‘Brooklyn’에 위치한 모든 은행에 계좌를 가진 고객
πcustomer-name, branch-name(depositor ⋈ account) ÷ πbranch-name(σbranch-city=‘Brooklyn’ (branch))
Note
- r ÷ s = πR-S(r) – πR-S((πR-S(r) × s) – πR-S,S(r))
#SetIntersection #Join #NaturalJoin #ThetaJoin #EquiJoin #OuterJoin #LeftOuterJoin #RightOuterJoin #FullOuterJoin #Division #관계형연산 #데이터베이스 #SQL #릴레이션연산 #집합교집합 #관계대수 #데이터베이스조인 #NaturalJoin설명 #ThetaJoin설명 #EquiJoin설명 #OuterJoin설명 #SQLJoin #데이터베이스SetIntersection #Division연산 #관계형데이터베이스 #SQL쿼리 #데이터베이스설계 #DBMS
'Data > Database' 카테고리의 다른 글
ER 모델을 이용한 데이터 모델링 - (0) 2024.11.08 데이터베이스 12 : 관계 대수 Relationship Algebra - 기본 연산자 (0) 2024.09.25 데이터베이스 11 : 관계형 데이터베이스의 구조 (0) 2024.09.25 데이터베이스 10 : 전체 시스템 구조 미리보기 (0) 2024.09.25 데이터베이스 09 : 데이터베이스 사용자와 관리자 (0) 2024.09.25 다음글이 없습니다.이전글이 없습니다.댓글