2013-09-06 9 views
0

Очень простой вопрос о реляционной алгебре, который я не могу найти в Интернете или/или некоторых книгах.математические операции в реляционной алегебре

Предположим, что сотрудник отношения (ключ, зарплата, бонус), и я хочу создать новое отношение R (key, totalMoney), где totalMoney = зарплата + бонус. Моя попытка является:

R1 (ключ, totalMoney) = проекция ключ, зарплата (сотрудник)

R2 (ключ, totalMoney) = проекция ключ, бонус (сотрудник)

R = ключ общая сумма totalMoney (R1 U R2)

это нормально?

Если это нормально, однако, это не решить все мои проблемы :(

Предположим теперь я хочу, чтобы получить RT2 (ключ, totalMoney * 2) Для этого, моя попытка:.

RT2 = обновление totalMoney < -. totalMoney * 2 (R) // "обновление" является реляционная алгебра операторов

это нормально

Я думаю, что мои ответы не (очень) хорошо Если вы можете помогите мне найти е и аккуратное решение, я буду признателен.

Благодаря

+0

Это похоже на не по теме и не связано с [непосредственно] программированием. К сожалению, это также не соответствовало бы «уровню» математического stackexchange:> – user2246674

ответ

1

Оригинальная алгебра Кодда не включала такую ​​операцию, потому что он твердо верил, что такие вычисления должны быть выполнены в приложении.

И, увы, большинство из того, чему учат в эти дни, все еще очень близко к этим оригинальным идеям Кодда. К настоящему времени 40 лет. И поэтому все эволюции, которые произошли за эти 40 лет, увы, в основном, упускаются из виду.

Одна из таких вещей - оператор EXTEND, который был введен где-то вдоль линии, Chris Date & Hugh Darwen Я верю. Этот оператор позаботится о том, что вам нужно.

0

Традиционная реляционная алгебра does not support арифметических операций. Однако были предприняты различные попытки расширить его: например, Gabbay and McBrian обсуждают арифметические расширения операторов выбора и проектирования, а Boncz et al. предложили ряд расширений реляционной алгебры (включая арифметические операции) для своего компилятора XQuery Pathfinder.

+0

Я думаю, что Gabbay и McBrian не пытаются поддерживать математические операторы в реляционной алгебре. Авторы распространяются на временные запросы (используя с и до операторов). Итак, мои предложенные решения, чтобы сделать математические операции, присваиваются? Я ожидаю ответа нет! –

+0

Действительно, в центре внимания Габбая и МакБраяна находятся временные запросы, но для перевода их в реляционную алгебру им нужна какая-то форма арифметики. –

Смежные вопросы