Программирование >>  Проектирование баз данных 

1 ... 21 22 23 [ 24 ] 25 26 27 ... 184



Моделирование данных

в этой главе:

Типы .моделей

/ 10 тапое модел11} оваи11е данных?

Диаграммы eijuHocnib-oiHHouieiiue

Контроль качества концептуальной т1формациои11ой модели

Жизненные циклы сущностей и диаграммы потока данных

lljioeKvuipoeaune, управляемое даппымп, и метамоделп

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

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

Вы, возможно, спросите, почему в книге о проектировании мы посвяща- \ ем целую главу методам моделирования данных - методам, которые часто считаются частью анализа? Ответ состоит в том, что проектировщикам крайне необходимо полностью уяснить концепции, лежащие в основе модели данных, и конструкции, которые эту модель образуют. Еще важнее тот факт, что мы редко оставляем модель в том виде, который она имела в начале проектирования. Нам необходимо уметь определить, какие конструкции вызовут проблемы, если мы реализуем их как есть, и понять последствия изменения этих конструкций. Это нужно сделать на первых стадиях этапа проектирования, чтобы к концу проектирования мы могли создать физическую модель данных. Для этого достаточно лищь взять концепцию и превратить ее в практишую и работоспособную физическую базу данных.



Типы моделей

Нам необходимо рассмотреть два типа моделей. Этап анализа дает нам информационную модель, а этап проектирования - модель данных. Как мы увидим, в модели данных должны учитываться технические характеристики СУБД Oracle?, тогда как информационная модель не должна ничего предполагать о технологии, которая будет использована для реализации приложения. Задача информационной модели - уточнить реальную ситуацию, которую должно моделировать приложение. Другими словами, хорошую информационную модель можно использовать как входные данные для проектирования, независимо от того, о какой среде идет речь - сетевой, иерархической, объектно-ориентированной или реляционной. Вот перечень элементов, которые вы встретите в модели:

диаграммы сущность-отношение (ДСС);

диаграммы потока данных (ДПД);

жизненные циклы сущностей (ЖЦС) или диаграммы изменения состояний (ДИС);

определения сущностей;

уникальные идентификаторы сущностей (УИД);

определения атрибутов;

отношения между сущностями.

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

Реализовать этот перечень очень просто, скажете вы. Сущности становятся таблицами, УИДы - первичными ключами, атрибуты становятся столбцами, а отношения - внешними ключами; функции мы преобразуем в определения модулей - и можно идти гулять! Действительно, рис. 3.1 довольно прост и в общих чертах иллюстрирует то, что мы делаем при проектировании, но, к сожалению, он прост не настолько, насколько нам хотелось бы!

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

Затем необходимо выполнить определенный контроль качества результатов, цель которого - обеспечить их полноту и правильность. Некоторые CASE-продукты содержат утилиты, способные выполнить некоторые рутинные задачи. Например, CASE-средствами можно проверить наличие УИД у каждой сущности, а также наличие хотя бы одной функции, создающей ее экземпляры (какая польза от сущности, которая никогда не наполняется ?).



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

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

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

Сущности%1

Ключ 1 атрибут 1

ТАБЛИЦА 1

-о<

Сущность 2

Ключ 2 атрибут 2

ПЁРВИЧНЫЙ КЛЮЧ 1 СТ0ЛБЕЦ 1

ТАБЛИЦА!

ПЕРВИЧНЫЙ КЛЮЧ 2 ВНЕШНИЙ КЛЮЧ 2 СТ0ПБЕЦ 2

Рис 3.1. Упрощенная схема процесса проектирования данных

Что такое моделирование данных?

Цель этого раздела - дать самое общее представление о семантических моделях данных. Мы введем такие понятия, как сущности, атрибуты, первичные ключи, отношения, супертипы и подтипы. (Не беспокойтесь, если эти термины вам ничего не говорят, - мы все объясним.) Если вы уже знакомы с этими понятиями, то можете пропустить или только бегло просмотреть данный раздел. (Правда, мы все же рекомендуем прочесть его, так как вы, возможно, не знакомы с обозначениями, которыми мы пользуемся.) Отметим, что этот раздел большей частью является теоретическим и специфику Oracle не отражает.



1 ... 21 22 23 [ 24 ] 25 26 27 ... 184

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика