질의어


관계대수와 같다.
대수 = 식 
5 + 4 = 10 -> 수식
식을 구성하는 구성요소가 있다. 5, 4의 위치는 각각 항이라고 칭하고 +는 산술연산자
관계대수도 이런 식!. 

 

그러나 수가 아닌 관계(릴레이션)이 들어간 식.
마찬 가지로 관계대수에도 연산자가 있다. 
관계대수의 연산자를 이해하고 활용 하는 방법을 배운다.

관계해석 = 집합의 개념으로 나타냄, 원하는 데이터만 명시하고 질의를 어떻게
               수행할 것인가는 명시하지 않는 선언적인 언어
                대통령 선언문 -> 꿈이 있는 나라를 만들겠습니다!

관계대수 = 수식으로 뭔가를 나타냄, 선언적인언어 이기는 하지만 관계해석에 비해 약간의
               절차성이 있다.


.

실렉션, 프로젝션은 단항 연산자
합집합, 차집합, 카티션 곱은 집합연산자


1. 실렉션(σ) : 세로줄은 애트리뷰트, 가로줄은 튜플, 
r(R)에서 선택조건 c를 만족하는 튜플들을 선택
               ex)  학생 튜플이 40개 있을때, 조건을 1개줌 
                     이중에서 지난 학기 4.0이상인 학생들을 뽑아라. 
                     그럼 그에 해당하는 튜플들이 나옴 
                    원래 데이터의 갯수를 넘을 수 없다.

 


2. 프로젝션(π) : 
                 ex) 학생이라는 릴레이션에 학번, 평점만 나오게해줘!
                     특정 지정만 애트리뷰트들만 짤라 나올수 있게 하는 것이 프로젝션
                     원래 데이터의 갯수를 넘을 수 없지만 릴레이션을 집합으로 보기 때문에
                      중복된 값은 합치게 되어 ex) 과장 2개 나오면 과장1개 줄어 들 수는 있다.
실렉션과 프로젝션은
일반적으로는 교환법칙이 성립한다.
그러나 없어지는 애트리뷰트에 대한 조건문이 들어가면 안된다.
ex) 프로젝션을 통해 이름 애트리뷰트가 사라진 상태에서 
실렉션을 통해 이름을 찾는 경우 문제가 됨.



3. 합집합 : 
두개의 릴레이션의 튜플들을 합쳐주는 것 

4. 차집합 : 
2-1 학생들 중 자료구조를 수강, 송윈플 노수강인 친구들을 뽑아주세요!

5. 교집합 :
송윈플, 장자구 둘다 들은 학생을 뽑아주세요

- 합집합, 차집합, 교집합은 애트리뷰트 들의 갯수가 동일하고, 대응되는
   애트리뷰트들의 도메인이 호환성을 가져야 한다. -> 이를 합집합 호환성이라 부른다.
   = 즉 스키마가 동일한 두 릴레이션에 대해서만 집합연산이 가능하다.


두 릴레이션 들에 대해서 차집합 연산을 할때 합집합 호환성이 있어야 된다. 

 

+ Recent posts