На сегодняшний день ни одна сложная система не разрабатывается в «лоб». В первую очередь, она проектируется. База данных, являющаяся одной из важнейших частей информационной системы, конечно же, представляет собой сложный объект, который также подлежит проектированию. Именно о процессе проектирования базы данных, его особенностях, методах, этапах и роли в создании информационной системы и пойдет речь.
Для начала необходимо разобраться, какой смысл вкладывается в понятия информационная система и база данных. Информационная система, в общем случае, предназначена для хранения, поиска и обработки информации (также с некоторыми оговорками к функциям можно добавить и процесс передачи). База данных, в свою очередь, представляет собой подобие электронной картотеки, то есть хранилище или контейнер для некоторого набора файлов данных, занесенных в компьютер [1]. Таким образом, в информационной системе база данных отвечает за процесс хранения информации, при этом поиск данной информации, соответственно, система осуществляет в этой базе данных.
Цель проектирования базы данных — это правильное отображение выбранной для автоматизации предметной области [2]. В связи с этим выделяют два основных подхода к данному процессу [4]: нисходящий (сверху-вниз) и восходящий (снизу-вверх). Они отличаются, как понятно из названия, тем, как происходит процесс проектирования. Так, при нисходящем проектировании сначала происходит изучение целого, или описание предметной области, а затем уже осуществляется разделение целого на составные части, каждая из которых после этого также последовательно изучается. В свою очередь, при восходящем проектировании сначала происходит описание составных частей, после чего собирается общая картина. У каждого из этих способов есть свои отличительные черты, свои плюсы и минусы.
Нисходящее проектирование также называют анализом. Стоит отметить, что им пользуются чаще, чем восходящим. Нисходящее проектирование включает в себя пять этапов [3]:
1) Анализ предметной области. Отличительной чертой анализа в нисходящем проектировании является то, что сначала проводится анализ предметной области в целом с последующей декомпозицией на отдельные элементы. В результате получается описание внешнего уровня базы данных, при этом внешняя модель создается для пользователей и абстрагируется от особенностей реализации.
2) Разработка информационно-логической модели предметной области. Данная модель отражает предметную область в виде совокупности информационных объектов и их структурных связей. Её разработка начинается с построения инфологической модели (она обеспечивает наиболее естественные для человека способы сбора и представления той информации, которую предполагается хранить в создаваемой базе данных, а основными конструктивными элементами инфологических моделей являются сущности, связи между ними и их свойства или атрибуты), затем на ее основе строится концептуальная модель данных (представляет объекты и их взаимосвязи без указания способов их физического хранения).
3) Формирование даталогической модели базы данных. Под даталогической моделью базы данных понимается модель, отражающая логические взаимосвязи между элементами данных безотносительно их содержания и физической организации. При этом даталогическая модель разрабатывается на основе информационно-логической модели предметной области с учётом конкретной реализации системы управления базой данных, а также с учётом специфики конкретной предметной области на основе ее концептуальной модели, определенной в процессе разработки информационно-логической модели предметной области.
4) Нормализация. Благодаря последовательному построению нескольких моделей и проектированию сверху при нисходящем проектировании необходима незначительная нормализация. Для нормализации выбирается сформированная на предыдущем этапе даталогическая модель.
5) Формирование физической модели базы данных. Физическая модель определяет размещение данных, методы доступа и технику индексирования. Она также называется внутренней моделью системы.
Особенностями нисходящего проектирования являются высокая степень описания семантики предметной области, низкая вероятность появления ошибок в последующей работе информационной системы, высокая степень формализации процесса (также обуславливает возможность автоматизации процесса) и небольшой объем трудозатрат при привидении даталогической модели базы данных к заданной нормальной форме.
Восходящее проектирование также называют синтезом. Оно тоже включает в себя пять этапов [3]:
1) Анализ предметной области. Несмотря на то, что название первого этапа восходящего проектирования полностью совпадает с названием первого этапа нисходящего проектирования, они обладают очень большими различиями. Так, происходит анализ не задач и работы выбранной области в целом, а анализ небольших частей для определения их потребностей и проблем.
2) Формирование даталогической модели базы данных. Особенностью данного этапа в восходящем подходе является то, что работа ведется на основании требований, определенных в ходе анализа предметной области.
3) Нормализация схемы базы данных. Из-за проектирования снизу для восходящего проектирования необходимо проводить полную операцию нормализации [1]. Сначала путем удаления повторяющихся элементов добиваются того, чтобы каждый кортеж содержал только одно значение для каждого из атрибутов. Тогда говорят, что переменная отношения находится в первой нормальной форме. После этого необходимо сделать так, чтобы каждый неключевой атрибут переменной отношения неприводимо зависел от ее первичного ключа. Тогда говорят, что переменная отношения находится во второй нормальной форме. Затем достигается, чтобы ни один неключевой атрибут переменной отношения не являлся транзитивно зависимым от ее первичного ключа. Тогда говорят, что переменная отношения находится в третьей нормальной форме. Благодаря удалению из функциональных зависимостей оставшихся аномалий переменная отношения переходит в нормальную форму Бойса-Кодда. На следующем этапе удаляются нетривиальные многозначные зависимости, а переменная отношения переходит в четвертую нормальную форму. В конце из переменной отношения удаляются зависимости соединения. В итоге переменная отношения переходит в конечную пятую нормальную форму и получается даталогическая модель базы данных в заданной нормальной форме.
4) Формирование физической модели базы данных. Физическая модель данных строится на основе нормализованной даталогической модели. Её характеристики соответствуют характеристикам физической модели, получаемой при нисходящем проектировании.
5) Реинжиниринг [5]. Данный процесс является фундаментальным переосмыслением и радикальным перепроектированием базы данных для ее наиболее эффективной работы. Наличие данного процесса среди этапов восходящего проектирования обусловлено проектированием снизу-вверх, так как решаются, в первую очередь, не глобальные проблемы выбранной области, а ее составных частей. В итоге получается информационно-логическая модель предметной области.
В свою очередь, особенностями восходящего проектирования являются низкая степень описания семантики предметной области, высокая вероятность появления ошибок в последующей работе информационной системы, отсутствует формализация процесса, а объем трудозатрат при приведении даталогической модели базы данных к заданной нормальной форме является очень большим.
Как видно из описания этапов, нисходящее и восходящее проектирование имеют как общие черты, так и заметные отличия. Например, для обоих методов сначала проводится анализ предметной области (но их суть несколько различается из-за особенностей выбранного метода проектирования), а также после формирования даталогической модели данных проводится нормализация (после которой формируется физическая модель данных), однако если для нисходящего проектирования проводится незначительная нормализация, то для восходящего — полная. Важным отличием является то, что при нисходящем проектировании перед формированием даталогической модели данных разрабатывается информационно-логическая модель данных, а при восходящем проектировании данная модель строится только после проведения особенного для данного метода проектирования процесса реинжиниринга.
Необходимо отметить, что наиболее правильным является не использование какого-то одного из представленных методов, а их комбинирование. При таком подходе удается решить как проблемы всей предметной области в целом (использование нисходящего подхода), так и проблемы конечных составных частей (использование восходящего подхода), например, работников определенного предприятия. При выборе данного комбинированного метода определяется участок, на котором произойдет встреча двух этих методов.
В процессе создания информационной системы проектирование базы данных имеет очень важную роль, так как база данных является фундаментом информационной системы [1]. Проектирование базы данных выполняется после анализа требований к будущей системе (анализ носит неформальный характер, однако очень важно сохранить полученную информацию, поскольку она должна входить в документацию системы). А уже после того, как выработана общая схема базы данных, происходит процесс определения архитектуры будущей информационной системы. Так, решаются вопросы о том, какой будет база данных (централизованной или распределенной), производится соответствующая декомпозиция и другие необходимые работы.
Таким образом, проектирование базы данных играет огромную роль в создании будущей информационной системы, являясь её фундаментом. Также нельзя забывать о том, что наиболее правильным является двухстороннее проектирование, когда работа одновременно идет как сверху, так и снизу.
Литература:
- Дейт, К.Дж. Введение в системы баз данных, 8-е издание.: Пер. с англ. / К.Дж. Дейт. — М.: Издательский дом «Вильямс», 2008. — 1328 с.: ил. — Парал. тит. англ.
- Зеленков, Ю. А. Введение в базы данных. // Электронный ресурс. URL: http://www.mstu.edu.ru/study/materials/zelenkov/toc.html (дата обращения: 10.09.2016).
- Анализ методов проектирования БД. // Shpargalum.ru. Электронный ресурс. URL: http://shpargalum.ru/shpora-gos-povtas/proektirovanie-avtomatizirovannyix-sistem-na-osnove-bd/analiz-metodov-proektirovaniya-bd.html (дата обращения: 10.09.2016).
- Коваленко, Т. Работа с базами данных. / Т. Коваленко, О. Сирант. — Электронный ресурс. URL: http://www.intuit.ru/studies/courses/3439/681/lecture/14021 (дата обращения 10.09.2016).
- Реинжиниринг бизнес-процессов: сущность и методология. // Центр дистанционного «Элитариум». Электронный ресурс. URL: http://www.elitarium.ru/reinzhiniring-biznes-process-kompanija-sotrudniki-rukovodstvo-izmenenija/ (дата обращения 10.09.2016).