Базы данных

Отношение Accounts


Отношение Accounts (строка 1) является множеством всех номеров счетов клиентов, которые брали ранее фильмы напрокат. PossibleRentals (строка 2) — множество всех возможных пар “номер счета клиента—взятый напрокат фильм” с фильмами из таблицы Movie. Отношение NonRentals (строка 3) — множество пар “клиент- фильм”, не представляющих реальные случаи проката. Это множество получается в результате удаления всех реальных случаев проката (MoviesRented) из множества PossibleRentals. Если клиент с данным номером брал все интересующие нас фильмы, то множество NonRentals не будет содержать строку с таким номером. В результате проекции по accountld (строка 4) получается множество NonRenters — множество номеров всех клиентов, которые не брали ни одного из фильмов, входящих во множество Movie. Следовательно, RentsAll (строка 5) содержит все номера клиентов, бравших напрокат все фильмы из Movies.

Операторы агрегирования используются для применения к элементам множества арифметических операторов (подсчет, сумма, среднее значение) или операторов сравнения (максимальный, минимальный). 7.1.6 содержится подробное описание и примеры использования этих операторов в SQL. Здесь же приводится несколько примеров из области реляционной алгебры:

AveragehouriyWage (HourlyEmployee) средняя почасовая оплата

Countaccountid (Customer) число клиентов

Как будет показано 7.1.6, объекты можно группировать во множества и прйменять к этим множествам операторы агрегирования. Например, можно сгруппировать все видеокассеты по названиям фильмов, создав группу видеокассет для каждого фильма. Подсчитав, сколько видеокассет в каждой группе, можно сформировать отношение, в котором каждая строка содержит идентификационный номер фильма movield и количество видеокассет с этим фильмом.

Комментарии закрыты