정보처리기사/데이터베이스 활용
관계대수 - JOIN/DIVISION 연산
glorypang
2025. 10. 18. 12:49
728x90
반응형
SMALL
JOIN (▷◁)
- 정의: 공통 속성으로 두 릴레이션을 합쳐 새 릴레이션을 만든다.
- 표기: `R ▷◁D2=D2 S`
예시
R(D1, D2)
| D1 | D2 |
| A | 1 |
| B | 2 |
| C | 1 |
S(D2, D3)
| D2 | D3 |
| 1 | x |
| 1 | y |
| 3 | z |
결과
| D1 | D2 | D3 |
| A | 1 | x |
| A | 1 | y |
| C | 1 | x |
| C | 1 | y |
공통 속성 D2=1인 튜플들만 매칭되어 결합됨. (R의 D2=2, S의 D2=3은 매칭 없음)
DIVISION (÷)
- 정의: R(D1, D2)와 S(D2)에서, S가 가진 모든 D2 값을 가진 D1만 골라 D1만 반환.
- 표기: `R [D1,D2 ÷ D2] S`
예시1
R(D1, D2)
| D1 | D2 |
| A | 1 |
| A | 2 |
| A | 3 |
| B | 1 |
| B | 2 |
| C | 2 |
| C | 3 |
S(D2)
| D2 |
| 1 |
| 2 |
결과
| D1 |
| A |
| B |
이유:
- S는 {1, 2}를 요구
- A는 {1,2,3} ⊇ {1,2} → 포함 ✅
- B는 {1,2} ⊇ {1,2} → 포함 ✅
- C는 {2,3} ⊇ {1,2} 아님 → 제외 ❌
예시2
R(D1, D2, D3)
| D1 | D2 | D3 |
| a | 1 | A |
| b | 1 | A |
| a | 2 | A |
| c | 2 | B |
S(D2, D3)
| D2 | D3 |
| 1 | A |
결과
| D1 |
| a |
| b |
이유:
- a는 (1, A)를 가지고 있음 → 포함
- b도 (1, A)를 가지고 있음 → 포함
- c는 (1, A)가 없음 → 제외
728x90
반응형
LIST