Д.В.Корелова

 

Автоматический расчет схемы реляционной базы данных[1]

 

Широко известные методы проектирования баз данных (БД) появились в процессе разработки все более сложных Информационных Систем (ИС), которые должны были рассматривать потребности не одного пользователя, а больших групп и коллективов. Одна такая интегрированная БД создавалась для решения многих задач, каждая из которых использовала только "свою" часть данных, обычно, пересекающуюся с частями, используемыми в других задачах. Поэтому главнейшими методами проектирования стали методы исключения избыточности в данных. Эти методы связывались с другими средствами обеспечения логической целостности данных.

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

Проектирование комплексной по предметной направленности, интегрированной и, обычно, большой по размеру БД стало сложной задачей. Так возникли системы CASE (Computer Aided System Engineering) системы для структурного проектирования БД и связанных с ними ИС, ориентированные на модели данных, реализованные в различных СУБД.

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

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

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

 

Рис. 1. Обобщенный алгоритм работы программы.

 

Программа представляет собой скрипт на языке php, что дает возможность размещать ее в Internet. Такой подход удобен тем, что программа является платформеннонезависимой, а так же не требует больших аппаратных ресурсов от пользователя. Это очень важно, так как вычисления и проверки требуют высокой производительности в силу своих алгоритмов (как правило, большая часть времени уходит на перебор возможных вариантов и их последующей обработки). В результате работы скрипта выводится таблица, в которой по вертикали отображаются атрибуты, а по горизонтали сущности. В ячейках можно поставить или снять отметку, о принадлежности атрибута к сущности. При расчете так же определяются ключи схем отношений, которые при отображении окрашиваются в красный цвет, а остальные атрибуты - в синий. По умолчанию БД рассчитывается в 4НФ. На рис.2 представлена экранная форма, отображающая результаты проектирования схемы базы данных по атрибутам, функциональным и многозначным зависимостям.

 

 

Рис. 2.  Экранная форма после проектирования схемы БД.

 

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

При запуске скрипта происходит анализ входной информации: если не были получены данные от пользователя, то рассчитывается исходная БД по имеющимся данным. Если пользователь изменил исходную БД и производит перерасчет, то происходит анализ полученной от пользователя схемы БД. Определяется, находятся ли схемы отношений во 2НФ, в 3НФ и в 4НФ. Результаты анализа отображаются в отдельной таблице. На рис.3 представлена экранная форма после изменения данных.

 

 

Рис. 3. Экранная форма после изменения данных.

На рис.4 представлен алгоритм проверки на соответствие третьей нормальной форме.

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

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

 

 

 

Рис. 4 . Проверка на соответствие третьей нормальной форме.

 

Литература

 

1.

[Цикридис Д.]

2.

[Ульман Дж.]

  



[1] Руководитель работы к.т.н., доцент Ревунков Г.И.