Я слежу за курсом базы данных в Стэнфорде, и есть вопрос, где у нас есть Найти все пиццерии, которые обслуживают каждую пиццу, съеденную людьми старше 30 лет, используя только реляционную алгебру.
Задача состоит из небольшой базы данных с четырьмя отношениями:
Person(name, age, gender) // name is a key
Frequents(name, pizzeria) // [name,pizzeria] is a key
Eats(name, pizza) // [name,pizza] is a key
Serves(pizzeria, pizza, price) // [pizzeria,pizza] is a key
Я знаю, как найти, какие люди пиццы старше 30 едят и делают из них перекрестный продукт, поэтому я мог проверить, что у пиццерии есть оба.
Я могу составить список всех пиццерий, которые обслуживают эту пиццу, но я не знаю, как удалить любую пиццерию, у которой есть только одна комбинация (например, Dominos).
Chicago Pizza cheese cheese
Chicago Pizza cheese supreme
Chicago Pizza supreme cheese
Chicago Pizza supreme supreme
Dominos cheese cheese
Dominos cheese supreme
Форумы Q & A говорят нам использовать деление и указывают нам на несколько презентаций. Пока я получаю то, что результат действия будет, Я действительно не понимаю, как преобразовать формулу в синтаксис реляционной алгебры.
Может ли кто-нибудь объяснить мне, что мне не хватает, надеюсь, без прямого решения?