<8대 연산자>
1.셀렉션( δ ) : 가로 한줄 골라줌
2.프로젝션( π ) : 세로 한줄 골라줌
3.합집합(유니온) ( ∪ ): 도메인 같으면 합침 (합치면서 중복 튜플은 제외됨)
(도메인) : 남,여 성별 코드속성을 0,1로 지정하는것(타입,사이즈 포함)
4.교집합 ( ∩ ) : 겹치는거 골라줌
5.차집합 ( - ) : a에서 b 뺌
6.곱 ( x ) : a,b 두 테이블로 만들 수 있는 모든 경우의 수
7.디비젼( / ) : a/b 면 b를 포함하던 a의 (b를 제외한)나머지 부분을 가져옴
8.조인 ( ⋈ ) : 두 테이블로부터 연관된 투플들을 결합함
세타조인, 동등조인, 자연조인, 외부조인, 세미조인 등이 있음
동등조인 : a,b 테이블을 동등조인하라 하면 공통부분인 primary key를 가지고 묶음
자연조인 : 동등조인으로 묶으면 한 테이블에 primary key와 foreign key가 같이 있을텐데 외 래키 제거(중복제거)
외부조인 : left join : b 테이블을 a테이블에 붙임. 부족하거나 남으면 a는그대로 ,b는 버림
right join : a테이블을 b테이블에 붙임. (빈공간은 null로 채움 left도마찬가지)
full join : 부족하거나 남는걸 버리지않고 다 살린채로 붙임(빈공간은 null로채움)
<관계대수의 한계>
산술연산 불가
집단 함수 no지원
정렬 못나타냄
db수정 불가
프로젝션 연산결과에 중복된 튜플이 있다고 명시못함
등..
So....이 한계를 극복하기위해 관계해석 과 결합한것이 SQL
<관계해석>
관계대수로 표현한 식은 관계해석으로 표현 가능
연산자 : or(V), and(^), not(ㄱ)
정량자 : 전칭(∀), 존재(∃)
전칭 전량자 : 모든 가능한 튜플
존재 정량자 : 어떤 튜플 하나라도 존재