관계 데이터 연산
관계 데이터 연산의 개념
원하는 데이터를 얻기 위해 릴레이션에 필요한 처리를 요구하는 것이다. 관계 대수와 관계 해석이 있는데, 이 둘은 기능과 표현력 모두에서 능력이 동등하다.
[관계 데이터 연산]
- 관계 대수 : 원하는 결과를 얻기 위해 데이터의 처리 과정을 순서대로 기술하는 절차 언어이다.
- 관계 해석 : 원하는 결과를 얻기 위해 처리를 원하는 데이터가 무엇인지만 기술하는 비절차 언어이다.
관계대수 (Relational Algebra)
관계대수는 절차적 쿼리언어로, "어떤" 정보를 검색할 것인가? 뿐만 아니라 "어떻게" 그 정보를 검색할 것인가? What and How 대한 설명도 포함한다.
[일반 집합 연산자]
합집합 Union (∪)
- 두 릴레이션의 합집합을 반환한다.
교집합 Intersection ( ∩ )
- 두 릴레이션에 모두 존재하는 투플들을 반환한다.
차집합 Difference ( - )
- 한 릴레이션에는 존재하지만 다른 릴레이션에는 없는 튜플들을 반환한다.
카디션 프로덕트 Cartesian Product ( x )
- 두 릴레이션의 모든 가능한 행 쌍을 결합한다.
[순수 관계 연산자]
셀렉트 Select ( σ )
- 특정 조건을 만족하는 행들을 선택한다.
프로젝트 Project ( π )
- 지정된 열(속성)만을 포함하는 새로운 테이블을 만든다.
조인 Join ( ⨝ )
- 두 릴레이션에서 조건을 만족하는 행들을 결합한다.
디비전 Division ( / )
- 한 릴레이션 내의 투플들이 다른 릴레이션의 모든 튜플과 대응될 때 사용한다.
관계해석 (Relational Calculus)
- 관계해석은 비절차적 쿼리 언어로, 사용자가 원하는 정보는 무엇인지 설명하지만, 그 정보를 어떻게 검색할 것인지에 대해서는 설명하지 않는다.
- 관계해석에는 튜플 관계해석(Tuple Relational Calculus, TRC)과 도메인 관계해석(Domain Relational Calculus, DRC)의 두 가지 변형이 존재한다.
자세한 설명은 다음 "데이터베이스 언어 SQL" 을 통해 이해해보자.
출처 : 데이터베이스 개론 3판, 김연희 저자 한빛아카데미
데이터베이스 개론 | 김연희 - 교보문고
데이터베이스 개론 |
product.kyobobook.co.kr
'DB > 데이터베이스 개론' 카테고리의 다른 글
[DataBase] 데이터베이스 설계 (0) | 2023.10.20 |
---|---|
[DataBase] 데이터베이스 언어 SQL (0) | 2023.10.20 |
[DataBase] 관계 데이터 모델(Relational Data Model) (0) | 2023.10.19 |
[DataBase] 데이터 모델링(Data Model) (0) | 2023.10.15 |
[DataBase] 데이터베이스 시스템 (0) | 2023.10.09 |