Предполагая, что у вас есть отношение A с одним атрибутом 'a' (сокращение более сложного отношения до этого - простая задача в реляционной алгебре, я уверен, что вы дошли до этого), так что теперь вы хотитенайти максимальное значение в A.
Один из способов сделать это - найти перекрестное произведение A с самим собой, не забудьте переименовать «a», чтобы у вашего нового отношения были атрибуты с разными именами.например:
(переименуйте 'a' в 'a1') X (переименуйте 'a' в 'a2')
теперь выберите 'a1' <'a2', результирующее отношение будетесть все значения, кроме максимального.Чтобы получить максимум, просто найдите разницу между вашим исходным отношением: </p>
(A x A) - (select 'a1' < 'a2') ((rename 'a' as 'a1')(A) x (rename 'a' as 'a2')(A))
Затем используйте оператор project
, чтобы уменьшить до одного столбца, как предлагает Тоби Леман в комментарии ниже.
Запись этого в нотации реляционной алгебры будет (если я правильно помню).Обратите внимание, что окончательное переименование (т. Е. Ρ) просто заканчивается атрибутом с тем же именем, что и в исходном отношении:
ρ a / a1 (π a1 ((A x A) - σ a1 (ρ a1 / a (A) x ρ a2 / a (A))))