СТАТЬЯ
04.01.02

Проектирование реляционных баз данных (Часть 1)

© Зеленков Ю.А.
Главы из книги "Введение в базы данных"
Книга была опубликована на сайте http://alpha.netis.ru


Содержание

5.1. Этапы проектирования.
5.2. Инструментальные средства проектирования информационных систем.
5.3. Методологии функционального моделирования.
        5.3.1. Диаграммы потоков данных. Нотация Йордона - Де Марко
        5.3.2. Другие нотации, используемые при построении диаграмм потоков данных
        5.3.3. Методология SADT (IDEF0).
        5.3.4. Сравнительный анализ методологий функционального моделирования

Литература

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

5.1. Этапы проектирования данных

Напомним еще раз определение понятия "предметная область":

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

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

  1. представление предметной области в том виде, как она реально существует
  2. как ее воспринимает человек (имеется в виду проектировщик базы данных)
  3. как она может быть описана с помощью символов.

Т.е. говорят, что мы имеем дело с реальностью, описанием (представлением) реальности и с данными, которые отражают это представление.

Данные, используемые для описания предметной области, представляются в виде трехуровневой схемы (так называемая модель ANSI/SPARC):

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

Отсюда вытекают основные этапы, на которые разбивается процесс проектирования базы данных информационной системы:

  1. Концептуальное проектирование - сбор, анализ и редактирование требований к данным. Для этого осуществляются следующие мероприятия:


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

  2. Логическое проектирование - преобразование требований к данным в структуры данных. На выходе получаем СУБД-ориентированную структуру базы данных и спецификации прикладных программ. На этом этапе часто моделируют базы данных применительно к различным СУБД и проводят сравнительный анализ моделей.

  3. Физическое проектирование - определение особенностей хранения данных, методов доступа и т.д.

Различие уровней представления данных на каждом этапе проектирования представлено в следующей таблице:


КОНЦЕПТУАЛЬНЫЙ УРОВЕНЬ

  • сущности
  • атрибуты
  • связи
Представление аналитика


ЛОГИЧЕСКИЙ УРОВЕНЬ

  • записи
  • элементы данных
  • связи между записями
Представление программиста


ФИЗИЧЕСКИЙ УРОВЕНЬ

  • группирование данных
  • индексы
  • методы доступа
Представление администратора

5.2. Инструментальные средства проектирования информационных систем

Во многих случаях эффективную информационную систему не удается построить вручную. Это объясняется следующими причинами:

При разработке крупных информационных систем происходит концентрация сложности на начальных этапах (анализ требований и проектирование спецификаций системы), в то время как сложность и трудоемкость последующих этапов остается относительно невысокой. Для преодоления сложностей начальных этапов разработки предназначен структурный анализ - метод исследования, которое начинается с общего обзора системы и затем детализуется, приобретая иерархическую структуру с все большим числом уровней. На каждом уровне рассматривается ограниченное число элементов (обычно от 3 до 6-8), каждый из которых в свою очередь может быть декомпозирован на составляющие детали на следующем уровне. При этом соблюдаются строгие формальные правила записи информации (обычно используются диаграммы различных типов).

Такая технология получила название CASE (Computer Aided Software Engeneering - создание программного обеспечения с помощью компьютера). Основные черты CASE - технологии:

Как правило, CASE-системы поддерживают следующие этапы процесса разработки:

5.3. Методологии функционального моделирования
       5.3.1. Диаграммы потоков данных. Нотация Йордона - Де Марко

Диаграммы потоков данных (DFD - Data Flow Diagramm) строятся из следующих элементов:

Элемент
Описание
Обозначение
Функция

Действие, выполняемое моделируемой системой.

Поток данных

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

Хранилище данных

Структура для хранения информационных объектов.

Внешняя сущность

Внешний по отношению к системе объект, обменивающийся с нею потоками данных.

Такой тип обозначений элементов DFD-диаграммы получил название "нотация Йордона - Де Марко", по именам разработавших его специалистов.

Функции, хранилища и внешние сущности на DFD-диаграмме связываются дугами, представляющими потоки данных. Дуги могут разветвляться или сливаться, что означает, соответственно, разделение потока данных на части, либо слияние объектов. При интерпретации DFD-диаграммы используются следующие правила:

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

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



Эта диаграмма представляет самый верхний уровень функциональной модели. Естественно, это весьма грубое описание предметной области. Уточнение модели производится путем детализации необходимых функций на DFD-диаграмме следующего уровня. Так мы можем разбить функцию "Определение потребностей и обеспечение материалами" на подфункции "Определение потребностей", "Поиск поставщиков", "Заключение и анализ договоров на поставку", "Контроль платежей", "Контроль поставок", связанные собственными потоками данных, которые будут представлены на отдельной диаграмме. Детализация модели должна производится до тех пор, пока она не будет содержать всю информацию, необходимую для построения информационной системы.

       5.3.2. Другие нотации, используемые при построении диаграмм потоков данных

Помимо нотации Йордона - Де Марко для элементов DFD-диаграм могут использоваться и другие условные обозначения (OMT, SSADM, нотация Гейна - Сарсона и т.д.). Все они обладают практически одинаковой функциональностью и различаются лишь в деталях. Например, в нотации Гейна-Сарсона для обозначения функций используются прямоугольники с закругленными углами, а также не рассматриваются управляющие потоки данных. В остальном эти системы обозначений эквивалентны.

Инструментальные средства проектирования (CASE - системы), как правило, поддерживают несколько нотаций представления DFD-диаграмм. Одной из таких систем является Power Designer компании Sybase, который включает следующие модули:

Учебную копию Power Designer, в которой заблокирована функция сохранения построенных моделей, можно скачать с web-сервера компании Sybase.

5.3.3. Методология SADT (IDEF0)

Методология SADT (Structured Analisys and Design Technique) разработана Дугласом Т. Россом в 1969-1973 годах. Она изначально создавалась для проектирования систем более общего назначения по сравнению с другими структурными методами, выросшими из проектирования программного обеспечения. IDEF0 (подмножество SADT) используется для моделирования бизнес-процессов в организационных системах и имеет развитые процедуры поддержки коллективной работы.

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

Правила интерпретации модели:

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

Дуги могут разветвляться и соединяться. Ветвление означает множественность (идентичные копии одного объекта) или расщепление (различные части одного объекта). Соединение означает объединение или слияние объектов.

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

На следующем рисунке представлена IDEF0-модель деятельности описанного выше предприятия.

       5.3.4. Сравнительный анализ методологий функционального моделирования

Несмотря на то, что методология IDEF0 получила широкое распространение в российских компаниях, на наш взгляд DFD гораздо больше подходит для проектирования информационных -------систем вообще и баз данных в частности. DFD позволяет уже на стадии функционального моделирования определить базовые требования к данным (этому способствует разделение потоков данных на материальные, информационные и управляющие). Вообще интеграция DFD и ER (entity-relationship, "сущность-связь") моделей не вызывает затруднений. Например, можно определить список атрибутов хранилищ данных, последние на стадии информационного моделирования однозначно отображаются в сущности модели "сущность- связь".

В свою очередь, как уже отмечалось, IDEF0 больше подходит для решения задач, связанных с управленческим консультированием (перепроектированием деловых процессов, бизнес - реинжинирингом). Этому способствует также тесная связь IDEF0 с методом функционально - стоимостного анализа ABC (Activity Based Costing), позволяющим определить схему расчета стоимости выполнения той или иной деловой процедуры. Однако, существует ряд CASE - систем, предлагающих методологию IDEF0 на этапе функционального обследования предметной области. В таких системах на следующий этап передается просто список всех объектов IDEF0-модели (входы, выходы, механизмы, управление), которые затем рассматриваются на предмет включения в информационную модель.

На этом мы закончим рассмотрение способов функционального моделирования предметной области, поскольку эта тема должна быть гораздо полнее освещена в курсе, касающегося проектирования информационных систем. Подробнее о методологии SADT/IDEF0 можно узнать из книги Д. Марки и К. МакГоуэна [6], DFD описана в книге Г.Н. Калянова [5]. Более полный сравнительный анализ рассмотренных здесь методологий сделан в статье Г.Н. Калянова, А.В. Козлинского и В.Н. Лебедева [7].

Часть 2 >>

Дополнительную информацию Вы можете получить в компании Interface Ltd.

Обсудить на форуме
Отправить ссылку на страницу по e-mail


Interface Ltd.
Тel/Fax: +7(095) 105-0049 (многоканальный)
Отправить E-Mail
http://www.interface.ru
Ваши замечания и предложения отправляйте автору
По техническим вопросам обращайтесь к вебмастеру
Документ опубликован: 04.01.02