Нормализация данных. Хранилище данных (data warehouse, DW) является собой большую предметно-ориентированную корпоративную базу данных

Хранилище данных (data warehouse, DW) является собой большую предметно-ориентированную корпоративную базу данных, предназначенную для подготовки отчётов, анализа бизнес-процессов и поддержки принятия решений (DSS). В отличие от оперативных баз данных в хранилищах разрешен доступ к данным только для чтения.

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

Хранилище данных выполняет:

· Объединение данных из разнородных источников данных в единую однородную структуру.

· Поддержку организации данных в виде многомерных структур («кубов») с целью эффективности запросов к ним.

· Хранение преобразованных данных, допустимых, согласованных, консолидированных и отформатированных для анализа.

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

· Периодическое обновление новыми данными транзакций.

Оперативный анализ данных (Online Analytical Processing, OLAP) для поддержки принятия решений. Исходные данные для анализа представляются в виде многомерных кубов, которые можно различным образом «разрезать» для получения визуализируемых отчётов и предоставления их пользователю (лицу, принимающему решение). Многомерные данные поступают из хранилищ данных, в том числе и хранилищ оперативных данных, поступающих в реальном времени.

Интеллектуальный анализ данных (data mining), или «добыча» данных. Это технология предназначена для анализа хранилищ данных и основывается на методах искусственного интеллекта (ИИ) и инструментах поддержки принятия решений. Ее задачами являются нахождение трендов и коммерчески полезных зависимостей, обнаружение знаний в базах данных. Другими словами она осуществляет обнаружение скрытой информации, неожиданных зависимостей и моделей в имеющейся базе данных, которая в явной форме в базе данных не представлена, но при выявлении может оказаться полезной для прогнозирования. Обычно такая служба содержит

· Набор стандартных алгоритмов интеллектуального анализа данных.

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

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

Распределенность баз данных и реализация в сети, в том числе в сети Интернет, также определяет наличие в составе ПО СУБД специализированных компонентов. Ниже приведены некоторые из них.

Служба сервера отчетов - осуществляет обработку, хранение и доставку отчетов.

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

Служба отчетов (Reporting Services) обеспечивает средства создания корпоративных отчетов с поддержкой веб-интерфейса, которые позволяют включать в отчеты данные из различных источников, публиковать отчеты в разнообразных форматах.

Microsoft SQL Server, например, включает в состав компонент Service Broker, предназначенный для содействия разработчикам в создании безопасных масштабируемых приложений баз данных (соответствие сервисных запросов клиента серверным реализациям). Он предоставляет платформу для взаимодействия на основе обмена сообщениями, благодаря которой независимые компоненты приложений могут действовать как единое целое. Компонент Service Broker содержит средства асинхронного программирования, которые могут использоваться как приложениями в рамках одной базы данных, так и распределенными приложениями.

Обмен сообщениями в обычном диалоге.

На стороне инициатора начинается диалог и создается сообщение, содержащее данные, необходимые для выполнения задачи. Сообщение отправляется целевой службе.

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

На стороне инициатора ответное сообщение помещается в очередь, связанную с вызывающей службой. Приложение стороны инициатора принимает ответ и обрабатывает его.

Компонент Service Broker поддерживает слабосвязанные приложения. Такие приложения состоят из нескольких программ, отправляющих и принимающих сообщения независимо друг от друга. Эти приложения должны содержать одинаковые определения передаваемых сообщений и определять одинаковую общую структуру взаимодействия между службами. При этом не требуется, чтобы приложения выполнялись одновременно, работали в одном экземпляре SQL Server или знали о физическом расположении или реализации другого участника диалога.

Для баз данных, развертываемых в сети Интернет, которые должны поддерживать системы с высоким уровнем доступности, появилось определение «федерация серверов баз данных», которая позволяет распределить нагрузку на группу серверов, горизонтальным секционированием данных базы SQL Server. Такие серверы управляются независимо друг от друга, но сообщаются между собой для обработки запросов к базе данных от приложений. Такая взаимодействующая группа серверов называется федерацией.

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

Уровень одиночного сервера Уровень федеративного сервера
Существует один экземпляр корпоративного сервера SQL Server. Существует один экземпляр SQL Server на каждом сервере-участнике.
Корпоративные данные хранятся в одной базе данных. На каждом сервере-участнике имеется база данных участника. Данные распределены между этими базами данных.
Каждая таблица обычно представляет собой отдельную сущность. Таблицы исходной базы данных горизонтально секционированы по таблицам на серверах-участниках. Таблица существует в базе данных каждого из участников, а распределенные секционированные представления представляют данные так, будто на каждом из них содержится полная копия исходной таблицы.
Все соединения осуществляются с одним сервером, и все операторы SQL обрабатываются одним и тем же экземпляром SQL Server. Уровень приложения должен уметь располагать операторы SQL на том сервере, который содержит наибольший объем данных, на которые ссылаются операторы.

Технологии облачного программирования также начинают проникать в состав функциональности СУБД. Например, Microsoft SQL Windows Azure представляет платформу реляционных баз данных на основе технологий SQL Server. Windows Azure позволяет подготавливать к использованию и развертывать решения реляционных баз данных в облаке, используя преимущества распределенного центра обработки данных, который обеспечивает доступность, масштабируемость и безопасность на уровне предприятия, а также встроенную защиту данных и автоматическое восстановление. Причем функциональность центра обработки данных обеспечивается без административных накладных расходов, связанных с применением локальных экземпляров SQL Server. Windows Azure позволяет подготавливать к использованию хранилище данных. Это сокращает начальные затраты на службы данных, позволяя подготавливать к использованию лишь действительно необходимые ресурсы. В случае изменения потребностей предприятия облачное хранилище данных можно расширить для них.

Расширение возможностей происходит и на уровне поддерживаемых типов данных. Появились типы «пространственных» данных geometry и geography. Например, тип данных geography используется для хранения эллиптических данных, таких как GPS координаты широты и долготы, единицей измерения которых обычно является метр. При работе с таким типом учитывается как планарная модель (или модель плоской Земли), так и эллиптическая модель, или модель круглой Земли, координаты указываются в градусах долготы и широты.

Основная литература

Учебник / Учебное пособие Раздел Страницы
1. Карпова Т.С. Базы данных: модели, разработка, реализация. - СПб.: Питер, 2001.- 304 с.; ил. СПб.:Корона-Век, 2007.-736с. Главы 1,2, 10, 14 10-30, 198-215, 286-294
2. Хомоненко А.Д, Цыганков В.М., Мальцев М.Г. Базы данных: Учебник для высших учебных заведений / под ред. проф. Хомоненко А.Д., 6-ое изд. – М.:Бином-Пресс; Гл. 1,2 4, 9 9-38, 109-142, 242-270

Дополнительная литература

Учебник / Учебное пособие Раздел Страницы
1. Коннолли Т., Бегг К., Страчан А. Базы данных: проектирование, реализация и сопровождение. Теория и практика, 2-е изд.: Пер. с англ. - М.: Издательский дом “Вильямс”,. 2001. – 1120 с.: ил. 1.1 - 1.4, 2.1 – 2.3, 19.1 – 19.6, 20.1 – 20.7 39-56, 73-87, 608-631
2. Дейт К. Дж. Введение в системы баз данных, 6-е издание: Пер. с англ. – К.;М.; СПб.: Издательский дом “Вильямс”,. 1999. – 848 с.: ил. (7-е и 8-е издание). 1.2 – 1.3, 21.3 – 21.7, 2.1-2.5, 16-23, 37-44, 08-631
3. https://msdn.microsoft.com/ru-ru/library    

Тема 6. Проектирование данных. Отношения

Лекция №6. Отношения. Нормальные формы

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

· Логический уровень представления данных. Реляционная модель данных.

· Понятие отношения.

· Схема отношения. Атрибут. Домен. Кортеж.

· Теоретико-множественные операции: декартово произведение, объединение, пересечение, разность (вычитание) множеств.

· Операции реляционной алгебры выборка (SELECT), проекция (PROJECT), соединение (JOIN).

· Соединения: q-соединение; эквисоединение; естественное соединение; правое/левое соединение; внешнее соединение.

· Функциональные зависимости. Нормализация. Нормальные формы.

· Декомпозиция базы данных.

На логическом уровне представления данных в реляционных СУБД пользователь «видит» данные как двумерные таблицы. Формальную основу модели данных и действий над данными составляет теоретико-множественный подход. Реляционная модель данных предложена Е.Коддом в 1970г. В ней используются понятие «отношение» (relation). Отношение R определяется на множестве атрибутов Ai, i=1..n, причем каждый атрибут (attribute) ai имеет свою именованную область значений dj, j=1..k, называемую «домен» (domain). Экземпляр отношения, в котором конкретно заданы значения атрибутов, называется «кортеж» (tuple).

Теоретико-множественный подход позволяет строить язык описания данных и манипулирования данными на основе операций над множествами (UNION, INTERSECT, EXCEPT) и операций реляционной алгебры (SELECT, PROJECT, JOIN).

«Теоретико-множественное» определение схемы отношения
  dа dв dс dе
Отношение R Атрибут А Атрибут В Атрибут С Атрибут Е
Определение в СУБД:
Таблица «Студент» Столбец/поле Студ_ИД Столбец/поле Студ_ФИО Столбец/поле Студ_форма_обуч Столбец/поле Студ_рейтинг
«Теоретико-множественная» конкретизация схемы
  dа dв dс dе
Кортеж в R а1 в1 с1 е1
Конкретизация на уровне таблиц в СУБД
Строка таблицы «Студент» Студ_ИД Студ_ФИО Плахов Студ_форма_обуч бюджет Студ_рейтинг

Операциями реляционной алгебры являются: выборка (SELECT), проекция (PROJECT), соединение (JOIN). Разновидностями соединения являются: θ-соединение (тэта-соединение), эквисоединение, естественное соединение, правое/левое соединение, внешнее соединение.

Выборка (SELECT). Выборка кортежей отношения, т.е. множества кортежей, являющегося подмножеством исходного отношения.

Синтаксис: Rисх WHERE C, где Rисх - исходное отношение, С - некоторое условие выборки «по горизонтали». Результатом выборки является отношение Rрез, атрибуты которого совпадают с атрибутами исходного отношения, а кортежами Rрез являются кортежи Rисх, подстановка атрибутов которых в заданное условие дает истинное значение.

Проекция (PROJECT). Выборка «по вертикали» атрибутов отношения. Синтаксис: Rисх over [W, X, Y, Z], где Rисх - исходное отношение, над которым выполняется операция проекции. В квадратных скобках показан список атрибутов, на которых определено результирующее отношение Rрез. Перечень атрибутов отношения Rрез представляет собой подмножество атрибутов, на которых определено Rисх, а кортежи Rрез соответствуют кортежам (w, x, y, z) исходного отношения, исключая кортежи-дубликаты.

Соединение (JOIN). В нем участвуют два отношения, например, R1(A,B,C) и R2(D,E), и условие соединения. WHERE Сondition. Отношение Rрез определено на множестве атрибутов обоих отношений, в данном случае A,B,C,D,E. Кортежи в Rрез выбираются в соответствии с условием Сondition, которое задается логическим выражением.

θ-соединение (тэта-соединение). Частный случай общего соединения. Если в отношении R1 имеется атрибут X, в отношении R2 атрибут Y, а условие c имеет вид X θ Y, где θ - один из операторов отношения (=, <>, >, >=, <, <=), то результирующая операция называется тэта-соединением.

Эквисоединение. Частный случай тэта-соединения. Эквисоединение - это тэта-соединение, в котором оператором отношения является равенство. Эквисоединение рассматривается как особая разновидность соединения, поскольку на практике применяется особенно часто. Обозначается эквисоединение так: R1 [X=Y] R2.

Выражение WHERE <атрибут 1> = <атрибут 2> соответствует внутреннему (INNER) эквисоединению.

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

Процесс нормализации сводится к последовательному приведению структуры данных к нормальным формам - формализованным требованиям к организации данных. Известны шесть нормальных форм:

· первая нормальная форма (1NF);

· вторая нормальная форма (2NF);

· третья нормальная форма (3NF);

· нормальная форма Бойса - Кодда (усиленная 3NF);

· четвертая нормальная форма (4NF);

· пятая нормальная форма (5NF).

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

Нормализацию и декомпозицию отношения осуществляют на основе анализа функциональной зависимости атрибутов.

Функциональная зависимость атрибутов означает, что по значению одного атрибута (детерминанта) можно однозначно определить значение другого атрибута (зависимой части). Но базы данных отличаются от математических зависимостей вида y=f(x) тем, что значение «y» зависимой может быть различным в различных состояниях БД.

Атрибуты отношения (таблицы) могут быть разбиты на три группы:

· используемые строго для идентификации;

· используемые строго для информационных целей;

· используемые и для идентификации, и для информационных целей.

Отношение Книга:

ISBN Название ИздатID ИздатНазв
1-1111-1111-1 C++   Бином
0-91-335678-7 Java   Бином
1-011-22222-0 C++   Высшая школа

Атрибут Название не является избыточным, зависит полностью от ключа, ИздатНазв избыточный атрибут.

Первая нормальная форма: в отношении отсутствуют повторяющиеся атрибуты (содержащие одинаковую по смыслу информацию), атрибуты со множественными значениями, присутствует первичный ключ.

Пример нарушения 1NF:

ISBN Название Автор
0-55-123456-9 12 стульев Ильф, Петров

Функциональные зависимости и потенциальные ключи в отношении

Издательство {ИздатID,ИздатНазв,ИздатТелефон,ИздатГодОснования}:

ИздатID --> ИздатНазв (ключ)

{ИздатНазв,ИздатТелефон} --> {ИздатID} (ключ)

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

Вторая нормальная форма: неключевые атрибуты зависят от первичного ключа полностью, а не от его части. Если таблица находится в первой нормальной форме и первичный ключ у нее состоит из одного атрибута, то она автоматически находится и во второй нормальной форме.

Отношение Книга:

{Название,ИздатID,АвторID,Цена,АвторАдрес}

{Название, ИздатID, АвторID} – ключ, но {АвторID} --> АвторАдрес (нарушение 2NF)

Третья нормальная форма: неключевые атрибуты не зависят от других неключевых атрибутов, а зависят только от первичного ключа.

Отношение Заказ

{ЗаказID, ТоварID, Количество единиц, Цена за единицу, Сумма за товар} - Сумма за товар - нарушение 3NF.

Отношение Книга { Название,ИздатID,КолСтр,Цена} – соответствует 3NF.

{Название,ИздатID} – потенциальный ключ.

Нет зависимостей:

{Название} --> {КолСтр}

{Название} --> {Цена}

{ИздатID} --> {КолСтр}

{ИздатID} --> {Цена}

Но может быть: { ИздатID,КолСтр} --> {Цена}. Например:

Название ИздатID КолСтр Цена
С++      
Java      
С++      

4NF Бойса-Кодда (Boyce-Codd), или BCNF усиливает 3NF и не разрешает зависимость атрибута от чего–либо, кроме суперключа.

Преимуществами нормализации являются:

· более быстрая сортировка и создание индексов;

· большее количество кластеризованных индексов;

· более узкие и компактные индексы;

· меньшее количество индексов в таблице (повышает производительность INSERT, UPDATE и DELETE);

· меньшее количество NULL-значений и меньшая вероятность несогласованности.

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

Основная литература

Учебник / Учебное пособие Раздел Страницы
1. Карпова Т.С. Базы данных: модели, разработка, реализация. - СПб.: Питер, 2001.- 304 с.; ил. Главы 3,4 31-65
2. Хомоненко А.Д, Цыганков В.М., Мальцев М.Г. Базы данных: Учебник для высших учебных заведений / под ред. проф. Хомоненко А.Д., 6-ое изд. – М.:Бином-Пресс; СПб.:Корона-Век, 2007.-736с. Гл.2, 3 29- 34, 49-107

Дополнительная литература

Учебник / Учебное пособие Раздел Страницы
1. Коннолли Т., Бегг К., Страчан А. Базы данных: проектирование, реализация и сопровождение. Теория и практика, 2-е изд.: Пер. с англ. - М.: Издательский дом “Вильямс”,. 2001. – 1120 с.: ил. 3.2 - 3.4, 108-136
2. Дейт К. Дж. Введение в системы баз данных, 6-е издание: Пер. с англ. – К.;М.; СПб.: Издательский дом “Вильямс”,. 1999. – 848 с.: ил. (7-е и 8-е издание). 4.2 - 4.6 84-100

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: