Смекни!
smekni.com

Предмет и объект прикладной информатики (стр. 22 из 34)

ORDER BY <порядок строк> [ASC | DESC]

Порядок строк может задаваться одним из двух способов:

именами столбцов

номерами столбцов.

Способ упорядочивания определяется дополнительными зарезервированными словами ASC и DESC. Способом по умолчанию - если ничего не указано - является упорядочивание "по возрастанию" (ASC). Если же указано слово "DESC", то упорядочивание будет производиться "по убыванию".

Подчеркнем еще раз, что предложение ORDER BY должно указываться в самом конце запроса.

Устранение дублирования (модификатор DISTINCT)

Дублированными являются такие строки в результирующей таблице, в которых идентичен каждый столбец.

Иногда (в зависимости от задачи) бывает необходимо устранить все повторы строк из результирующего набора. Этой цели служит модификатор DISTINCT. Данный модификатор может быть указан только один раз в списке выбираемых элементов и действует на весь список.

Соединение (JOIN)

Операция соединения используется в языке SQL для вывода связанной информации, хранящейся в нескольких таблицах, в одном запросе. В этом проявляется одна из наиболее важных особенностей запросов SQL - способность определять связи между многочисленными таблицами и выводить информацию из них в рамках этих связей. Именно эта операция придает гибкость и легкость языку SQL.

После изучения этого раздела мы будем способны:

соединять данные из нескольких таблиц в единую результирующую таблицу;

задавать имена столбцов двумя способами;

записывать внешние соединения;

создавать соединения таблицы с собой.

Операции соединения подразделяются на два вида - внутренние и внешние. Оба вида соединений задаются в предложении WHERE запроса SELECT с помощью специального условия соединения. Внешние соединения (о которых мы поговорим позднее) поддерживаются стандартом ANSI-92 и содержат зарезервированное слово "JOIN", в то время как внутренние соединения (или просто соединения) могут задаваться как без использования такого слова (в стандарте ANSI-89), так и с использованием слова "JOIN" (в стандарте ANSI-92).

Связывание производится, как правило, по первичному ключу одной таблицы и внешнему ключу другой таблицы - для каждой пары таблиц. При этом очень важно учитывать все поля внешнего ключа, иначе результат будет искажен. Соединяемые поля могут (но не обязаны!) присутствовать в списке выбираемых элементов. Предложение WHERE может содержать множественные условия соединений. Условие соединения может также комбинироваться с другими предикатами в предложении WHERE.

Внутренние соединения

Внутреннее соединение возвращает только те строки, для которых условие соединения принимает значение true.

GROUP BY

Фраза GROUP BY (группировать по) инициирует перекомпоновку указанной во FROM таблицы по группам, каждая из которых имеет одинаковые значения в столбце, указанном в GROUP BY. В рассматриваемом примере строки таблицы Поставки группируются так, что в одной группе содержатся все строки для продукта с ПР = 1, в другой – для продукта с ПР = 2 и т.д. (см. рис. 2.3.б). Далее к каждой группе применяется фраза SELECT. Каждое выражение в этой фразе должно принимать единственное значение для группы, т.е. оно может быть либо значением столбца, указанного в GROUP BY, либо арифметическим выражением, включающим это значение, либо константой, либо одной из SQL-функций, которая оперирует всеми значениями столбца в группе и сводит эти значения к единственному значению (например, к сумме).

SELECT ПР, SUM(К_во)

FROM Поставки

GROUP BY ПР;

HAVING

Фраза HAVING (рис.2.3) играет такую же роль для групп, что и фраза WHERE для строк: она используется для исключения групп, точно так же, как WHERE используется для исключения строк. Эта фраза включается в предложение лишь при наличии фразы GROUP BY, а выражение в HAVING должно принимать единственное значение для группы.

Например, выдать коды продуктов, поставляемых более чем двумя поставщиками:

SELECT *

FROM Поставки

GROUP BY ПС

HAVING COUNT(*) > 2;

Введение в понятие «хранилище данных». Концепция хранилища данных. Преимущества технологии хранилища данных. Сравнение OLTP-систем и хранилищ данных. Интерактивная аналитическая обработка данных (OLAP).Многомерная OLAP-технология. Многомерные базы данных

Хранилище данных - предметно-ориентированный, интегрированный, неизменчивый, поддерживающий хронологию набор данных, организованный для целей поддержки управления.

Уильям Инмон, считающийся основателем нового направления развития технологии БД, дал классическое определение информационного хранилища в 1990 г. Он охарактеризовал его как специальным образом администрируемую базу данных, содержимое которой имеет следующие свойства:

Предметная ориентация

Интегрированность данных

Инвариантность во времени

Неразрушаемость - cтабильность информации

Минимизация избыточности информации

Предметно ориентированное хранилище данных - организованно в субъектных организациях(клиенты, продажи) а не вокруг области дейтельности (контроль за запасами) Хранить данные предназначенные для поддержки, а не прикладные данные.

Интегрированность - данные поступают из разных источников и могут иметь разный формат, поэтому для предоставления пользователя необходимо создать интегрированный источник, который бы обеспечивал этот источник БД.

Привязка во времени-данные будут точными если они будут привязаны к какому-то времени.

В основе концепции хранилища данных лежат две основные идеи:

(1) Интеграция разъединенных детализированных данных (они описывают некоторые конкретные факты, свойства, события и т.д.) в едином хранилище. В процессе интеграции должно выполняться согласование рассогласованных детализированных данных и, возможно, их агрегация. Данные могут поступать из исторических архивов корпорации, оперативных баз данных, внешних источников.

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

Основные компоненты информационного хранилища

ПО промежуточного слоя Обеспечивает сетевой доступ и доступ к базам данных.

Транзакционные БД и внешние источники информации Базы данных OLTP-систем исторически предназначались для эффективной обработки структур данных в относительно небольшом числе четко определенных транзакций.

Уровень доступа к данным Относящееся сюда ПО обеспечивает общение конечных пользователей с информационным хранилищем и загрузку требуемых данных из транзакционных систем.

Загрузка и предварительная обработка Этот уровень включает в себя набор средств для загрузки данных из OLTP-систем и внешних источников.

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

Уровень информационного доступа Обеспечивает непосредственное общение пользователя с данным DW посредством стандартных систем манипулирования, анализа и предоставления данных типа MS Excel, MS Access, Lotus 1-2-3 и др.

Уровень управления (администрирования) Отслеживает выполнение процедур, необходимых для обновления информационного хранилища или поддержания его состояния.

Преимущества технологии хранилища данных

Потенциально высокая отдача от инвестиций

Повышение конкурентно способности

Повышение лиц труда за принятие решения

Сравнение OLTP-систем и хранилищ данных.

OLAP ХРАНИЛИЩЕ
Содержит все время обновляющиеся данные Не обновляется, исторические данные, агрегированные сведения
Хранит подробные сведения Хранит значительно обобщенные сведения
Данные динамические Данные статические
Высокая интенсивность обработки транзакций Средняя и низко обобщенная транзакция
Предсказуемый способ использования данных Не предсказуемый
для обработки транзакций Для проведения анализа
Поддержка принятия повседневных решений Поддержка приятия стратегических решений
Обслуживает большое количество работников Обслуживает малое количество работников, руководящее звено

Интерактивная аналитическая обработка данных (OLAP).- динамический синтаксис, анализ и консолидация объема многомерных данных

Термин OLAP- это системы которые обеспечивают выборку данных в разных разрядах.

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

С помощью технологии OLAP (On-Line Analytical Processing - оперативная аналитическая обработка). Этот метод позволяет аналитикам, менеджерам и руководителям "проникнуть в суть" накопленных данных за счет быстрого и согласованного доступа к широкому спектру представлений информации. Исходные данные преобразуются таким образом, чтобы наглядно отразить структуру деятельности предприятия.

При этом конечному пользователю предоставляется ряд аналитических и навигационных функций:

расчеты и вычисления по нескольким измерениям, иерархиям и/или членам;

анализ трендов;

выборка подмножеств данных для просмотра на экране;

углубление в данные (drill down), для просмотра информации на более детализированном уровне;

переход к детальным данным, лежащим в основе анализа;

поворот таблицы отображаемых данных.

Многомерная OLAP-технология

Средства OLAP часто реализуются в виде набора многопользовательских приложений с Web-поддержкой, дают быстрый доступ к любому элементу базы вне зависимости от объема и сложности данных. Часто это достигается за счет использования OLAP-сервера - мощного многопользовательского инструмента для работы с многомерными структурами данных. Конструкция сервера и структура данных оптимизируются таким образом, чтобы можно было выполнять нерегламентированные запросы, а также быстрые, гибкие вычисления и преобразования исходных данных.