Relational Algebra
Relation model에 대한 기초적인 연산 집합으로, 검색 요청을 명세하기 위해 사용된다. 검색된 결과는 relation으로 나타난다.
SELECT Operations
Relation R로부터 tuples의 subset을 조건 하에 골라내는 연산
PROJECT Operations
Relation R로부터 attribute list 로만 설명되는 Column들을 선택하는 연산, 연산의 결과에 나타나는 Relation에는 중복된 tuple이 존재하지 않는다.
Set Operations
Union compatibility: 두 relation이 union되려면 attribute의 수가 같아야하고, domain이 서로 완전 동일하진 않더라도 얼추 비슷해야한다.
CARTESIAN PRODUCT Operation
양 쪽에 있는 tuple을 combine하여 모든 가능한 쌍을 만들어 내는 연산으로 결과는 다음과 같다.
결과의 attribute의 수는 두 relation의 attribute의 수의 합이 되고, tuple의 수는 두 relation의 tuple의 수의 곱이 된다.
THETA JOIN Operation
서로 다른 relation에 저장된 tuple간의 관계를 처리하기 위해 필요한 연산이다. 서로 다른 relation에 존재하는 tuple들을 조건 하에 조합한 새로운 relation을 만들 수 있다.
NATURAL JOIN Operation
EQUIJOIN Operation: join condition에 '='이 사용된 join operation. 이 방식은 동일한 값을 가진 두 개의 attribute가 쌍으로 나타난다. 이것을 해결하기 위한 것이 NATURAL JOIN Operation이다.
JOIN되기 전에 attribute 이름을 동일하게 맞춰주어야 한다.
A Complete Set of Relational Algebra Operations
Complete set of relational algebra = {SELECT, PROJECT, UNION, SET DIFFERENCE, CARTESIAN PRODUCT}
Query language가 complete set of relational algebra에 있는 연산을 모두 표현할 수 있다면, 그 Query language는 Relationally complete language이다. complete set 에 있는 연산으로 JOIN, INTERSECTION, DIVISION 모두 표현 가능하다.
'Computer Science > Database Systems' 카테고리의 다른 글
[Database Systems] SQL (2) (0) | 2025.02.01 |
---|---|
[Database Systems] SQL (1) (0) | 2025.01.30 |
[Database Systems] ER to Relational model (0) | 2025.01.26 |
[Database Systems] Relational model (0) | 2025.01.19 |
[Database Systems] ER Diagram (0) | 2025.01.11 |