이전 섹션에서 (와이즈 토토 데이터 모델 공식) 우리는 와이즈 토토 모델의 수학적 개념을 정의했습니다. 이제 우리 와이즈 토토 데이터 모델을 사용하여 데이터를 어떻게 저장할 수 있는지 알고 있지만 검색하기 위해이 모든 테이블로 무엇을 해야할지 모르겠습니다. 아직 데이터베이스의 무언가. 예를 들어 누군가가 요청할 수 있습니다 부품 '나사'를 판매하는 모든 공급 업체의 이름. 그러므로 작업을 표현하기위한 두 가지 다른 종류의 표기법 관계가 정의되었습니다.
와이즈 토토 대수적용하여 쿼리가 표현되는 대수 표기법 관계에 대한 전문 운영자.
the와이즈 토토 미적분학a 쿼리가 공식으로 표현되는 논리적 표기법 답의 튜플이해야 할 논리적 제한 풀다.
the와이즈 토토 대수가 소개되었습니다 1972 년 E.F. Codd. 처지:
select (σ) : Extracts튜플a 주어진 제한을 만족시키는 관계. 허락하다r속성이 포함 된 테이블이 되십시오a. σa = a(r) = t ∈ R & 중간; t (a) = a 여기서ta 튜플randt (a)속성 값을 나타냅니다a튜플t.
프로젝트 (π) : 지정된 추출물속성(열) 관계에서. 허락하다r기인하다x. πx(r) = t (x) & mid; 티 ∈r, 여기서t(x)는 속성 가치x튜플t.
제품 (×) : 두 관계의 직교 제품을 구축합니다. 허락하다rArity가있는 테이블이 되십시오K1and letSArity가있는 테이블이 되십시오K2. r×S모든 세트K1+K2-첫 번째K1구성 요소는 튜플을 형성합니다r그리고 마지막K2구성 요소는 튜플을 형성합니다S.
Union (∪) : 두 테이블의 세트 이론 연합을 구축합니다. 주어진 테이블randS(둘 다 동일한 아티브를 가져야 함), Unionr∪Sis 안에있는 튜플 세트r또는S또는 둘 다.
intersect (∩) : 두 가지의 이론적 교차점을 구축합니다 테이블. 주어진 테이블randS, r∪Srand inS. 우리는 다시 그것을 요구합니다randS똑같은 arity.
차이 ( - 또는 & setmn;) : 세트 차이를 빌드합니다 두 테이블. 허락하다randS다시 같은 아티브를 가진 두 개의 테이블이 되십시오.r - SIS 튜플 세트r그러나S.
Join (∏) : 공통 속성으로 두 테이블을 연결합니다. 허락하다r속성이있는 테이블이 되십시오a,BandCand letS속성이있는 테이블이 되십시오C,dande. 둘 다에 공통적 인 한 가지 속성이 있습니다 관계, 속성C. r ∏ s = πR.A, R.B, R.C, S.D, S.E(σR.C = S.C(R × S)). 우리는 여기서 무엇을하고 있습니까? 우리는 먼저 직교를 계산합니다 제품r×S. 그런 다음 값을 가진 튜플을 선택합니다 공통 속성C동일합니다 (σR.C = S.C). 이제 우리는 다음을 포함하는 테이블이 있습니다 기인하다C두 번, 우리는 정확합니다 이것은 중복 열을 투사함으로써.
예 69-2. 내부 조인
생산 된 테이블을 살펴 보겠습니다. 가입에 필요한 단계를 평가합니다. 다음을하자 두 개의 테이블이 제공됩니다.
r a | B | C S C | d | 이자형 ---+---+--- ---+---+--- 1 | 2 | 3 3 | A | 비 4 | 5 | 6 6 | C | 디 7 | 8 | 9
먼저 직교 제품을 계산합니다r×Sget :
r x s a | B | R.C | S.C | d | 이자형 ---+---+-----+-----+---+--- 1 | 2 | 3 | 3 | A | 비 1 | 2 | 3 | 6 | C | 디 4 | 5 | 6 | 3 | A | 비 4 | 5 | 6 | 6 | C | 디 7 | 8 | 9 | 3 | A | 비 7 | 8 | 9 | 6 | C | 디
선택 후 σR.C = S.C(r × s) 우리는 다음을 얻는다 :
a | B | R.C | S.C | d | 이자형 ---+---+-----+-----+---+--- 1 | 2 | 3 | 3 | A | 비 4 | 5 | 6 | 6 | C | 디
중복 열을 제거하려면S.C우리는 그것을 투영합니다 다음 작업으로 : πR.A, R.B, R.C, S.D, S.E(σR.C = S.C(r × s)) 및 얻다:
a | B | C | d | 이자형 ---+---+---+---+--- 1 | 2 | 3 | A | 비 4 | 5 | 6 | C | 디
분할 (÷) : letr테이블이 있습니다 속성 a, b, c, d and letS속성 C와 D가있는 테이블이 되십시오. 우리는 분할을 다음과 같이 정의합니다. r ÷ s = t & mid; ∀ tS∈ S ∃ tr∈ R 티r(a, b) = t∧tr(c, d) = tSwhere 티r(x, y)는 테이블의 튜플을 나타냅니다r구성 요소 만 구성된xandy. 메모 그 튜플t구성 요소aandB관계r.
다음 테이블이 주어진
r a | B | C | D S C | 디 ---+---+---+--- ---+--- A | B | C | D C | 디 A | B | e | f e | 에프 B | C | e | 에프 e | d | C | 디 e | d | e | 에프 A | B | d | 이자형r ÷ s는로 파생되었습니다.
a | 비 ---+--- A | 비 e | 디
관계에 대한 자세한 설명과 정의 대수는 [를 말합니다.Ullman, 1988] 또는 [날짜, 1994].
예 69-3. 와이즈 토토 대수를 사용한 쿼리
우리가 모든 관계형 운영자를 공식화했음을 기억하십시오. 데이터베이스에서 데이터를 검색 할 수 있습니다. 우리에게 돌아가 봅시다 이전 섹션의 예제 (관계형 데이터의 운영 모델) 누군가가 모든 사람의 이름을 알고 싶어하는 곳 부품을 판매하는 공급 업체나사. 이것 질문은 관계 대수를 사용하여 대답 할 수 있습니다 다음 수술 다음 :
π공급 업체 .same(σpart.pname = '나사'(공급 업체 ∏ 판매 ∏ 부품))
우리는 그러한 작업을 쿼리라고 부릅니다. 위의 것을 평가하면 예제 테이블에 대한 쿼리 (공급 업체 및 부품 데이터베이스) 우리 다음 결과를 얻을 것입니다.
SNAME ------- 스미스 아담스
와이즈 토토 미적분학은를 기반으로합니다.1 차 논리. 두 가지 변형이 있습니다 와이즈 토토 미적분학 :
the도메인 와이즈 토토 미적분학(DRC), 여기서 변수 튜플의 구성 요소 (속성).
the튜플 와이즈 토토 미적분학(TRC), 여기서 변수 튜플.
우리는 튜플 와이즈 토토 미적분학에 대해서만 논의하고 싶습니다. 가장 관계자가 가장 중요한 언어입니다. 상세하게 에 대한 토론DRC(및 또한TRC) 참조Date, 1994또는Ullman, 1988.
사용 된 쿼리TRC다음 형태 : x (a) & mid; f (x) 여기서x튜플 변수입니다a일련의 속성이며f는 공식입니다. 결과 관계는 모든 튜플로 구성됩니다t (a)만족f (t).
예제에서 질문에 답하려면관계형을 사용한 쿼리 대수학사용TRC우리는 공식화합니다 다음 쿼리 :
x (sname) & mid; x ∈ 공급 업체 ier \ nonumber ∃ y ∈은 ∃ z ∈ Part (y (sno) = x (sno) ∧ \ nonumber를 판매합니다. z (pno) = y (pno) ∧ \ nonumber z (pname) = '나사') \ nonumber
테이블에 대한 쿼리 평가공급 업체 및 부품 데이터베이스다시 와 동일한 결과로 이어집니다관계형을 사용한 쿼리 대수학.
와이즈 토토 대수와 와이즈 토토 미적분학은 동일합니다표현력; 즉, 모든 쿼리 와이즈 토토 대수를 사용하여 공식화 될 수 있습니다. 와이즈 토토 미적분학 사용 및 그 반대도 마찬가지입니다. 이것은 처음으로 증명되었습니다 1972 년 E.F. Codd.이 증거는 알고리즘을 기반으로합니다 ( "Codd 's 감소 알고리즘 ")의 임의의 표현 와이즈 토토 미적분학은 의미 적으로 동등한 것으로 줄일 수 있습니다 관계 대수의 표현. 보다 자세한 토론을 위해 참조Date, 1994andUllman, 1988.
때때로 관계형에 기초한 언어는 미적분학은 언어보다 "높은 수준"또는 "더 선언적"입니다 대수 (부분적으로)이기 때문에 관계 대수를 기반으로합니다. 미적분학은 운영 순서를 지정하고 미적분학은 가장 효율적인 순서를 결정하기위한 컴파일러 또는 통역사 평가.