2013-02-26 3 views
0

나는 단지 다음과 같은 관계형 대수 연산을 {사용하여 재무 부서에 대한 위치 목록을 검색하고 싶은이 테이블관계 대수 특정 작업

Employee(ssn, name, sex, address, salary, bdate, dno, superssn) 
fk:superssn is ssn in Employee 
fk:dno is dnumber in Department 

Department(dnumber, dname, mgrssn, mgrstartdate) 
fk:mgrssn is ssn in Employee 

Dept_locations(dnumber, dlocation) 
fk:dnumber is dnumber in Department 

Project(pnumber, pname, plocation, dnum) 
fk:dnum is dnumber in Department 

Dependent(essn, dependent_name, sex, bdate, relationship) 
fk: essn is ssn in Employee 

Works_on(essn,pno,hours) 
fk: essn is ssn in Employee; pno is pnumber in Project 

이, ρ, ∪, π, σ -, × }.

지금까지 내가 가지고 : π의 DLOCATION (σ 부서 (DNAME = '연구')) 난 정말 붙어, 그리고 혼란 스러워요

을 ... 난없이 그것을 할 경우 그 수 모른다 동등한 조작.

답변

0

댓글 쓰기 시작한 다음 마음이 바뀌 었습니다.

R ⋈_φ S = σ_φ(R × S) 

그리고 특히 제한은 평등 즉, 그것이 동등 조인 : 당신이 Wikipedia 보면 :

, 당신은이 동등성을 찾을 수 있습니다. 이것이 의미하는 바는, equijoin은 두 필드의 동일성에 대한 두 테이블의 데카르트 곱에 대한 제한과 같습니다.

그래서 ...

π_{dlocation}(
    σ_{dnumber = loc_dnumber}(
    σ_{dname = "finance"}(department) 
    × 
    ρ_{loc_dnumber/dnumber}(dept_locations))) 

(우리는 우리가 무의미한 dnumber = dnumber 장소로하지 않도록 이름 변경을 사용해야합니다.)