-1

次の関係があるとします。

Academic(academicID (PK), forename, surname, room)
Contact (contactID (PK), forename, surname, phone, academicNO (FK))

私は Java を使用しており、表記法の使用法を理解したいと考えています。

Π( relation, attr1, ... attrn )リレーションから n 個の属性を射影することを意味します。
σ( relation, condition)条件に一致する行を選択することを意味します。
⊗(relation1,attr1,relation2,attr2)指定された属性で 2 つの関係を結合することを意味します。
relation1 – relation2は、2 つの関係の違いです。
relation1 ÷ relation2ある関係を別の関係で分割します。

私が見た例では、3 つのテーブルを使用しています。3 つのテーブル (アカデミック、連絡先、所有) ではなく、2 つのテーブル (アカデミックと連絡先) のみが関係している場合のロジックを知りたいです。

私はこの構造を使用しています:

LessNumVac = Π( σ( job, vacancies < 2 ), type )
AllTypes = Π( job, type )
AllTypes – LessNumVac

次の代数を構築するにはどうすればよいですか。

アカデミックな "John" が所有するすべての連絡先の名前を一覧表示する

4

2 に答える 2

0

アカデミック「ジョン」が所有するすべての連絡先の名前をリストします。

そのためには、AcademicandConctactリレーションを結合し、Johnをフィルタリングして、name属性を射影します。効率を上げるために、参加する前にJohnを選択してください。

πの名前、確実な名前(連絡先⋈<sub> AcademicNO = AcademicID(πacademicID( σforename = "John" Academic))))

于 2013-03-12T13:40:35.807 に答える
0
于 2013-03-11T22:00:39.250 に答える