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 = 'research'))

私は本当に立ち往生していて、混乱しています...等結合操作なしでそれが可能かどうかわかりません。

4

1 に答える 1

0

コメントを書き始めてから気が変わりました。:)

ウィキペディアを見ると、次の同等性が見つかります。

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

特に制限が平等の制限である場合、それは等結合です。これが意味することは、等結合は、2 つのフィールドの等価性に関する 2 つのテーブルのデカルト積に対する制限と同等です。

そう...

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

(無意味な場所に入らないように、名前の変更を使用する必要がありますdnumber = dnumber。)

于 2013-02-26T04:16:43.773 に答える