Найти Макса в реляционной алгебре - PullRequest
0 голосов
/ 02 июня 2018

У меня проблемы с домашним заданием, мне трудно понять логику того, что делать.

В: Напишите запрос, в котором будет указано имя клиента и название книги для покупателя, который приобрел его.самая дорогая книга.

Клиент реляционной схемы (CID, имя, адрес)

Заказы (Ordernum, CID, Order_date, Cardnum)

Список заказов (Ordernum, ISBN, Qty, Ship_date)

Книга (ISBN, название, автор, Qty_in_stock, цена)

это моя попытка:

переименовать (дорогой, проекционный cid (заказы) присоединиться Присоединиться к списку заказов присоединиться(цена выбора

exp - цена проекции (Book)

имя проекции Explay присоединения клиента

Ответы [ 2 ]

0 голосов
/ 06 июля 2018
T1(price)<--Ƴmax(price)(Book)
T2<--Πisbn,title,price(Book natural join T1)
T3<--(T2 natural join orderlist) natural join orders
T4<--πname,title(T3 natural join Customer)
0 голосов
/ 03 июня 2018

Ваша попытка сравнения товаров и цен показывает, что вы думаете в правильном направлении, но пока еще не совсем.После того, как вы получите все книги, для которых существуют более дешевые книги, как вы получите книги, для которых нет НИКАКИХ более дешевых книг?Работая изнутри, вы должны сделать это, прежде чем присоединиться к Orderlist, Orders и Customer, чтобы найти покупателя.

Будьте внимательны с вашим синтаксисом и порядком операций.На самом деле, ваш ответ трудно понять.Например, что такое Pd, d и exp?Зачем переименовывать что-то в expensive, а потом никогда не использовать этот термин?Как projection cid (orders) соединяется с Orderlist, если два выражения не имеют общих атрибутов?Это должно помочь выписать заголовок результата каждого подвыражения (работая изнутри), чтобы визуализировать последовательность операций.

Если вы хотите разбить сложное выражение RA на несколько шагов, выМожно присвоить результат одного выражения переменной для использования в следующем выражении.Помните, что это алгебра, как в начальной школе, только с более сложными значениями и операторами.

...