릴레이션의 연산과 술어 논리

제한(Restrict)

제한은 SELECT의 WHERE 절에 해당하는 작업이다. 제한은 대상 릴레이션에 관해 새로운 술어를 적용하는 작업이다. 릴레이션 R에 대한 술어를 P(t), 제한을 Q(t)라고 하면 제한을 적용한 후의 릴레이션의 술어는 다음과 같다.

P(t)∧Q(t)

양쪽의 술어를 만족하는 집합을 구하는 것이 제한이다.

곱집합(Product)

R1과 R2가 각각 참이 되는 명제의 집합이고, R1과 R2의 전제가 되는 사실로부터 어떻게 새로운 사실을 도출할지가 곱집합의 의미이다. 즉 R1과 R2로 새로운 릴레이션 R3를 도출한다. R1과 R2의 술어를 각각 P(t1), Q(t2)라고 하면은 곱집합 술어는 다음과 같다.

P(t1)∧Q(t2)

결합(Join)

곱집합과 결합은 같은 형태가 된다.

P(t1)∧Q(t2)

둘의 차이점은 공통 속성의 유무이다. 곱집합에는 두개의 릴레이션에 공통 속성이 존재하지 않지만 결합은 공통된 특성이 존재하고, 공통의 속성은 같은 의미가 있으며 같은 값이 아니면 모순이 된다.

결합후 릴레이션은 다음과 같이 된다.

P(x, z)∧Q(y, z)

결합 후의 릴레이션의 술어는 한 개의 의미가 있으므로 다음과도 표현할 수 있다

F(x, y, z)

외부결합(Outer Join)

외부 결합은 합집합의 의미에 더 가깝다.

교집합(Intersect)

결합의 특수한 경우이다. 때문에 술어도 똑같이 표현된다.

P(t)∧Q(t)

모든 속성이 공통이므로 튜플을 구별할 필요가 없다.

합집합(Union)

모든 특성이 공통인 릴레이션 사이의 연산이다. 그러나 술어의 의미는 다르다.

P(t)∨Q(t)

차집합(Difference)

한쪽의 릴레이션에는 포함돼 있지만 다른 쪽의 릴레이션에는 포함되지 않은 튜플의 집합을 반환하는 연산이다.

P(t)∨¬Q(t)

프로젝션(Projection)

여러 개의 특성이 있는 릴레이션에서 특정 속성만 남기는 작업이다. 어떤 릴레이션의 술어를 P(x, y)라고 한다면 프로젝션의 결과는 P’(y)가 된다고 할 수 있다.

속성명 변경(Rename)

이름을 변경하는 것일 뿐이라 논리식의 변화는 없다.

확장(Extend)

기존의 속성에 어떤 연산을 한 결과를 새로운 속성으로 추가하는 작업이다. 논리 연산이 아닌 어떤 법칙으로 새로운 사실을 도출하는 것이 확장이 가진 의미이다.