관계 대수
- 관계형 데이터베이스에서 데이터를 검색하고 조직하기 위한 수학적인 접근 방법이다.
셀렉션 ( σ )
- 릴레이션에서 투플들을 선택할 수 있는 연산자
- WHERE 절과 비슷한 역할을 수행
1
σ 등급 > 5 (pilot)
- 위와 같이 작성시 등급이 5등급 이상인 파일럿만 나오게 할수있다.
프로젝션 ( π )
- 관계에서 필요한 속성만 선택하는 연산자
- SELECT 절과 비슷한 역할을 수행
1
π 파일럿이름, 등급 (pilot)
- 위와 같이 작성시 파일럿이름, 등급만 나오게 할수있다.
집합 연산
테이블 명 : A
파일럿번호 | 파일럿이름 | 등급 | 나이 |
---|---|---|---|
13 | 홍길동 | 1 | 44 |
32 | 이순신 | 10 | 44 |
44 | 안중근 | 7 | 32 |
테이블 명 : B
파일럿번호 | 파일럿이름 | 등급 | 나이 |
---|---|---|---|
28 | 김영량 | 9 | 35 |
32 | 이순신 | 10 | 44 |
45 | 김소월 | 5 | 35 |
44 | 안중근 | 7 | 32 |
테이블 명 : Flight
파일럿번호 | 비행기번호 | 운항일자 |
---|---|---|
13 | 101 | 2022-10-09 |
44 | 102 | 2022-11-23 |
- 합집합 (Union, U) : 합집합 연산은 두 개 이상의 릴레이션에서 중복을 제거하고 모든 튜플을 포함하는 새로운 릴레이션을 생성
- 아래와 같이 합집합 연산은 UNION 키워드를 사용하여 수행할 수 있다.
1
A U B
- 아래와 같이 합집합 연산은 UNION 키워드를 사용하여 수행할 수 있다.
파일럿번호 | 파일럿이름 | 등급 | 나이 |
---|---|---|---|
13 | 홍길동 | 1 | 44 |
28 | 김영량 | 9 | 35 |
32 | 이순신 | 10 | 44 |
45 | 김소월 | 5 | 35 |
44 | 안중근 | 7 | 32 |
- 교집합 (Intersection, ∩) : 교집합 연산은 두 개 이상의 릴레이션에서 공통된 튜플만을 추출하여 새로운 릴레이션을 생성
1
A ∩ B
파일럿번호 | 파일럿이름 | 등급 | 나이 |
---|---|---|---|
32 | 이순신 | 10 | 44 |
44 | 안중근 | 7 | 32 |
- 차집합 (Set-different, -) : 차집합 연산은 두 개 이상의 릴레이션에서 첫 번째 릴레이션에서는 추출되지만, 두 번째 릴레이션에서는 추출되지 않는 튜플만 추출하여 새로운 릴레이션을 생성
1
A - B
파일럿번호 | 파일럿이름 | 등급 | 나이 |
---|---|---|---|
13 | 홍길동 | 1 | 44 |
- 카디션 프로덕트 (Cartesian Product, X) : 두 개 이상의 릴레이션에서 각 각의 모든 필드를 순서대로 가지는 스키마의 릴레이션을 생성
1
A X Flight
파일럿번호 | 파일럿이름 | 등급 | 나이 | 파일럿번호 | 비행기번호 | 운항일자 |
---|---|---|---|---|---|---|
13 | 홍길동 | 1 | 44 | 13 | 101 | 2022-10-19 |
32 | 이순신 | 10 | 44 | 13 | 101 | 2022-10-19 |
44 | 안중근 | 7 | 44 | 13 | 101 | 2022-10-19 |
13 | 홍길동 | 1 | 44 | 13 | 102 | 2022-11-23 |
32 | 이순신 | 10 | 44 | 13 | 102 | 2022-11-23 |
44 | 안중근 | 7 | 44 | 13 | 102 | 2022-11-23 |
이름 바꾸기
- 로우 (𝝆) : 릴레이션에서 필드의 이름을 변경
1
𝝆(C((σ등급>5(A)))
테이블 명 : C
파일럿번호 | 파일럿이름 | 등급 | 나이 |
---|---|---|---|
32 | 이순신 | 10 | 44 |
44 | 안중근 | 7 | 32 |
조인 ( ⋈ )
- 릴레이션을 조인할 수 있는 연산자