바쁜 삶을 사느라 블로그 관리를 못했다... 뭐했다고 벌써 기말고사지? 이제 기말 공부 시작이다.
1. 관계 데이터 연산의 개념
1. 관계 데이터 연산
관계 데이터 연산은 총 두 가지로 나눌 수 있다.
- 관계 대수 : 원하는 결과를 얻기 위해 데이터의 처리 과정을 순서대로 기술 (절차적 언어)
- 관계 해석 : 원하는 결과를 얻기 위해 처리를 원하는 데이터가 무엇인지만 기술 (비절차적 언어)
관계 대수와 관계 해석은 기능과 표현력 측면에서 동등한 능력을 가진다. 또한, 관계 대수나 관계 해석으로 기술할 수 있는 모든 질의를 기술할 수 있는 데이터 언어는 관계적으로 완전하다고 판단한다.
2. 관계 대수
관계 대수는 폐쇄적인 특징을 가진다. 이는 피연산자도 릴레이션이고 당연히 연산의 결과도 릴레이션으로 나온다는 특징이다.
관계 대수 연산자도 두 가지로 나눌 수 있다.
- 일반 집합 연산자 : 합집합 (∪), 교집합(∩), 차집합(-), 카티션 프로덕트 (X)
- 순수 관계 연산자 : 셀렉트 (σ), 프로젝트 (π), 조인 (⋈), 디비전(÷)
1. 일반 집합 연산자
일반 집합 연산자는 릴레이션이 튜플의 집합이라는 개념을 이용하는 연산자이다.
연산자 | 기호 | 표현 | 의미 |
합집합 | ∪ | R ∪ S | 릴레이션 R과 S의 합집합 반환 |
교집합 | ∩ | R ∩ S | 릴레이션 R과 S의 교집합 반환 |
차집합 | - | R-S | 릴레이션 R과 S의 차집합 반환 |
카티션 곱 | X | R X S | 릴레이션 R의 각 튜플과 S의 각 튜플을 연결하여 만든 새 튜플 반환 |
- 특성
1) 피연산자가 2개 필요
2) 합집합, 교집합, 차집합의 경우 두 릴레이션이 합병 가능한 조건에 있어야 한다.
- 두 릴레이션의 차수가 같고
- 대응되는 속성의 도메인이 같아야 한다. (속성의 타입이 같아야 함)
2. 순수 관계 연산자
3. 순수 관계 연산자 - JOIN
- 조인의 종류
1. 세타 조인 : 주어진 조건을 만족하는 두 릴레이션의 모든 튜플을 연결하여 생성된 새로운 튜츨로 결과 릴레이션 구성
2. 동등 조인 : 세타 조인에서의 연산자가 '='로 바뀐 조인
3. 자연 조인 : 동등 조인의 결과 릴레이션에서 조인 속성이 한 번만 나타나게 하는 연산
4. 세미 조인 : 조인 속성으로 프로젝트 연산을 수행한 릴레이션을 이용하는 조인
5. 외부 조인 : 자연 조인 연산에서 제외되는 튜플도 결과 릴레이션에 포함 (LEFT, RIGHT)
-> LEFT OUTER JOIN은 왼쪽 릴레이션의 모든 튜플을 결과에 집어 넣음
-> RIGHT OUTER JOIN은 오른쪽 릴레이션의 모든 튜플을 결과에 집어 넣음
3. 결과 해석
- 비절차적 언어로써, 수학의 프레디킷 해석에 기반을 두고 있음
- 분류 : 튜플 관계 해석, 도메인 관계 해석
끝!
'CS 전공 > DB' 카테고리의 다른 글
[데이터베이스] 10. 인덱스 (2) | 2024.06.08 |
---|---|
[데이터베이스] 9. SQL (0) | 2024.06.08 |
[데이터베이스] 7. 정규화 (0) | 2024.04.24 |
[데이터베이스] 6. 데이터베이스 설계 (0) | 2024.04.24 |
[데이터베이스] 5. 관계 데이터 모델 (0) | 2024.04.23 |