Мне немного трудно понять этот слайд, касающийся деления в реляционной алгебре.Я провел небольшое исследование, и многие люди обратились ко мне с просьбой О том, как сделать реляционную алгебру понятной Лестеру МакКанну. У меня проблемы с пониманием одного из слайдов (слайд 13).Я воссоздаю слайды ниже по существу.
Запрос: Найдите значение sno поставщиков, которые поставляют все части веса, равные 17.
Отношение P
+-------------------------------+
| pno pname color weight city |
+-------------------------------+
| P1 Nut Red 12.0 London |
| . . . . . . . . . . . . . . . |
| P6 Cog Red 19.0 London |
+-------------------------------+
Отношение SPJ
+-------------------------+
| sno pno jno qty |
+-------------------------+
| S1 P1 J1 200 |
| . . . . . . . . . . . . |
| S5 P6 J4 500 |
+-------------------------+
Я понимаю, что мне нужна следующая схема.Отношение А проецирует список sno, pno
.Отношение B говорит вам, что pno
равно 17 весам.
α (sno, pno)
β (pno)
α ← π sno,pno (SPJ)
β ← π pno (σ weight=17 (P))
Результат:
Отношение α
+---------+
| sno pno |
+---------+
| S1 P1 |
| S2 P3 |
| S2 P5 |
| S3 P3 |
| S3 P4 |
| S4 P6 |
| S5 P1 |
| S5 P2 |
| S5 P3 |
| S5 P4 |
| S5 P5 |
| S5 P6 |
+---------+
Отношение β:
+-----+
| pno |
+-----+
| p2 |
| p3 |
+-----+
Однако слайд тогдапродолжает:
Найдите значения, которые не принадлежат ответу, и удалите их из списка возможных ответов.
В нашем P–SPJ пример, список возможных ответов - это просто доступные sno
значения в α
:
+-----+
| sno |
+-----+
| S1 |
| S2 |
| S3 |
| S4 |
| S5 |
+-----+
Вот где я застрял.Он говорит «P - SPJ» в примере, но если я это сделаю, я не получу отношения выше.Я не думаю, что возможно даже сделать P - SPJ?Согласно «Первому курсу в системах баз данных», когда мы применяем разностные операции к отношениям, две таблицы должны иметь схемы с одинаковыми наборами атрибутов (которых нет у P и SPJ)?
Если бы кто-то мог просто указать мне правильное направление, это было бы здорово, спасибо!У меня есть книга Первый курс по системам баз данных , глава 4, которая учит реляционной алгебре, но, к сожалению, не учит разделению (на которое я наткнулся и хотел выучить).