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

Эпилог

При подготовке данной статьи я постаралась ориентироваться прежде всего на архитекторов, аналитиков и разработчиков, которые непосредственно работают с хранилищами данных. Но получилось, что неизбежно «брала тему чуть шире» - и поле зрения попадали другие категории читателей. Какие-то моменты покажутся спорны, какие-то не понятны, какие-то очевидны. Люди разные – с разным опытом, бэкграундом и позицией.
Например, типичные вопросы менеджеров - «когда привлекать архитекторов?», «когда надо заниматься архитектурой?», «архитектура – не будет ли это слишком дорого?» звучат для нас (разработчиков, проектировщиков) довольно странно, потому что для нас архитектура системы появляется с ее рождением – не важно, осознаем мы это, или нет. И даже если формально роли архитектора в проекте нет, нормальный разработчик всегда «включает своего внутреннего архитектора».

По большом счету, не важно – кто именно выполняет роль архитектора – важно, что кто-то ставит подобные вопросы и исследует на них ответы. Если архитектор явно выделен – это лишь означает, что ответственность за систему и ее развитие несет, прежде всего, он.
Почему мне показалась тема «антихрупкости» релевантной относительно данного предмета?

“Уникальность антихрупкости состоит в том, что она позволяет нам работать с неизвестностью, делать что-то в условиях, когда мы не понимаем, что именно делаем, – и добиваться успеха” /Нассим Н.Талеб/
Поэтому, кризис и высокая степень неопределенности – это не оправдание в пользу отсутствия архитектуры, а факторы, усиливающие ее необходимость.

Теги: Добавить метки

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

Эпилог

При подготовке данной статьи я постаралась ориентироваться прежде всего на архитекторов, аналитиков и разработчиков, которые непосредственно работают с хранилищами данных. Но получилось, что неизбежно «брала тему чуть шире» - и поле зрения попадали другие категории читателей. Какие-то моменты покажутся спорны, какие-то не понятны, какие-то очевидны. Люди разные – с разным опытом, бэкграундом и позицией.
Например, типичные вопросы менеджеров - «когда привлекать архитекторов?», «когда надо заниматься архитектурой?», «архитектура – не будет ли это слишком дорого?» звучат для нас (разработчиков, проектировщиков) довольно странно, потому что для нас архитектура системы появляется с ее рождением – не важно, осознаем мы это, или нет. И даже если формально роли архитектора в проекте нет, нормальный разработчик всегда «включает своего внутреннего архитектора».

По большом счету, не важно – кто именно выполняет роль архитектора – важно, что кто-то ставит подобные вопросы и исследует на них ответы. Если архитектор явно выделен – это лишь означает, что ответственность за систему и ее развитие несет, прежде всего, он.
Почему мне показалась тема «антихрупкости» релевантной относительно данного предмета?

“Уникальность антихрупкости состоит в том, что она позволяет нам работать с неизвестностью, делать что-то в условиях, когда мы не понимаем, что именно делаем, – и добиваться успеха” /Нассим Н.Талеб/
Поэтому, кризис и высокая степень неопределенности – это не оправдание в пользу отсутствия архитектуры, а факторы, усиливающие ее необходимость.

Теги:

  • архитектура
  • хранилище данных
Добавить метки

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

хорошую работу на сайт">

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

Размещено на http://www.allbest.ru/

  • 1. Реляционная модель данных
    • 1.1 Реляционная модель данных. Основные определения
    • 1.2 Операции над отношениями
  • 2. Корпоративные информационные системы
  • Список используемой литературы

1. Реляционная модель данных

1.1 Реляционная модель данных. Основные определения

В математических дисциплинах понятию «таблица» соответствует понятие «отношение» (relation). Таблица отражает объект реального мира - сущность, а каждая ее строка отражает конкретный экземпляр сущности. Каждый столбец имеет уникальное для таблицы имя. Строки не имеют имен, порядок их следования не определен, а количество логически не ограничено. Одним из основных преимуществ реляционной модели данных является однородность (каждая строка таблицы имеет один формат). Пользователь сам решает вопрос, обладают ли соответствующие сущности однородностью. Этим решается проблема пригодности модели.

Основные понятия:

* Отношение представляет собой двумерную таблицу, содержащую некоторые данные.

* Сущность - объект любой природы, данные о котором хранятся в БД. Атрибуты - свойства, характеризующие сущность (столбцы).

* Степень отношения - количество столбцов.

* Схема отношения - список имен атрибутов, например, СОТРУДНИК (№, ФИО, Год рождения, Должность, Кафедра).

* Домен - совокупность значений атрибутов отношения (тип данных).

* Кортеж - строка таблицы.

* Кардинальность (мощность) - количество строк в таблице.

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

* Внешний ключ - это атрибут (атрибуты) одной таблицы, который может служить первичным ключом другой таблицы. Является ссылкой на первичный ключ другой таблицы.

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

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

Нормальная форма -- это своеобразный показатель уровня, или глубины, нормализации базы данных. Уровень нормализации базы данных соответствует нормальной форме, в которой она находится.

1.2 Операции над отношениями

Чтобы привести таблицу к первой нормальной форме (1НФ), нужно соблюсти два правила:

1. Атомарность или неделимость. Каждая колонка должна содержать одно неделимое значение.

2. Таблица не должна содержать повторяющихся колонок или групп данных.

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

Начинать нормализацию следует с проверки структуры БД на совместимость с 1НФ. Все столбцы, которые не являются атомарными, должны быть разбиты на составляющие их столбцы. Если в таблице есть повторяющиеся столбцы, то им нужно выделить отдельную таблицу.

Чтобы привести таблицу к первой нормальной форме, следует:

* Найти все поля, которые содержат многосоставные части информации.

* Те данные, которые можно разбить на составные части, нужно выносить в отдельные поля.

* Вынести повторяющиеся данные в отдельную таблицу.

* Проверить, все ли таблицы подходят под условия первой нормальной формы.

Для приведения таблиц ко второй нормальной форме (2НФ), приводимые таблицы должны быть уже в 1НФ. Нормализация должна проходить по порядку.

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

Чтобы привести базу ко второй нормальной форме, надо:

* Определить все столбцы, которые не находятся в прямой зависимости от первичного ключа этой таблицы.

* Создать необходимые поля в таблицах users и forums, выделить из существующих полей или создать из новых первичные ключи.

* Для каждой таблицы нужен свой первичный ключ

* Создать внешние ключи и обозначаем их отношения между таблицами. Конечным шагом нормализации до 2НФ будет являться выделение внешних ключей для связи с ассоциированными таблицами. Первичный ключ одной таблицы должен быть внешним ключом в другой.

Подсказки:

Другой способ приведения схемы к 2НФ -- посмотреть на отношения между таблицами. Идеальный вариант -- создать все отношения вида один-к-многим. Отношения вида многие-к-многим нуждаются в реструктуризации.

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

База данных будет находиться в третьей нормальной форме, если она приведена ко второй нормальной форме и каждый не ключевой столбец независим друг от друга. Если следовать процессу нормализации правильно до этой точки, с приведением к 3НФ может и не возникнуть вопросов. Следует знать, что 3НФ нарушается, если изменив значение в одном столбце, потребуется изменение и в другом столбце.

Чтобы привести базу к третьей нормальной форме, надо:

* Определить, в каких полях каких таблиц имеется взаимозависимость, т.е. поля, которые зависят больше друг от друга, чем от ряда в целом.

* Создать соответствующие таблицы. Если есть проблемный столбец в шаге 1, создать раздельные таблицы для него.

* Создать или выделить первичные ключи. Каждая таблица должна иметь первичный ключ.

* Создать необходимые внешние ключи, которые образуют любое из отношений.

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

2. Корпоративные информационные системы

реляционный модель данные система

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

1. Элемент системы -- часть системы, имеющая определенное функциональное назначение. Сложные элементы систем, в свою очередь состоящие из более простых взаимосвязанных элементов, часто называют подсистемами.

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

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

4. Архитектура системы -- совокупность свойств системы, существенных для пользователя.

5. Целостность системы -- принципиальная несводимость свойств системы к сумме свойств отдельных ее элементов (эмерджентность свойств) и, в то же время, зависимость свойств каждого элемента от его места и функции внутри системы.

Информационная система -- взаимосвязанная совокупность средств, методов и персонала, используемых для хранения, обработки и выдачи информации в интересах достижения поставленной цели»

В Федеральном законе «Об информации, информатизации и защите информации» дается следующее определение:

«Информационная система -- организационно упорядоченная совокупность документов (массивов документов) и информационных технологий, в том числе с использованием средств вычислительной техники и связи, реализующих информационные процессы»

Классификация по масштабу

По масштабу информационные системы подразделяются на следующие группы:

* одиночные;

* групповые;

* корпоративные.

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

Корпоративной Информационной Системой может считаться система, автоматизирующая более 80 % подразделений предприятия.

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

Автоматизированная информационная система (АИС) представляет собой совокупность различных видов обеспечения, а также специалистов предназначена для автоматизации обработки учетно-аналитической информации. Виды обеспечения по составу, как правило, однородны для различных систем, что позволяет реализовать принцип совместимости систем в процессе их функционирования. В процессе изучения АИС как сложной системы необходимо выделять отдельные части и элементы и рассматривать особенности их использования на этапах создания и эксплуатации.

Корпоративные информационные системы являются развитием систем для рабочих групп, они ориентированы на крупные компании и могут поддерживать территориально разнесенные узлы или сети. В основном они имеют иерархическую структуру из нескольких уровней. Для таких систем характерна архитектура клиент-сервер со специализацией серверов или же многоуровневая архитектура. При разработке таких систем могут использоваться те же серверы баз данных, что и при разработке групповых информационных систем. Однако в крупных информационных системах наибольшее распространение получили серверы Oracle, DB2 и Microsoft SQL Server.

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

Классификация по сфере применения

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

* системы обработки транзакций;

* системы принятия решений;

* информационно-справочные системы;

* офисные информационные системы.

Список используемой литературы

1. Агальцов, В.П. Базы данных. В 2-х т. Т. 2. Распределенные и удаленные базы данных: Учебник / В.П. Агальцов. - М.: ИД ФОРУМ, НИЦ ИНФРА-М, 2013.

2. Голицына, О.Л. Базы данных: Учебное пособие / О.Л. Голицына, Н.В. Максимов, И.И. Попов. - М.: Форум, 2012.

3. Карпова, И.П. Базы данных: Учебное пособие / И.П. Карпова. - СПб.: Питер, 2013.

4. Кириллов, В.В. Введение в реляционные базы данных.Введение в реляционные базы данных / В.В. Кириллов, Г.Ю. Громов. - СПб.: БХВ-Петербург, 2012.

5. Пирогов, В.Ю. Информационные системы и базы данных: организация и проектирование: Учебное пособие / В.Ю. Пирогов. - СПб.: БХВ-Петербург, 2009.

6. Г.Н. Федорова. Информационные системы. - М.: Академия, 2013.

7. А.Е. Сатунина, Л.А. Сысоева. Управление проектом корпоративной информационной системы предприятия. - М.: Финансы и статистика, Инфра-М, 2009.

Размещено на Allbest.ru

...

Подобные документы

    Сущность и характеристика типов моделей данных: иерархическая, сетевая и реляционная. Базовые понятия реляционной модели данных. Атрибуты, схема отношения базы данных. Условия целостности данных. Связи между таблицами. Общие представления о модели данных.

    курсовая работа , добавлен 29.01.2011

    Корпоративные информационные системы и базы данных, их использование для совершенствования и отлаживания ведения бизнеса. Классификация корпоративных информационных систем. Информационные системы класса OLTP. Оперативная аналитическая обработка.

    курсовая работа , добавлен 19.01.2011

    Базы данных с двумерными файлами и реляционные системы управления базами данных (СУБД). Создание базы данных и обработка запросов к ним с помощью СУБД. Основные типы баз данных. Базовые понятия реляционных баз данных. Фундаментальные свойства отношений.

    реферат , добавлен 20.12.2010

    Понятие системы базы данных. Реляционная модель и ее характеристики. Целостность в реляционной модели. Реляционная алгебра. Вопросы проектирования БД. Нормальные формы отношений. Проектирование БД методом сущность-связь. ER-диаграммы. Язык SQL.

    курс лекций , добавлен 03.10.2008

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

    презентация , добавлен 14.10.2013

    Базы данных и их использование в вычислительной технике. Особенности и основная конструктивная единица сетевой модели данных. Иерархическая модель, объекты предметной области. Реляционная модель, ее наглядность, представление данных в табличной форме.

    реферат , добавлен 19.12.2011

    Виды и функции системы управления базами данных Microsoft Access. Иерархическая, сетевая, реляционная модель описания баз данных. Основные понятия таблицы базы данных. Особенности создания объектов базы данных, основные формы. Доступ к Internet в Access.

    контрольная работа , добавлен 08.01.2011

    Современные системы управления базами данных (СУБД). Анализ иерархической модели данных. Реляционная модель данных. Постреляционная модель данных как расширенная реляционная модель, снимающая ограничение неделимости данных, хранящихся в записях таблиц.

    научная работа , добавлен 08.06.2010

    Модели данных в управлении базами данных. Концептуальные модели данных. Роль баз данных в информационных системах. Реляционная модель данных. Определение предметной области. Построение модели базы данных для информационной системы "Домашние животные".

    курсовая работа , добавлен 19.04.2011

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

Архитектура БД

Схема КМД – это описание структуры модели данных с точки зрения администратора.

Схема ВМД – это описание внутренней или физической модели. Здесь хранится описание физического расположения данных на носителях. Схема хранит прямые указания на размещение данных в памяти (томах, дисках).

Схема КМД описывает структуру данных, записей и полей.

Все СУБД поддерживают три основных вида моделей данных:

1. Иерархическая модель. Она предполагает некоторую корневую запись. От корней идут ветви.

Не все объекты удобно описывать подобным образом. В иерархии нет связей и характерна большая избыточность информации.

2. Сетевая модель. Позволяет правильно отобразить все сложности взаимосвязей.

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

3. Реляционная модель. В основе лежит математический термин Relation – отношение, а попросту – таблица. Например, прямоугольная двухмерная.

Реляционная структура данных была разработана в конце 60-х годов рядом исследо­вателей, из которых наиболее значимый вклад внес сотрудник фирмы IBM Эдгар Кодд. При реляционном подходе данные представляются в виде двумерных таблиц – наи­более естественном для человека. В то же время, для обработки данных Кодд предло­жил использовать аппарат теории множеств – объединение, пересечение, разность, де­картово произведение.

Тип данных – это понятие имеет такой же смысл, как и в языках программирования (т.е. тип данных определяет внутреннее представление в памяти компьютера и способ хранения экземпляра данных, а также множество значений, которые может принимать экземпляр данных и множество допустимых операций над данными). Все существующие современные базы данных поддерживают специальные тины данных, предназначенные для хранения данных целого типа, дробного с плавающей точкой, сим­волов и строк, календарных дат. У многих серверов баз данных реализованы и другие типы, например, у сервера Interbase имеется специальный тип данных для хранения круп­ных массивов бинарной информации (BLOB).

Домен – это потенциальное множество значений простого типа данных, он имеет сходство с подтипом данных в некоторых языках программирования. Домен определя­ется двумя элементами – типом данных и логическим выражением, которое применяется к данным. Если результат этого выражения равен значению «истина», то экземпляр дан­ных принадлежит домену.

Отношение – это двумерная таблица особого вида, состоящая из заголовка и тела.

Заголовок – это фиксированное множество атрибутов, каждый из которых опреде­лен на каком-то домене, причем между атрибутами и определяющими доменами суще­ствует взаимно однозначное соответствие.


Каждый из ат­рибутов определен на своем домене. Домен представляет собой тип данных «це­лый», а логическое условие - n>0. Заголовок является неизменным во времени, в от­личие от тела отношения. Тело отношения – это совокупность кортежей , каждый из которых представляет собой пару «атрибут - значение».

Мощностью отношения называется число его кортежей, а степенью отношения – число атрибутов.

Степень отношения является для данного отношения величиной постоянной, тогда как мощность отношения изменяется во времени. Мощность отношения еще называют кардинальным числом.

Приведенные выше понятия являются теоретическими и используются при разработ­ке языковых средств и программных систем реляционных СУБД. В повседневной работе вместо них используются их неформальные эквиваленты:

отношение – таблица;

атрибут- колонка или поле;

кортеж - запись или строка.

Таким образом, степень отношения – это число колонок в таблице, а кардинальное число - количество строк.

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

Ключ должен удовлетворять следующим требованиям:

· должен быть уникальным;

· должен быть минимальным, то есть удаление любого атрибута из ключа ведет к нарушению уникальности.

Как правило, число атрибутов в ключе меньше степени отношения, однако, в крайнем случае, ключ может содержать все атрибуты, так как комбинация всех атрибутов удов­летворяет условию уникальности. Обычно отношение имеет несколько ключей. Из всех ключей отношения (их еще называют «возможными ключами») один выбирается в ка­честве первичного ключа . При выборе первичного ключа предпочтение обычно отдается ключу с наименьшим числом атрибутов. Нецелесообразно также использовать ключи с длинными строковыми значениями.

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

Описанные в данной главе основные понятия не относятся к какой-либо конкретной реализации базы данных, а являются общими для них всех. Таким образом, эти понятия являются основой определенной общей модели, которая называется реляционной мо­делью данных.

Основатель реляционного подхода Дейт установил, что реляционная модель состо­ит из трех частей:

· структурной;

· манипуляционной;

· целостной.

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

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

Под целостной частью понимают некий механизм обеспечения не разрушаемости дан­ных. Целостная часть заключает в себе два основных требования целостности реляци­онных баз данных - целостность сущностей и целостность по ссылкам.

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

В языке манипулирования данными, а также на языке запросов, исполняется математический аппарат, называемый алгеброй отношений, для определены следующие действия:

1. Стандартные операции: – пересечение, – объединение, \ – разность, X – декартово произведение.

2. Специфические: проекция, ограничение, соединение, деление.

a. Объединение.

ШД ШМ ЕИ НР

R 1 (шифр детали, шифр материала, единицы измерения, норма расхода)

R 2 (ШД, ШМ, ЕИ, НР)

Необходимо найти

Предполагается присоединение множеств R 1 и R 2 . В этой операции степень сохраняется, а мощность результирующего множества

b. Пересечение.

Выделение совпадающих строк.

c. Разность.

Исключение из R 1 кортежей, совпадающих с R 2 .

d. Декартово произведение.

Здесь производится конкатенация кортежей.

Каждая строка одного множества конкатенирует с каждой строкой другого.

Даны два множества:

Декартово произведение имеет следующий вид:

В этом случае S-степень равна, а, т.е. получится 12 строк и 5 столбцов.

Зайцев С.Л., к.ф.-м.н.

Повторяющиеся группы

Повторяющимися группами являются атрибуты, для которых единственный экземпляр сущности может иметь более одного значения. Например, персона может иметь более одного навыка. Если, с точки зрения требований бизнеса, нам нужно знать уровень владения навыком для каждого, и каждая персона может иметь только два навыка, мы можем создать сущность, показанную на рис. 1.6. Здесь представлена сущность ПЕРСОНА с двумя атрибутами для хранения навыков и уровня владения навыками для каждого.

Рис. 1.6. В данном примере используются повторяющиеся группы.

Проблема повторяющихся групп заключается в том, что мы не можем точно знать, сколько навыков может иметь персона. В реальной жизни у некоторых людей есть один навык, у некоторых - несколько, а у некоторых - пока ни одного. На рисунке 1.7 представлена модель, приведенная к первой нормальной форме. Обратите внимание на добавленный Идентификатор навыка , который уникально определяет каждыйНАВЫК.

Рис. 1.7. Модель, приведенная к первой нормальной форме.

Один факт в одном месте

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

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

В предыдущем примере НАВЫК зависит отИдентификатора персоны и отИдентификатора навыка. Это значит, что у вас не появитсяНАВЫК до тех пор, пока не появитсяПЕРСОНА, обладающая этим навыком. Это так же усложняет изменение Названия навыка. Необходимо найти каждую запись с Названием навыка и изменить ее для каждой Персоны, владеющей этим навыком.

На рисунке 1.8 представлена модель во второй нормальной форме. Заметьте, что добавлена сущность НАВЫК , и атрибут НАЗВАНИЕ навыка перенесен в эту сущность. Уровень навыка остался, соответственно, на пересеченииПЕРСОНЫ и НАВЫКА.

Рис. 1.8. Во второй нормальной форме повторяющаяся группа вынесена в другую сущность. Это обеспечивает гибкость при добавлении необходимого количества Навыков и изменении Названия навыка или Описания навыка в одном месте.

Каждый атрибут зависит от ключа

Каждый атрибут сущности должен зависеть от первичного ключа этой сущности. В предыдущем примере Название школы иГеографический район присутствуют в таблице ПЕРСОНА , но не описывают персону. Для достижения третьей нормальной формы необходимо переместить атрибуты в сущность, где они будут зависеть от ключа. Рисунок 1.9. показывает модель в третьей нормальной форме.

Рис. 1.9. В третьей нормальной форме Название школы и Географический регион перенесены в сущность, где их значения зависят от ключа.

Отношения многие-ко-многим

Отношения многие-ко-многим отражают реальность окружающего мира. Обратите внимание, что на рисунке 1.9 существует отношение многие-ко-многим междуПЕРСОНОЙ иШКОЛОЙ . Отношение точно отражает тот факт, чтоПЕРСОНА может учиться во многихШКОЛАХ и вШКОЛЕ может учиться многоПЕРСОН. Для достижения четвертой нормальной формы создается ассоциативная сущность, которая устраняет отношение моногие-ко-многим за счет формирования отдельной записи для каждой уникальной комбинации школы и персоны. На рисунке 1.10 представлена модель в четвертой нормальной форме.

Рис. 1.10. В четвертой нормальной форме отношение моногие-ко-многим между ПЕРСОНОЙ и ШКОЛОЙ разрешается за счет введения ассоциативной сущности, в которой отводится отдельная запись для каждой уникальной комбинации ШКОЛЫ и ПЕРСОНЫ.

Формальные определения нормальных форм

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

В заданном отношении R атрибут Y функционально зависит от атрибута X. В символьном виде R.X -> R.Y (читается как "R.X функционально определяет R.Y") - в том и только в том случае если каждое значение X в R ассоциируется строго с одним значением Y в R (в каждый конкретный момент времени). Атрибуты X и Y могут быть составными (Дейт К. Дж. Введение в системы баз данных. 6-е издание. Изд. Вильямс: 1999, 848 с.).

Отношение R соответствует первой нормальной форме (1NF) тогда и только тогда, когда все принадлежащие ему домены содержат только атомарные значения (Дейт, там же).

Отношение R соответствует второй нормальной форме (2NF) тогда и только тогда, когда оно соответствует 1NF, и каждый неключевой атрибут полностью зависит от первичного ключа (Дейт, там же).

Отношение R соответствует третьей нормальной форме (3NF) тогда и только тогда, когда оно соответствует 2NF, и каждый неключевой атрибут не транзитивно зависит от первичного ключа (Дейт, там же).

Отношение R соответствует нормальной форме Бойса-Кодда (BCNF) тогда и только тогда, когда каждый детерминант является кандидатом на использование в качестве ключа.

ПРИМЕЧАНИЕ Ниже приводится краткое объяснение некоторых аббревиатур, используемых в определениях Дейта.

MVD (multi-valued dependency) - многозначная зависимость. Используется только для сущностей с тремя и более атрибутами. При многозначной зависимости значение атрибута зависит только от части первичного ключа.

FD (functional dependency) - функциональная зависимость. При функциональной зависимости значение атрибута зависит от значения другого атрибута, который не является частью первичного ключа.

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

Отношение соответствует четвертой нормальной форме (4NF) тогда и только тогда, когда в R существует MVD, например A®®B. При этом все атрибуты R функционально зависят от A. Другими словами, в R присутствуют только зависимости (FD или MVD) формы K®X (т.е. функциональная зависимость атрибута X от кандидата на использование в качестве ключа K). Соответственно R отвечает требованиям 4NF, если оно соответствует BCNF и все MVD фактически являются FD (Дейт, там же).

Для пятой нормальной формы отношение R удовлетворяет зависимости по объединению (JD)*(X, Y, …, Z) тогда и только тогда, когда R эквивалентно его проекциям на X, Y,..., Z, где X, Y,..., Z подмножества множества атрибутов R.

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

Бизнес-нормальные формы

В своей книге Клайв Финклештейн (Finklestein Cl. An Introduction to Information Engineering: From Strategic Planning to Information Systems. Reading, Massachusetts: Addison-Wesley, 1989) применил другой подход к нормализации. Он определяет бизнес-нормальные формы в терминах приведения к этим формам. Многие разработчики моделей, считают этот подход интуитивно более ясным и прагматичным.

Первая бизнес-нормальная форма (1BNF) выносит повторяющиеся группы в другую сущность. Эта сущность получает собственное имя и первичные (составные) ключевые атрибуты из исходной сущности и ее повторяющейся группы.

Вторая бизнес-нормальная форма (2BNF) выносит атрибуты, которые частично зависят от первичного ключа в другую сущность. Первичный (составной) ключ этой сущности является первичным ключом сущности, в которой он исходно находился, вместе с дополнительными ключами, от которых атрибут полностью зависит.

Третья бизнес-нормальная форма (3BNF) выносит атрибуты, не зависящие от первичного ключа, в другую сущность, где они полностью зависят от первичного ключа этой сущности.

Четвертая бизнес-нормальная форма (4BNF) выносит атрибуты, которые зависят от значения первичного ключа или являются необязательными, во вторичную сущность, где они полностью зависят от значения первичного ключа или где они должны (обязательно) присутствовать в этой сущности.

Пятая бизнес-нормальная форма (5BNF) проявляется как структурная сущность, если есть рекурсивная или другая зависимость между экземплярами вторичной сущности, или если рекурсивная зависимость существует между экземплярами ее первичной сущности.

Завершенная логическая модель данных

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

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

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

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

ПРИМЕЧАНИЕ Множественность связи описывает максимальное число экземпляров вторичной сущности, которые могут быть связаны с экземпляром исходной сущности. Необходимость существования или возможность отсутствия связи служит для определения минимального числа экземпляров вторичной сущности, которые могут быть связаны с экземпляром исходной сущности.

Физическая модель данных

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

В ERwin физическая модель является графическим представлением реально реализованной базы данных. Физическая база данных будет состоять из таблиц, столбцов и связей. Физическая модель зависит от платформы, выбранной для реализации, и требований к использованию данных. Физическая модель для IMS будет серьезно отличаться от такой же модели для Sybase. Физическая модель для OLAP-отчетов будет выглядеть иначе, чем модель для OLTP (оперативной обработки транзакций).

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

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

Сбор требований к использованию данных

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

    Требования к доступу и производительности

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

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

    Суммарные, сводные и другие вычисляемые или производные данные, которые могут рассматриваться в качестве кандидатов для хранения в долговременных структурах данных

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

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

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

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

Компоненты физической модели данных

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

Обратное проектирование

Когда логическая модель недоступна, возникает необходимость воссоздания модели из существующей базы данных. В ERwin этот процесс называется обратным проектированием. Обратное проектирование может производиться несколькими способами. Разработчик модели может исследовать структуры данных в базе данных и воссоздать таблицы в визуальной среде моделирования. Вы можете импортировать язык описания данных (DDL - data definitions language) в инструмент, который поддерживает проведение обратного проектирования (например, Erwin). Развитые средства, такие как ERwin, включают функции, обеспечивающие связь через ODBC с существующей базой данных, для создания модели путем прямого чтения структур данных. Обратное проектирование с использованием ERwin будет подробно обсуждаться в одной из последующих публикаций.

Использование корпоративных функциональных границ

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

ПРИМЕЧАНИЕ Некоторые из моих коллег называют эти корпоративные функциональные границы моделированием реального мира. Моделирование реального мира побуждает разработчика модели рассматривать информацию в терминах реально присущих ей отношений и взаимосвязей.

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

Что такое корпоративная модель данных?

Корпоративная модель данных (EDM - enterprise data model) содержит сущности, атрибуты и отношения, которые представляют информационные потребности корпорации. EDM обычно подразделяется в соответствие с предметными областями, которые представляют группы сущностей, относящихся к поддержке конкретных нужд бизнеса. Некоторые предметные области могут покрывать такие специфические бизнес-функции, как управление контрактами, другие - объединять сущности, описывающие продукты или услуги.

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

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

Построение корпоративной модели данных путем наращивания

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

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

Понятие методологии моделирования

Существует несколько методологий визуального моделирования данных. ERwin поддерживает две:

    IDEF1X (Integration Definition for Information Modeling - интегрированное описание информационных моделей).

    IE (Information Engineering - информационная инженерия).

IDEF1X - хорошая методология и использование ее нотации широко распространено

Интегрированное описание информационных моделей

IDEF1X- высоко структурированная методология моделирования данных, расширяющая методологию IDEF1, принятую в качестве стандарта FIPS (Federal Information Processing Standards - федеральный орган стандартов обработки информации). IDEF1X использует строго структурированный набор типов конструкций моделирования и приводит к модели данных, которая требует понимания физической природы данных до того, как такая информация может стать доступной.

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

Информационный инжиниринг

Клайва Финклештейна часто называют отцом информационного инжиниринга, хотя подобные же концепции излагал вместе с ним и Джеймс Мартин (Martin, James. Managing the Database Environment. Upper Saddle River, New Jersey: Prentice Hall, 1983.). Информационный инжиниринг использует для управления информацией подход, направляемый бизнесом, и применяет другую нотацию для представления бизнес-правил. IE служит расширением и развитием нотации и базовых концепций методологии ER, предложенной Питером Ченом.

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

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

Заключение

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

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

Модель данных состоит из логической и физической моделей, отображающих требования к информации и бизнес-правила. Логическая модель должна быть приведена к третьей нормальной форме. Третья нормальная форма ограничивает, добавляет, обновляет и удаляет аномалии структур данных для поддержки принципа "один факт в одном месте". Собранные требования к информации и бизнес-правила должны быть проанализированы и исследованы. Их необходимо сравнить с корпоративной моделью для гарантии того, что они не конфликтует с существующими моделями объектов, и включают в себя все необходимые объекты.

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

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

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

ПРИМЕЧАНИЕ Множественность связи описывает максимальное число экземпляров вторичной сущности, которые могут быть связаны с экземпляром исходной сущности. Необходимость существования или возможность отсутствия связи служит для определения минимального числа экземпляров вторичной сущности, которые могут быть связаны с экземпляром исходной