ТЕХНОЛОГИЯ РАЗРАБОТКИ ИНФОРМАЦИОННО-ЛОГИЧЕСКОЙ МОДЕЛИ
Процесс разработки информационно-логической модели является творческим процессом и трудно поддается формализации. Для построения информационно-логической модели необходимо знание предметной области и понимание ее логических взаимосвязей. Выделение информационных объектов предметной области, отвечающих приведенным требованиям нормализации, в общем случае может производиться на основе различных подходов, требующих разных трудозатрат и имеющих различную степень формализации действий. Интуитивный подход к выделению информационных объектов предполагает непосредственное выявление реальных объектов и других сущностей предметной области и определение их характеристик. При таком подходе возможны существенные ошибки, если отсутствует достаточный опыт. Последующая проверка выполнения требований нормализации обычно показывает необходимость уточнения реквизитного состава информационных объектов. Кроме того, получаемая при этом информационно-логическая модель, как правило, требует дальнейших преобразований, в частности преобразования транзитивных зависимостей реквизитов и много-многозначных связей объектов.
В результате анализа предметной области должен быть выявлен состав документов и их реквизитов, подлежащих хранению в базе данных, а также формы этих документов. Список реквизитов можно представить в виде таблицы.
Описательные (зависимые) реквизиты | Ключевые реквизиты | Вид ключа: У – уникальный, П – простой, С – составной, В – вторичный | Имя ИО, включающего реквизит | Название информационного объекта (ИО) |
Формальные правила выделения информационных объектов:
1. Установить функциональные зависимости между реквизитами на основе описания предметной области и анализа форм документов, которые содержат необходимые для решения задач реквизиты. Для каждого реквизита определяется, зависит ли он функционально от какого-либо другого. В случае, если такая зависимость имеется, производится линия связи от данного реквизита к реквизиту (ключевому), от которого он зависит, и указывается стрелка к зависимому реквизиту.
2. Разделить все реквизиты на две группы описательных и ключевых реквизитов и установить между ними соответствие. Для этого надо проанализировать выявленные функциональные зависимости реквизитов. В первую группу следует включить реквизиты, зависимые от каких-либо других реквизитов, и для каждого из них указать реквизиты, от которых они зависят. Последние образуют вторую группу ключевых реквизитов. В случае транзитивной зависимости некоторые реквизиты являются одновременно зависимыми и ключевыми и соответственно войдут в разные группы.
3. Образовать информационные объекты. Сгруппировать описательные реквизиты, одинаково зависимые от одного (или нескольких) реквизитов. В каждую группу включить общие для группы ключевые реквизиты. Каждая такая группа из описательных реквизитов с общим для них ключом образует один из формируемых информационных объектов.
После выделения информационных объектов надо дать окончательное их описание. Описание информационных объектов должно включать название и имя объекта, перечень описательных реквизитов и ключевые реквизиты, образующие в совокупности ключ информационного объекта. Кроме того, в описание можно включить семантику информационных объектов, т.е. их смысловое определение. Описание выявление информационных объектов предметной области целесообразно представить в виде таблицы.
Реквизиты ИО | Признак уникального ключа | Имя | Название | Семантика |
Приведенные правила позволяют на основе несложного анализа установленных функциональных зависимостей реквизитов группировать их в отдельные информационные объекты, отвечающие требованиям нормализации. При использовании приведенных правил не требует отдельно преобразовывать транзитивные зависимости реквизитов. Совокупность выявленных рассмотренным способом информационных объектов образует информационно-логическую модель, не требующую дальнейших преобразований для построения реляционной базы данных. Как правило, сразу оказываются выделенными объектами, выполняющие роль связки между информационными объектами, находящимися в отношении M:N.
Следующим шагом проектирования после выявления информационных объектов является определение структурных связей между информационными объектами и построение информационно-логической модели в канонической форме.
Если выявлены много-многозначные отношения, они должны реализовываться через третий объект (связку), с которым исходные объекты связаны одно-многозначными связями. Если такой объект ранее не был выявлен, нужно осуществить преобразование отношений M:N, которое сводится к введению объекта-связки, который становится подчиненным в одно-многозначных связях по отношению к каждому из исходных информационных объектов. Объект-связка должен иметь идентификатор, образованный из идентификаторов исходных объектов Ka+Kb. При рассмотренном подходе к выделению информационных объектов объект-связка, как правило, выявляется в результате анализа функциональных зависимостей реквизитов. Много-многозначные связи в этом случае не требуют специальной реализации, так как осуществляются через объект, выполняющий роль объекта-связки.
В процессе выявления реальных отношений между информационными объектами информационно-логическую модель удобно представить в графическом виде, используя графическое изображение информационных объектов и отношений информационных объектов. Далее надо исключить из рассмотрения все связи, отображающие много-многозначные отношения, при условии их реализации объектом-связкой. Информационно-логическую модель нужно преобразовать в канонический вид, который отражает иерархию подчинения объектов. В одно-многозначных связях каждый подчиненный объект надо разместить ниже главного. Все объекты должны быть распределены по уровням.
При создании базы средствами систем управления базами данных с реляционной моделью каноническая информационно-логическая модель практически не требует преобразований. Каждый информационный объект канонической информационно-логической модели предметной области отображается соответствующей реляционной таблицей (отношением). Связи объектов информационно-логической модели предметной области отображаются в логической структуре базы данных логическими связями реляционных таблиц.
Логическая структура реляционной таблицы определяется в соответствии с реквизитным составом информационных объектов. В структуре реляционной таблицы каждый столбец (поле) соответствует одному из реквизитов в заданной последовательности. Ключевые реквизиты информационных объектов образуют уникальный ключ реляционной таблицы. Для каждого столба должен быть определен формат данных – тип данного (символьное, число, дата и т.п.), а также его размер.
Структурные связи канонической информационно-логической модели предметной области отображаются в базе данных логически в виде ключевой связи, которая реализуется, когда в логически связанных таблицах имеется одинаковый реквизит – ключ связи. При этом ключ связи всегда должен быть идентификатором главного объекта связи (простой или составной). В связи типа 1:М идентификатор главного информационного объекта должен повторяться в составном ключе детального информационного объекта.
Результат отображения информационно-логической модели в логическую структуру реляционной таблицы базы данных можно отобразить графически в виде схемы данных. На схеме данных реляционной базы прямоугольники отображают таблицы базы данных, а связи показывают, по каким полям осуществляется взаимосвязь таблиц. Внутри прямоугольника каждой таблицы целесообразно привести список атрибутов (полей) таблицы. Имена ключевых полей для наглядности целесообразно выделить и привести в начале списка. Для полученной схемы данных реляционной базы необходимо подготовить описание структуры ее таблицы в виде следующей таблицы.
Таким образом, рассмотренные этапы разработки базы данных, основанные на построении канонической информационно-логической модели, позволяют легко получить логическую структуру реляционной базы данных с нормализованными таблицами.