Ниже приведены мои таблицы,SQL Query для эквивалентного разделения в реляционной алгебре
персонала (перечисление, etitle, ENAME), рк: перечисление
Имеет (перечисление, Anum), рк: (перечисление , Anum), fk1: Имеет (перечисление) -> Сотрудники (перечисление), ФК2: Имеет (Anum) -> Площадь (Anum)
Площадь (Anum, aname), рк: Anum
Pro blem:
Персонал (enum, ename, etitle), который специализируется на каждой медицинской области.
Я попытался следующие,
Я знаю, что выражение отношения алгебры для этого запроса будет
разрыв (Staff присоединиться к Has) по (площадь проекта по Anum)
Мой SQL запросов является следующим:
select S.enum
from Staff S
where not exists
(select A.anum from Area A)
minus
(select H.anum
from Has H,Staff S1
where H.enum = S1.enum)
Но строки не возвращаются. Я удостоверился, что есть один сотрудник, который специализируется на каждой области.
То, что я думаю, что должно быть сделано:
зоны каждого сотрудника должны быть также вычитают из всех областей. Если есть сотрудник со всеми медицинскими областями, то вычитание вернет нулевой набор и не будет выполнено. Затем нам нужно вернуть enum, ename, etitle для конкретного сотрудника.
Примечание:
Это мое домашнее задание. Я отправляю это, пытаясь очень усердно.