假設我有以下關係關係代數:一個一對多的關係
Academic(academicID(PK), forename, surname, room)
Contact (contactID(PK), forename, surname, phone, academicNO(FK))
這不是一門功課,我只是想了解使用的符號,下面如果你能幫助我。
Π(relation, attr1, ... attrn)
表示從關係中投射n個屬性。
σ(relation, condition)
表示選擇符合條件的行。
⊗(relation1,attr1,relation2,attr2)
表示在命名屬性上加入兩個關係。
relation1 – relation2
是兩種關係的區別。
relation1 ÷ relation2
是由另一個關係的劃分。
例子我見過使用三張表。我正在和Java合作,只想知道只有兩個表(學術和聯繫)而不是三個(學術,聯繫人,所有者)的邏輯。
到現在爲止,我使用這種結構 「
LessNumVac = Π(σ(job, vacancies < 2), type)
AllTypes = Π(job, type)
AllTypes – LessNumVac.
我如何構造代數..
名單誰是學術‘約翰’所擁有的所有聯繫人的姓名。
你有沒有忘了告訴我們關係'工作'? – Bergi 2013-03-11 21:48:36
沒有必要,我只是顯示結構。將結果分配給變量LessNumVac等。人們傾向於提出複雜的解決方案,所以這只是爲了展示我希望提供幫助的結構。 – MooHa 2013-03-11 21:50:29
那麼你的問題是什麼?順便說一句,你的*關係代數*的描述是不完美的,看看[標籤信息](http://stackoverflow.com/tags/relational-algebra/info) – Bergi 2013-03-12 11:41:59