Предположим, у меня есть следующие отношения:
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.
Как построить алгебру для...
Перечислите имена всех контактов, которые принадлежат академику «Джон».
job
? - person Bergi   schedule 12.03.2013