Цель исследования
Получение набора функциональных зависимостей в виде удобном для дальнейшего использования при анализе инфологии предметной области на основе их извлечения из структуры базы данных.
Введение
Перед разработчиками информационных систем часто возникает задача построения формального описания предметной области. Существуют различные варианты получения этого описания, отличающиеся принципами получения ключевых семантических связей между сущностями предметной области [1].
Одним из способов получения семантического описания предметной области является проведение ее семантического анализа, который чаще всего проводится аналитиками и экспертами в области решаемой задачи автоматизации. В результате получается набор характеристик будущей системы, в которые входят требуемая функциональность, ограничения, накладываемые на данные предметной области, группы пользователей, параметры информационного окружения и другие не менее важные свойства.
Материал и методы исследования
Для предметных областей, которые уже подвергались анализу с целью автоматизации информационных процессов, целесообразнее проводить построение формального описания на основе уже имеющихся моделей данных. Во-первых, это значительно ускоряет процесс анализа ограничений, накладываемых на данные из предметной области. Во-вторых, в процессе эксплуатации информационной системы, реализованной на основе реляционной системы управления базами данных, могут быть выявлены семантические зависимости высоких порядков (например, многозначные зависимости или зависимости соединения [3]), в результате чего схема данных уточняется и дополняется ограничениями.
Таким образом, при построении модели предметной области, для которой уже разработаны схемы баз данных, целесообразно их использовать для получения семантической информации о предметной области. Это обусловлено тем, что одним из основных требований, которые предъявляются к базе данных, является ее адекватность предметной области в пределах ее функциональности. Адекватность обеспечивается соответствием семантики предметной области, которая может быть представлена в виде множества функциональных зависимостей (F-зависимостей), а также многозначных зависимостей (MV-зависимостей) и зависимостей соединения (J-зависимостей), и схемы базы данных . Следовательно, если схема базы данных построена верно, то реализованные в ней ограничения должны отражать семантику предметной области. При этом можно утверждать, что правильным является и обратное утверждение: если база данных адекватна предметной области, то по ее схеме можно судить о модели предметной области, которая в этом случае будет представлена в виде множества семантических зависимостей:
Однако утверждать с полной уверенностью, что схема базы данных адекватна предметной области, нельзя, поскольку здесь играет важную роль элемент субъективизма. Это связано с тем, что разработчик базы данных мог не учесть определенных особенностей предметной области в силу тех или иных причин, или, наоборот, использовать ограничения, основанные на бизнес-правилах информационной среды, не связанные с нормализацией отдельных схем отношений R. Ограничения, которые не укладываются в классическую теорию нормализации реляционных отношений, представляют особый интерес, так как реализуют логику информационного обмена и должны быть учтены [4,5]. Разработчики реализуют эту бизнес-логику на уровне клиентских приложений и/или с помощью дополнительных объектов баз данных.
Другой причиной неадекватности может служить значительное расширение функционала разрабатываемой информационной системы, который, естественно, не был учтен в базе данных, которая взята за основу для получения модели предметной области.
Таким образом, следует выделить три основных этапа для построения модели на основе реляционной базы данных:
-
синтаксический анализ схем реляционных баз данных, представленных в виде сценариев создания физических баз данных на языке SQL;
-
выявление неучтенных семантических зависимостей посредством анализа содержащихся данных;
-
объединение результатов двух предыдущих этапов.
В работе остановимся на первом этапе, поскольку именно на нем можно получить большую часть семантических зависимостей.
Метод, основанный на анализе существующих схем баз данных, предназначен для извлечения ограничений предметной области из формализованной записи сценария создания базы данных. Сценарии подобного рода генерируются большинством современных систем управления базами данных.
Не вся информация, содержащаяся в сценарии создания базы данных, может быть использована для построения набора семантических зависимостей. Как правило, требуется проанализировать только блоки создания отношений (create table) и ограничений (constraint). Ограничения могут содержаться как внутри конструкций создания таблиц (задание первичных и внешних ключей), так и отдельно от них. Блоки, содержащие информацию о создании процедур, функций, представлений, правил, умолчаний, последовательностей и других объектов реляционных баз данных, не представляют интереса в контексте решаемой задачи.
Входные данные: сценарий создания схемы базы данных, записанный в стандарте SQL.
Выходные данные: множество семантических зависимостей , отражающих ограничения, накладываемые на данные предметной области.
Алгоритм ConstraintA:
Шаг 1. Преобразование входного сценария в удобный для анализа вид.
Шаг 2. Удаление избыточной информации, содержащейся в сценарии.
Шаг 3. Обработка блоков создания отношений.
Шаг 4. Обработка блоков отдельных ограничений и построение на их основе семантических зависимостей.
На первом шаге происходит конвертация сценария в унифицированный формат. Данный шаг требуется для преобразования файлов сценариев в случае их специфических особенностей хранения, так как не все современные системы управления базами данных хранят файлы сценариев в едином формате.
Исходный файл сценария преобразуется в текстовый файл, в котором каждая строка хранит описание одного объекта базы данных.
Второй шаг необходим для удаления строк сценария, не содержащих искомую информацию о семантике предметной области. Из сценария удаляются все строки, кроме блоков, описывающих создание отношений (таблиц), и отдельных ограничений.
На третьем шаге каждый блок создания таблицы , содержащий набор ключевых атрибутов , неключевых атрибутов и ключевых атрибутов дочерних таблиц, зависимых от подмножества , преобразуется в набор семантических зависимостей :
,
где — подмножества ключевых атрибутов родительской таблицы, однозначно определяющих набор ключевых атрибутов дочерних таблиц, причем .
Множество семантических зависимостей , полученных на основе анализа таблиц , представляет собой набор множеств :
;
.
На четвертом шаге происходит заполнение множества семантических зависимостей, выявленных из блоков отдельных ограничений первичных и внешних ключей.
Ограничения внешнего ключа содержат набор ключевых атрибутов и неключевых атрибутов . Каждое такое ограничение преобразуется в семантическую зависимость вида , которая включается в множество зависимостей :
;
.
Ограничения первичного ключа содержат набор ключевых атрибутов и ссылку на таблицу , в которой данный ключ используется в качестве первичного. Каждое такое ограничение преобразуется в зависимость следующего вида:
;
,
где — множество неключевых атрибутов таблицы .
В результате формируется набор семантических зависимостей :
.
Итоговое множество семантических зависимостей, описывающих ограничения, накладываемые на данные предметной области, является объединением полученных множеств зависимостей:
.
Представим алгоритм, базирующийся на описанном методе, в виде псевдокода:
Алгоритм ConstraintA;
begin
Шаг 1. Конвертация сценария в унифицированный текстовый формат;
Шаг 2. for каждая строка из сценария do
if (строка не содержит описания таблицы) or
(строка не содержит описания ограничения ключа)
then
Удалить текущую строку;
Шаг 3. for каждая таблица из сценария do
begin
;
end
Шаг 4. for каждое ограничение ключа из сценария do
if ( — ограничение внешнего ключа)
then begin
;
end
else begin
;
end
;
end.
Результаты исследования
Следует отметить, что разработчики информационных систем часто отходят от принципов нормализации для достижения определенных целей автоматизации бизнес-процессов. Например, при использовании технологии OLAP часть отношений может быть денормализована до нормальных форм низкого порядка с целью построения многомерных кубов. Другим примером отступления от канонов реляционной модели хранения информации является использование избыточных отношений, хранящих временную или статистическую информацию.
Выходное множество семантических зависимостей нельзя назвать минимальным, так как избыточные зависимости являются неотъемлемой частью современных информационных систем. В случае необходимости полученное множество семантических зависимостей может быть минимизировано с помощью поиска классов эквивалентности и построения на их основе кольцевых покрытий с дальнейшей минимизацией [3].
Предложенный алгоритм является сходящимся, поскольку в нем рассматривается конечное число конструкций сценария на языке SQL, который описывает конечное число объектов базы данных, содержащих конечное число атрибутов.
Заключение
Предложены метод и базирующийся на нем алгоритм, который позволяет за счет анализа сценария создания базы данных (сценарий может быть получен стандартными средствами систем управления базами данных) получить математическую модель предметной области. Модель описывается в виде набора семантических зависимостей, которые представлены в специально разработанной структуре базы данных, что дает возможность ее дальнейшего использования в процессе автоматизированного проектирования информационных систем [2].
Рецензенты:
Овечкин Г.В., д.т.н., профессор, профессор кафедры ВПМ, Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Рязанский государственный радиотехнический университет», Министерство образования и науки РФ, г. Рязань;
Скворцов С.В., д.т.н., профессор, профессор кафедры САПР ВС, Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Рязанский государственный радиотехнический университет», Министерство образования и науки РФ, г .Рязань.
Библиографическая ссылка
Баранчиков А.И., Костров Б.В., Громов А.Ю. МЕТОД И АЛГОРИТМ ФОРМИРОВАНИЯ СЕМАНТИЧЕСКОГО ОПИСАНИЯ ПРЕДМЕТНОЙ ОБЛАСТИ НА ОСНОВЕ СХЕМЫ РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ // Современные проблемы науки и образования. – 2015. – № 1-1. ;URL: https://science-education.ru/ru/article/view?id=18676 (дата обращения: 10.10.2024).