공부/데이터베이스2011. 8. 9. 20:27


UNION : 합집합
INTERSECT : 교집합
EXCEPT : 차집합
위 세개는 중복이 포함되지 않는다.

IN : A IN B, A가 B에 속하면
NOT IN: IN 반대.

EXISTS : IN과 비슷. 서브쿼리의 결과가 공집합인지 아닌지 점검. 아니면 서브쿼리 결과를 바탕으로 메인쿼리 재계산.
UNIQUE: 서브쿼리의 인스턴스의 튜플의 갯수가 2개이상이 아닌지 검사. 하나이거나 0개일 때 TRUE.

ANY :  서브쿼리가 반환하는 튜플 중에 하나라도 만족하면 참.
ALL : 서브쿼리가 반환하는 모든 튜플을 만족하면 참.
IN과 ANY가 같고
NOT IN과 <>ALL이 같은 의미.
 
메인쿼리의 각 튜플에 대해 서브쿼리를 적용.

Group by : 그룹별로 묶기.
Having by : 조건을 만족하는 것들만 묶기.
group by를 사용할 때 select 절에 나오는 열이 group by절에 있는 열에 포함이 되어야 한다. 포함되지 않으면 그 열의 값이 여러개를 가질 것이고 select문에서 어떤 것을 출력해야 될지 모르므로. 키로 그룹을 묶으면 가능하다.

Outer join
equijoin에서 조건을 만족하지 못하는 튜플은 결과에서 못본다. 값이 없는 것도 결과에서 보기 위해 사용한다.
널값도 나올 수 있다.

테이블 제약 조건
한 행이 삽입되거나 수정될 때 check 제약 조건의 조건식이 계산된다.

도메인 제약조건
Integer같은 도메인을 정의할 수 있다.
 distinct type: 같은 Integer를 기반으로 하더라도 type이 다르면 비교를 못하도록 하기 위해 사용.

assertion
여러 테이블이 동시에 관련된 제약조건일 때 사용.

트리거
데이터베이스를 관찰하고 있다가 변경되면 자동으로 실행되는 프로시저.
 

'공부 > 데이터베이스' 카테고리의 다른 글

Disks and files  (0) 2011.08.15
8장 storage and indexing Overview  (0) 2011.08.09
2장 introduction to Database Design  (0) 2011.08.06
9. 서브 쿼리 (subqueries)  (0) 2011.07.19
8 조인과 다중테이블 연산  (0) 2011.07.19


Posted by skyjumps