Методология проектирования баз данных
В настоящее время при проектировании БД используют два подхода. Первый из них основан на стабильности данных, что обеспечивает наибольшую гибкость и адаптируемость к используемым приложениям. Применение такого подхода целесообразно в тех случаях, когда не предъявляются жесткие требования к эффективности функционирования (объем памяти и время поиска), существует большое количество разнообразных задач с изменяемыми и непредсказуемыми запросами.
Другой подход базируется на стабильности процедур запросов к БД и является предпочтительным при жестких требованиях к эффективности функционирования, особенно это касается быстродействия.
Другим важным аспектом проектирования БД является проблема интеграции и распределения данных. Господствовавшая до недавнего времени концепция интеграции данных при резком увеличении их объема, оказалась несостоятельной. Этот факт, а также увеличение объемов памяти внешних запоминающих устройств при ее удешевлении, широкое внедрение сетей передачи данных способствовало внедрению распределенных БД. Распределение данных может осуществляться различными способами:
1. Копируемые данные. Одинаковые копии данных хранятся в различных местах использования, так как это дешевле передачи данных. Модификация данных контролируется централизованно.
2. Подмножество данных. Группы данных, совместимые с исходной базой данных хранятся отдельно для местной обработкой.
3. Реорганизованные данные. Данные в системе интегрируются при передаче на более высокий уровень.
4. Секционированные данные. На различных объектах используются одинаковые структуры, но хранятся разные данные.
5. Данные с отдельной подсхемой. На различных объектах используются различные структуры данных, объединяемые в интегрированную систему.
6. Несовместимые данные. Независимые базы данных, спроектированные без координации, требующие объединения.
Важное значение на процесс создания БД оказывает внутреннее содержание информации. Существует два направления:
· прикладные БД, ориентированные на конкретные приложения, например, может быть создана БД для учета и контроля поступления материалов;
· предметные БД, ориентированные на конкретный класс данных, например, предметная БД “Материалы”, которая может быть использована для различных приложений.
В теории БД методология проектирования рассматривается как совокупность человеко-машинных инструментов и средств, применяемых для последовательной разработки проекта структуры баз данных. Целью методологии проектирования является:
· создание БД, соответствующей целям пользователей (т.е. высокоэффективная и адаптируемая к возникающим нуждам обработки, обладающая свойствами целостности, безопасности и т.д.);
· наличие свойств гибкости и общности, обеспечивающими доступность разработчикам с различным опытом проектирования, использующим различные модели данных и СУБД;
· обеспечение воспроизводимости, т.е. получение одинаковых или примерно одинаковых результатов различными разработчиками.
Для достижения указанных целей методология проектирования БД должна включать следующие компоненты:
1. Процесс проектирования, состоящий из серии этапов, на каждом из которых осуществляется выбор из нескольких альтернативных решений.
2. Методики выполнения требуемых в процессе проектирования расчетов и моделирования, критерии оценки альтернативных решений на каждом этапе.
3. Информационные требования в качестве исходных данных на каждом этапе и для всего процесса проектирования в целом.
4. Средства описания исходных данных и результатов выполнения каждого этапа проектирования.
Рассмотрим каждый компонент более подробно.
Процесс проектирования является длительным и трудоемким и обычно длится несколько месяцев, а в некоторых случаях и лет. Основными ресурсами проектировщика БД являются его собственная интуиция и опыт, поэтому качество решения во многих случаях остается низким. В этих условиях важное значение приобретают вопросы автоматизации разработки.
Основными причинами низкой эффективности проектируемых БД являются:
· недостаточно глубокий анализ требований к данным, включая их семантику и взаимосвязь;
· большая длительность процесса структурирования, делающая этот процесс утомительным и трудно выполняемым при ручной обработке;
· трудности, связанные с учетом производительности проектируемой системы и ресурсных ограничений используемых технических средств.
На рис.3 представлена совокупность процедур проектирования централизованной БД, которые можно объединить в четыре этапа. На этапе формулирования и анализа требований устанавливаются цели организации, определяются требования к БД. Эти требования документируются в форме доступной конечному пользователю и проектировщику БД. Обычно при этом используется методика интервьюирования персонала различных уровней управления.
Рис.3
Рис. 3
Этап концептуального проектирования заключается в описании и синтезе информационных требований пользователей в первоначальный проект БД. Результатом этого этапа является высокоуровневое представление информационных требований пользователей на основе различных подходов.
В процессе логического проектирования высокоуровневое представление данных преобразуется в структуре используемой СУБД. Полученная логическая структура БД может быть оценена количественно с помощью различных характеристик (число обращений к логическим записям, объем данных в каждом приложении, общий объем данных и т.д.). На основе этих оценок логическая структура может быть усовершенствована с целью достижения большей эффективности.
На этапе физического проектирования решаются вопросы, связанные с производительностью системы, определяются структуры хранения данных и методы доступа.
Весь процесс проектирования БД характеризуется как итеративный, при этом каждый этап рассматривается как совокупность итеративных процедур, в результате выполнения которых получают соответствующую модель.
Взаимодействие между этапами проектирования и словарной системой необходимо рассматривать отдельно. Процедуры проектирования могут использоваться независимо в случае отсутствия словарной системы. Сама словарная система может рассматриваться как элемент автоматизации проектирования.
Основные этапы последовательности проектирования распределенной БД показаны на рис.4, при этом этапы 1, 2, 3, и 6 подобны этапам 1-4 при проектировании централизованной БД. Предполагается, что распределенная СУБД (СУРБД) позволяет осуществить определение всей структуры БД, ее расчленение и размещение.
Рис.4
Этап расчленения БД связан с разбиением ее на разделы и синтезом различных приложений на основе модели. Основными факторами, определяющими методику расчленения, помимо указанных на рис.4 являются: размер каждого раздела (допустимые размеры); модели и частоты использования приложений; структурная совместимость; факторы производительности БД. Связь между разделом БД и приложениями характеризуется идентификатором типа приложения, идентификатором узла сети, частотой использования приложения и его моделью.
Модели приложений могут быть классифицированы следующим образом:
1. Приложения, использующие единственный файл.
2. Приложения, использующие несколько файлов, в том числе:
· допускающие независимую параллельную обработку;
· допускающие синхронизированную обработку.
Сложность реализации этапа размещения БД определяется многовариантностью. Поэтому на практике рекомендуется в первую очередь рассмотреть возможность использования определенных допущений, упрощающих функции СУРБД, например, допустимость временного рассогласования БД, осуществление процедуры обновления БД из одного узла и др. Такие допущения оказывают большое влияние на выбор СУРБД и рассматриваемую фазу проектирования.
Средства проектирования и оценочные критерии используются на всех стадиях разработки. Любой метод проектирования (аналитический, эвристический, процедурный), реализованный в виде программы, становятся инструментальным средством проектирования практически не подверженным влиянию стиля проектирования.
В настоящее время неопределенность при выборе критериев являются наиболее слабым местом в проектировании БД. Это связано с трудностью описания и идентификации бесконечного числа альтернативных решений. При этом следует иметь в виду, что существует много признаков оптимальности, являющихся неизмеримыми свойствами, которые трудно выразить в количественном представлении или в виде целевой функции. Поэтому оценочные критерии принято делить на количественные и качественные. Наиболее часто используемые критерии оценки БД, сгруппированные в такие категории, представлены ниже.
Количественные критерии: время ответа на запрос, стоимость модификации, стоимость памяти, время на создание, стоимость на реорганизацию.
Качественные критерии: гибкость, адаптивность, доступность для новых пользователей, совместимость с другими системами, возможность конвертирования в другую вычислительную среду, возможность восстановления, возможность распределения и расширения.
Трудность в оценке проектных решений связана также с различной чувствительностью и временем действия критериев. Например, критерий эффективности обычно является краткосрочным и чрезвычайно чувствительным к проводимыми изменениям, а такие понятия, как адаптируемость и конвертируемость, проявляются на длительных временных интервалах и менее чувствительны к воздействию внешней среды.
Информационные требования оказывают наиболее существенное воздействие на этап концептуального проектирования, хотя проходят через весь процесс разработки БД. Принято разделять информационные требования на информацию, формирующую концептуальное структурное представление и информацию, формирующую концептуальное прикладное представление.
Информация типа описывает естественные концептуальные связи всех данных, не связана с конкретным способом обработки и конкретным приложением. - информация отображает объекты реального мира в сущности и атрибуты, а взаимосвязи между объектами - во взаимосвязи между элементами данных.