9 Проектирование баз данных

 

9.1 Требования, предъявляемые к ИС на основе БД

 

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

Основной задачей проектировщика базы данных является обоснованный выбор такой ее структуры, которая обеспечит согласованное взаимодействие всех компонентов ИС согласно заданным требованиям и ограничениям по ряду укрупненных (интегрированных) параметров, таких как:

-   функциональность (то есть возможность реализации функций, обеспечивающих решение различных видов задач, необходимых для автоматизации деятельности предприятия);

-   адаптируемость (то есть адекватность к настройке существующей в ней функциональности в соответствии с требованиями конкретного производства). Следует различать адаптивность системы и возможность ее конфигурирования. Конфигурирование системы — это задание определенных параметров в системе, обеспечивающих ее работу для различных условий. При этом все возможные варианты конфигурирования заранее задаются в системе, а настройка заключается в выборе одного из них. Адаптивность же системы, в отличие от конфигурирования, позволяет настраивать систему на заранее неизвестные варианты, учитывая различные нюансы, необходимые для решения задачи;

-   производительность обработки транзакций;

-   время реакции на запрос;

-   безотказную работу системы (то есть готовность и доступность системы для обработки запросов пользователей);

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

Это далеко не полный перечень параметров, по которым выставляются требования к базам данных, однако он содержит параметры, требования по которым выставляются наиболее часто.

Примеры функциональных требований: выдача отчетов по продажам по регионам; выдача отчетов по продажам по кварталам; автоматический расчет скидок на товары при увеличении объема закупаемой партии и т.п.

Примеры ограничений: максимальное время, отпущенное на проект; количество денежных средств, которое можно на него потратить.

Следует также учитывать технологические средства, доступные при реализации проекта, например требование реализации базы данных в архитектуре "файл-сервер" или «клиент-сервер».

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

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

Например, в системе бронирования авиабилетов в транснациональной авиакомпании время отклика на запрос не должно превышать 15-30 секунд. Поэтому, если это требование не будет удовлетворяться, то потребуется "разгрузить" приложение оператора.

 

 

9.2 Проектирование БД. Основные понятия и определения

 

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

Введем определение проектирования баз данных.

Проектирование базы данных - это поиск способов удовлетворения функциональных требований средствами имеющейся компьютерной технологии с учетом заданных ограничений.

Процесс проектирования базы данных охватывает несколько основных сфер.

-   проектирование объектов базы данных (таблицы, представления, индексы, триггеры, хранимые процедуры, функции, пакеты) для представления данных предметной области в базе данных;

-   проектирование интерфейса взаимодействия с базой данных (формы, отчеты и т.д.), т.е. проектирование приложений, которые будут сопровождать данные в базе данных и реализовывать вопросно-ответные отношения на этих данных;

-   проектирование баз данных под конкретную вычислительную среду или информационную технологию (архитектура "клиент-сервер", параллельные архитектуры, распределенная вычислительная среда);

-   проектирование баз данных под назначение системы (интеллектуальный анализ данных, OLAP, OLTP и т.д.).

Отметим, что приложения для работы с базой данных проектируются одновременно с физической схемой базы данных, а не отдельно!

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

Внимание! Базы данных всегда проектируются под конкретное назначение системы.

 

 

9.3 Методология проектирования баз данных

 

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

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

Проектирование баз данных — это итерационный, многоэтапный процесс принятия обоснованных решений в процессе анализа информационной модели предметной области, требований к данным со стороны прикладных программистов и пользователей, синтеза логических и физических структур данных, анализа и обоснования выбора программных и аппаратных средств.

Этапы проектирования баз данных часто связывают с многоуровневой организацией данных в БД (архитектура ANSI-SPARC) и выделяют:

-    инфологическое проектирование;

-   логическое (даталогическое) проектирование;

-   внутренний (физический) этап проектирования.