140 likes | 252 Views
CHAPTER 9 뷰 (Views). 2003 . 5 . 1 전 미 영. 9.4 뷰 갱신. 뷰 갱신기법에 대하여 합집합 (UNION) 교집합 (INTERSECT) 차집합 (DIFFERENCE) 제한 (Restrict) 프로젝트 (PROJECT) 확 장 (EXTEND) 조인 (JOIN) 다른 연산들. 뷰 갱신. D 를 데이터베이스 , V 를 D 에 대한 뷰 예를 들면 뷰의 정의 X 가 D 에 관한 함수. V = X ( D ) U ( V ) = U ( X ( D ) ).
E N D
CHAPTER 9뷰(Views) 2003 . 5 . 1 전 미 영
9.4 뷰 갱신 • 뷰 갱신기법에 대하여 • 합집합(UNION) • 교집합(INTERSECT) • 차집합(DIFFERENCE) • 제한(Restrict) • 프로젝트(PROJECT) • 확 장(EXTEND) • 조인(JOIN) • 다른 연산들
뷰 갱신 • D를 데이터베이스, V를 D에 대한 뷰 예를 들면 뷰의 정의 X가 D에 관한 함수 V = X ( D ) U ( V ) = U ( X ( D ) )
뷰 갱신기법에 대하여 • 주어진 뷰의 갱신 가능성은 문법적 문제가 아닌 의미적인 문제이다. CREATE VIEW V AS S WHERE STATUS > 25 OR CITY = ‘부산’; CREATE VIEW V AS (S WHERE STATUS > 25) UNION (S WHERE CITY = ‘부산’) ;
합집합 • 삽입 : PA나 PB 혹은 둘 다 만족해야 한다. • 삭제 : 삭제될 튜플이 A에 있다면, 그 튜플 은 A로부터 삭제된다. • 갱신 : 갱신될 튜플은 갱신된 버전이 PA나 PB 또는 양쪽 모두를 만족해야 한다. ( S WHERE STATUS > 25) UNION ( S WHERE CITY = ‘부산’)
교집합(INTERSECT) • 삽입 : PA와 PB를 만족해야 한다. • 삭제 : 삭제될 튜플이 A로부터 삭제된다. 만일 B에 여전히 있다면 B로부터 제거된다. • 갱신 : 갱신될 튜플은 버전이 PA와 PB를 모두를 만족해야 한다. A INTERSECT B
차집합(DIFFERENCE) • 삽입 : PA를 만족하고 PB는 만족하지 않아야 한다. • 삭제 : 삭제된 튜플은 A로부터 삭제된다. • 갱신 : 갱신될 튜플은 갱신된 버전이 PA를 만족하고 PB는 만족하지 않아야 한다. A MINUS B
제한(Restrict) • 삽입 : PA와 조건을 모두 만족해야 한다. • 삭제 : 삭제될 튜플은 A로부터 삭제될 것이다. • 갱신 : 갱신될 튜플은 갱신된 버전이 PA와 p를 모두 만족해야 한다. LS VAR LS VIEW S WHERE CITY = ‘서울’
프로젝트(PROJECT) • 삽입 : 삽입될 튜플을(x), Y의 기본 값을 y, PA를 만족해야 하는 튜플(x,y)는 A에 삽입된다. • 삭제 : A[X]로부터 삭제되는 튜플로써 X값이 같은 A의 모든 튜플들은 A로부터 삭제된다. • 갱신 : PA를 만족하는 튜플은 A에 삽입된다. SC SC { S#, CITY }
확 장(EXTEND) • 삽입 : 삽입되는 튜플을 e라 하면, e는 반드시 PE를 만족시켜야 한다. • 삭제 : 삭제되는 튜플을 e라 하자. X를 프로젝션 함으로써 e로부터 얻은 튜플 a는 A로부터 삭제된다. • 갱신 : 갱신되는 튜플을 e라 하고 갱신된 버전을 e’라 하면, e’은 PE를 만족시켜야한다. EXTEND A ADD exp AS X
확 장(EXTEND) 예제 : 뷰 VPX를 다음가 같이 정의하자 EXTEND P ADD ( WEIGHT * 454 ) AS GMWT VPX
조 인(JOIN) • 삽입 : 튜플 j는 PJ를 만족해야 한다. • 삭제 : 삭제될 튜플의 A부분은 A로부터 삭제되고 B부분은 B로부터 삭제된다. • 갱신 : 갱신될 튜플은 갱신된 버전이 PJ를 만족해야 한다.
조 인(JOIN) 예제 : 뷰 SSP를 다음가 같이 정의하자 S JOIN SP SSP
다른 연산들 • 재명명(rename) : 자명하다. • 카디션 프로덕트(cartesian product) : 자연 조인(natural join)의 특별한 경우 • 요약(summarize) • 그룹과 그룹해제(Group and ungroup) • Tclose