|
Программирование >> Реализация целостности данных
ЧАСТЬ 1 Теории ИОННЫХ баз данных GROUP BY шяющее получить суммарные значения. Он поддерживается только SQL Server: SELECT Categories.CategoryNane, Products.Producttome, SUM([Order Details].Quantity) AS SumOfOuantity FROM (Categories INNER JOIN Products ON Categories.CategorylD = Products. CategorylD) INNER JOIN [Order Details] ON Products. ProductID = [Order Details]. ProductID GROUP BY Categories.CategoryName, Products.ProductName WITH ROLLUP; На рис11 показан результирующий набор записей, полученный после выполнения этого оператора.
Puc. 5-11. Оператор ROLLUP позволяем чить суммарные значения Как видите, набор записей на рис I I фактически тот же, что и на рис. 5-9, му лишь добавлены дополнительные записи. Записи, где есть значения Null (одна из таких записей показана на рис. .> 11), содержат суммарные значения для групп или подгрупп. Таким образом, всего было продано 8137 единиц напитков. Оператор CUBE Оператор CUBE, как и ROLLUP, реализован только в SQL Server как расширение оператора GROUP BY. Оператор CUBE агрегирует каждый столбец в <списке полей оператора ОгоирВу> по всем остальным столбцам. Концептуально оператор CUBE похож на ROLLUP, но в отличие от него, вычисляет суммарные значения для дополнительных групп, а марные значения для каждого столбца, нере-численного в Предположим, чт ератора ОгоирВу> состоит из трех полей - А, В, и С. Тогда оператор CUBE вернет следующие семь агрегированных значений: суммарное значение для всех значений столбца С; суммарное значение для всех значений столбца С, сгруппированных по А; суммарное значение для всех значений столбца С, сгруппированных по С в А; суммарное значение для всех значений столбца С, сгруппированных по В в А; суммарное значение для всех значений столбца С, сгруппированных по В; суммарное значение для всех значений столбца С, сгруппирован-н1х по А в В; суммарное значение для всех значений столбца С, сгруппированных по С в В. Итоги Эта глава была посвящена различным операциям над базовыми от-реализованным при помощи операторов и расширений этих операторон, реализованных в языке SQL. Кроме того, мы обсудили некоторые особенности реляционных операторов и их расширений, связанные с трехзначной логикой и значениями Null. Ограничение, проекция и соединение - это стандартные реляционные операции адающие подмножества одного набора записей. Соединение, объединение, пересечение, разность и произведение - это реляционные операции шяющие объединять наборы записей разными способами. Все эти операции (за исключением разности) реализуются при помощи SQL-оператора SELECT. Разность тоже можно реализовать при помощи оператора SELECT, но иногда для этого приходится применять особые методы. Кроме того, мы рассмотрели несколько дополнительных операторов. Агрегирование и расширение относятся к операциям, выполняющим различные вычисления с данными. Переименование позволяет ввести заголовки столбцов, отображаемые в проекции. Операторы TRANSFORM, ROLLUP и CUBE - это расширения языка SQL, реализованные Microsoft. Каждый из этих операторов представляет собой отдельный способ агрегирования и представления данных. Итак, этим обзором реляционной алгебры мы завершаем первую часть книги. Реляционная теория достаточно сложна, и конечно, я ЧАСТЬ 1 осветила меко не все ее вопросы. Подробное рассмотрение реляционной теории ба ны\ выходит за рамки этой книги, однако все основные положения этой теории изложены в первых пяти главах. Далее мы перейдем к практическим аспектам разработки СУБД и пользовательского интерфейса.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |