관계대수의 개요
관계대수는 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는가를 기술하는 절차적인 언어이다.
•관계대수는 릴레이션을 처리하기 위해 연산자와 연산 규칙을 제공하는 언어로 피연산자가 릴레이션이고, 결과도 릴레이션이다.
•질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시한다
•관계대수에는 관계 데이터베이스에 적용하기 위해 특 별히 개발한 순수 관계 연산자와 수학적 집합 이론에서 사용하는 일반 집합 연산자가 있다.
•순수 관계 연산자 - Select - Project - Join - Division
•일반 집합 연산자 - UNION(합집합) - INTERSECTION(교집합) - DIFFERENCE(차집합) - CARTESIAN PRODUCT(교차곱)
•한 릴레이션에는 똑같은 튜플이 포함될 수 없으므로 릴 레이션에 포함된 튜플들은 모두 상이하다. <학생> 릴레이션을 구성하는 김예소 레코드는 김예 소에 대한 학적 사항을 나타내는 것으로 <학생> 릴 레이션 내에서는 유일하다.
•속성의 유일한 식별을 위해 속성의 명칭은 유일해야 하 지만, 속성을 구성하는 값은 동일한 값이 있을 수 있다. 각 학생의 학년을 기술하는 속성인 ‘학년’은 다른 속성 명들과 구분되어 유일해야 하지만 ‘학년’ 속성에는 2, 1, 2, 4 등이 입력된 것처럼 동일한 값이 있을 수 있다.
•릴레이션을 구성하는 튜플을 유일하게 식별하기 위해 속성들의 부분집합을 키(Key)로 설정한다. <학생> 릴레이션에서는 ‘학번’이나 ‘이름’이 튜플들을 구분하는 유일한 값인 키가 될 수 있다.
순수 관계 연산자
Select
릴레이션에 존재하는 튜플 중에서 선택 조건을 만족하는 튜플의 부분집합을 구하여 새로운 릴레이션을 만드는 연산
•릴레이션의 행(가로)에 해당하는 튜플을 구하는 것이 므로 수평 연산이라고도 함
•연산자의 기호는 그리스 문자 시그마(σ)를 사용함
Project
주어진 릴레이션에서 속성 리스트(Attribute List)에 제시된 속성 값만을 추출하여 새로운 릴레이션을 만드는 연산이 다. 단 연산 결과에 중복이 발생하면 중복이 제거됨
•릴레이션의 열(세로)에 해당하는 Attribute를 추출하는 것이므로 수직 연산자라고도 함
•연산자의 기호는 그리스 문자 파이(π)를 사용함
Join
공통 속성을 중심으로 두 개의 릴레이션을 하나로 합쳐 서 새로운 릴레이션을 만드는 연산
•연산자의 기호는 를 사용함
Division
X⊃Y인 두 개의 릴레이션 R(X)와 S(Y)가 있을 때, R의 속성 이 S의 속성값을 모두 가진 튜플에서 S가 가진 속성을 제 외한 속성만을 구하는 연산
•연산자의 기호는 ÷를 사용함