Лекция 2 ТЕОРИЯ ЛОГИЧЕСКОГО МОДЕЛИРОВАНИЯ
По итогам изучения материала данной главы студент должен: знать
• подходы к разработке моделей базы данных;
• инструментальные средства, применяемые при анализе предметной области;
• методы проведения нормализации и нормальные формы логической модели базы данных;
уметь
• выделять основные и вспомогательные функции работы с данными;
• анализировать структурные элементы и объекты данных;
• выделять аномалии в отношениях;
• проводить нормализацию отношений; владеть
• навыками функционального анализа предметной области;
• способами информационного анализа предметной области;
• методами применения инструментальных средств для построения моделей потоков данных.
Данная глава учебника рассматривает базовые вопросы логического моделирования базы данных, основываясь на анализе предметной области и рассмотрении информационных структур, представляемых в документах. Для реализации процессов анализа и моделирования рассматриваются различные инструментальные средства: ARIS Express, IBM WebSphere Business Modeler, MS Visio.
Общетеоретические вопросы
Процедура логического моделирования базы данных дает возможность разработчику лучше понять структуры обрабатываемых в будущей информационной системе сведений и на основе инструментальных средств моделирования в графическом виде пройти этапы формирования эффективной структуры данных с последующим выходом на создание физической модели базы данных и физической базы данных, реализованной в системе управления базами данных (СУБД).
Учитывая важность этого процесса, необходимо провести предварительный функциональный и информационный анализ предметной области, который основывается на информации, полученной по итогам укрупненного проектирования информационной системы, где разработчики определяют основные бизнес-процессы, реализуемые в предметной области, и их
детализацию, выделяя ключевые информационные потоки и используемые документы.
Функциональный анализ позволяет определить функционализацию структур данных. Такое рассмотрение предметной области дает возможность разработчику разделить все обрабатываемые данные по функциональному признаку, уменьшив их количество для рассмотрения и моделирования и тем самым облегчив процесс моделирования базы данных. Поскольку процесс моделирования с применением инструментальных средств позволяет выполнять функционализацию в рамках реализации единого проекта, то выстраиваемые функционализированные модели базы данных автоматически будут объединены в единую модель базы данных для всей предметной области.
Под функционализацией структур данных понимается выделение отдельных сущностей и связей между ними, необходимых для решения задач определенной функции.
Иногда, особенно, если функция достаточно большая, функционализация может быть выполнена на уровне задач или отдельных операций. Основной целью такой функционализации является минимизация размеров модели базы данных с целью ее последующего эффективного поддержания. Графическое представление функционализации структур данных реализуется в форме иерархии (дерево).
В интересах построения базы данных и се реализации рассматриваются три вида деревьев функций:
• дерево детализации функций — данное представление предполагает построение дерева, основанное на принципе детализации (выделения) функций;
• дерево зависимости функций — данное представление позволяет увидеть потребности функций верхнего уровня в реализации функций нижнего уровня;
• дерево связей функций — данное представление демонстрирует последовательность взаимодействия функций для достижения целей предметной области.
При построении дерева функций эти виды деревьев можно комбинировать, но необходимо учитывать, что в представлении дерева нужно с помощью цвета, внешнего вида или другим способом визуально разделить функции разных видов деревьев. Допускается построение дерева функций для каждого вида в отдельности. Однако наиболее эффективным представлением является построение двух деревьев: дерево детализации и зависимости, дерево связей.
Учитывая, что в конечном счете при моделировании структур данных должна быть сформирована модель базы данных, центральным элементом анализа остаются сведения, которые необходимо хранить и обрабатывать в базе данных. В связи с этим помимо моделирования функций при анализе предметной области разработчики рассматривают потоки данных, которые реализуются в предметной области, формируя дерево связей между функциями и отражая на соответствующих диаграммах используемые сведения предметной области, формируемые документы и структуры данных, описывающие рассматриваемые сведения.
Представление предметной области в виде моделей бизнес-процессов и потоков данных позволяет выделить основные информационные элементы, некоторые из которых представляются бизнес-элементами, а остальные — документами и сопутствующими информационными объектами.
В качестве бизнес-элемента понимается структура данных, описывающая объект предметной области, сведения о котором хранятся и обрабатываются в базе данных и характеризуют производимый на основе бизнес-процесса продукт или услугу.
Именно бизнес-элементы предметной области становятся центральными (ключевыми) элементами данных в базе данных. Основные функциональные решения в будущей информационной системе будут выстраиваться вокруг бизнес-элементов, а именно в части модификации сведений о них с момента их появления до формирования исчерпывающих сведений, описывающих произведенный иродук г/услугу. Такие элементы в базе данных становятся центрами данных, от которых можно оттолкнуться для формирования эффективной структуры данных.
Под информационным объектом понимается структура данных, описывающая вспомогательные или документарные (отчетные) сведения, необходимые для эффективного функционирования информационной системы.
Информационные объекты, как и бизнес-элементы, составляют структуры данных, представляемые в базе данных, но могут реализовываться в виде отдельных элементов структуры базы данных или в виде агрегированного представления данных, собираемых из разных элементов структуры базы данных. По этой причине все информационные объекты разделяются на сопутствующие (вспомогательные) объекты предметной области и документарные объекты.
Сопутствующие объекты предметной области являются центральными (ключевыми) информационными элементами функций зависимости (вспомогательные функции), необходимые для формирования сведений бизнес-элементов. В рамках функционализации предметной области такие элементы данных зачастую являются единственными структурными компонентами и представляются классификаторами (справочниками) предметной области. Например, такими объектами могут представляться справочник кодов, справочник стран, справочник городов и регионов, классификатор товаров и т.д.
Документарные объекты являются элементами структуры данных в базе данных, но представляются физическими или электронными документами, которые содержат необходимые сведения по предметной области и формируются на основе сведений, хранимых в базе данных.
В некоторых случаях такие объекты могут представляться сопутствующими объектами, что определяется необходимостью хранения всей структуры соответствующего документа с его данными в базе данных. Однако это частный случай, реализуемый не в каждой информационной системе и не для каждого документа.
Наиболее часто такие объекты реализуются в физической модели базы данных в форме статического или параметрического представления. Несмотря на рассмотрение представлений в физической модели базы данных, понимание их структур дает информацию о структурах, которые должны быть реализованы в базе данных, что требует их рассмотрения на этапе логического моделирования.
Таким образом, процесс логического моделирования базы данных, основываясь на анализе предметной области, требует выполнения комплекса задач (рис. 2.1).
Рис. 2.1. Процесс логического моделирования базы данных |
Проведя функциональный и информационный анализ предметной области, разработчик получает исчерпывающую информацию об используемых структурах данных и возможность приступить к непосредственному моделированию базы данных, которое может быть выполнено двумя способами:
а) документарное моделирование, которое рассматривает документ основным источником сведений о структурах данных, предоставляя сведения об используемых в документах атрибутах и характеристиках. Этот подход является классическим в моделировании баз данных, предполагая необходимость первоначального выделения всего множества атрибутов объектов предметной области с последующим применением правил нормализации для выстраивания структуры базы данных;
б) объектное моделирование, которое рассматривает основным источником информации о структурах данных объекты предметной области, а документы становятся сопутствующим элементом, характеризующим атрибуты объектов и указывающим на необходимость использования того или иного атрибута объекта предметной области. Этот подход предоставляет разработчику удобный техничный инструментарий построения логической модели базы данных, где нормализация применяется только
на последнем этапе для разрешения различных противоречий (аномалий), которые не были учтены в процессе построения модели базы данных.
Оба подхода предполагают применение операций нормализации имеющейся модели базы данных, что рассматривается как процесс преобразования, разрешающий возникающие противоречия в представлении и обработке сведений, хранимых в базе данных.
Наряду с процессом моделирования базы данных, основываясь па документах и объектах предметной области, зачастую возникает необходимость представления отдельных структурных элементов, которые универсализируют структуры данных и применяются для решения отдельных задач. К таким структурным элементам, в частности, относятся иерархические структуры и структуры квазиструктурированных данных. Реализация таких структур приводит к небольшой деморализации модели базы данных, но в интересах эффективности обработки и представления соответствующих данных такая деморализация представляется обоснованной. Тем более, что в целом на базу данных она не оказывает существенного влияния, давая большие преимущества по работе с данными.