- 단항 연산자 : 연산자<조건> 릴레이션
- 셀렉션 : 원하는 투플을 선택
- 프로젝션 : 릴레이션의 속성 선택
- 개명 : 릴레이션이나 속성의 이름을 변경
- 이항 연산자 : 릴레이션1 연산자<조건> 릴레이션2
- 디비전 : 부모 릴레이션에 포함된 투플의 값을 모두 갖고 있는 투플을 분자 릴레이션에서 추출
- 합집합, 교집합, 차집합
- 카티전 프로덕트(X) : 두 릴레이션에 속한 모든 투플의 집합 조합
- 조인
- 세타조인 : 두 릴레이션 사이에 비교조건에 만족하는 집합
- 동등조인 : 두 릴레이션 간의 같은 값을 가진 집합
- 자연조인 : 동등조인에서 중복 속성을 제거
- 더 있지만.. 많이 이용되는 연산자만.....
공부하면서 가장 헷갈렸던 카티전 프로덕트와 조인만 더 상세하게 보고 넘어가기
카티전 프로덕트
: 카티전 프로덕트는 수평적 연산이다! 곱하기 연산 기호를 사용한다. 첫번째 릴레이션의 차수(열의 수)가 4, 카디날리티(행의 수)가 3이고 두번째 릴레이션의 차수(열의 수)가 5, 카디날리티(행의 수)가 4라면 --> 차수는 4+5=9개, 카디날리티는 3*4=12개가 된다!
직접 이해할 때에는 수학에서 함수의 개수를 세는 것과 같다고 생각했다. 첫번째 릴레이션의 첫번째 행에서 두번째 릴레이션의 모든 행에 매칭시키는 형식..!
조인
: 조인은 두 릴레이션의 공통 속성(열의 이름)을 기준으로 투플을 수평으로 결합하는 연산이다.
즉, 카티전 프로덕트 연산을 한 후에 셀렉션을 하는 형태라고 생각하면 편하다
- 세타조인 : 등호, 부등호를 사용해 조건을 씀
- 동등조인 : 세타조인 중에서 등호를 사용해 조건을 쓰면 동등조인
- 자연조인 : 동등조인을 사용하면, 첫번째 릴레이션과 두번째 릴레이션에서 공통된 속성이 두번 나타나는데, 이것을 제거하고 표현할 수 있음
질의예시1) 고객과 고객의 주문사항을 모두 보이시오. -> 동등조인 이용!
--> 고객 *조인*<고객.고객번호=주문.주문번호> 주문
c에서 자꾸 ==으로 쓰니까 하나만 쓰면 문법오류나야 할 것 같아...
질의예시2) 고객과 고객의 주문사항을 모두 보여주되, 같은 속성은 한 번만 표시하시오. -> 자연조인이용!
--> 고객 *조인*N<고객.고객번호=주문.주문번호> 주문
'데이터베이스' 카테고리의 다른 글
| [DB] (MySQL) 데이터 조작어(SELECT, FROM, WHERE, GROUP BY 복합) (0) | 2022.04.17 |
|---|