투영(관계 대수)
Projection (relational algebra)In relational algebra, a projection is a unary operation written as , where is a relation and are attribute names. 그 결과는 의 튜플 구성 요소가 세트{ 1,. , 로 제한될 때 얻은 집합으로 정의된다. – 다른 속성은 무시하거나 제외한다.[1]
실용적인 측면에서, 관계를 표로 생각한다면, 투영법은 그 열의 부분집합을 선택하는 것으로 생각할 수 있다. 예를 들어, 속성이 (이름, 나이)인 경우, 관계 {(앨리스, 5), (Bob, 8)}을(를) 속성 목록(나이)에 투영하면 {5,8}이(가) 생성된다. – 우리는 이름을 삭제하고, 존재하는 나이만 알 수 있다.
투영도 속성 값을 수정할 수 있다. For example, if has attributes , , , where the values of are numbers, then is like , but with all 이 .[2]
관련개념
집합 이론에서 밀접하게 관련된 개념(참조: 투영법(set 이론))은 집합 이론에서 하나의 프로젝트가 속성이 아닌 순서 구성요소에 투영된다는 점에서 관계 대수학 개념과 다르다. 예를 들어 두 번째 구성 요소에 (3,) 3을(를) 투영하면 7이 나온다.
투영은 술어 논리학에서 관계 대수학의 실존적 계량화 상대다. 포함되지 않은 속성은 피연산자 관계가 나타내는 확장이 나타내는 술어의 실존적으로 계량화된 변수에 해당한다. 아래의 예는 이 점을 예시하고 있다.
실존적 정량화와 일치하기 때문에 일부 당국은 제외된 속성의 관점에서 투영을 정의하는 것을 선호한다. 컴퓨터 언어에서 두 가지 모두에 대한 공지를 제공하는 것은 물론 가능하며, 그것은 ISBL과 ISBL에서 힌트를 얻은 여러 언어로 이루어졌다.
거의 동일한 개념이 문자열 투영이라고 불리는 모노이드의 범주에서 발생하는데, 이는 주어진 알파벳에 속하지 않는 문자열의 모든 글자를 제거하는 것으로 구성된다.
SQL 표준에서 구현했을 때, "기본 투영"은 세트 대신 멀티셋을 반환하고, π 투영법은 중복 데이터를 제거하기 위해 키워드를 추가하여 얻는다.
예
예를 들어, 다음 두 표에서 설명한 인간 관계와 연령 및 체중 속성에 대한 투영(일부에서는 "over"라고 함)을 고려하십시오.
|
|
사람의 술어가 "이름은 나이가 많고 몸무게가 나간다"라고 가정하자. 그리고 주어진 투영법은 "이름에는 나이가 많고 무게가 나가는 이름이 있다"라는 술어를 나타낸다.
해리와 피터는 같은 나이와 몸무게를 가지고 있지만, 결과는 관계이고, 따라서 집합이기 때문에, 이 조합은 결과에서 한 번만 나타난다.
보다 공식적으로 투영의 의미론은 다음과 같이 정의된다.
서 [ ,.., n] 은는) { , . . ., 에 대한 제한 이다.
여기서 (, ) 은 속성 값이고, a은 속성 이름이며, v 은 해당 속성의 도메인의 요소입니다 — 관계(데이터베이스)를 참조하십시오.
The result of a projection is defined only if is a subset of the header of .
전혀 속성이 없는 상태에서 투영할 수 있으며, 0도의 관계를 산출한다. 이 경우 피연산자가 비어 있으면 결과의 카디널리티가 0이고, 그렇지 않으면 0이다. 0도의 두 관계만이 표로 묘사될 수 없는 것이다.
참고 항목
참조
- ^ "Relational Algebra". cs.rochester.edu. Retrieved 2014-07-28.
- ^ http://www.csee.umbc.edu/~pmundur/cours/CMSC661-02/rel-alg.pdf 문제 3.8을 참조하십시오.3페이지의 B