Главная страница
Навигация по странице:

  • Бизнес-модель процесса проектирования реляционной базы данных: создание логической модели базы данных

  • Бизнес-модель этапа проектирования - создание физической модели реляционной базы данных

  • Бизнес-модель этапа проектирования - создание физической модели реляционной базы данных: учет влияния транзакций

  • бд полный курс. Информация, данные, информационные системы Информация как социальный ресурс


    Скачать 1.56 Mb.
    НазваниеИнформация, данные, информационные системы Информация как социальный ресурс
    Дата25.03.2023
    Размер1.56 Mb.
    Формат файлаdocx
    Имя файлабд полный курс.docx
    ТипДокументы
    #1014329
    страница7 из 17
    1   2   3   4   5   6   7   8   9   10   ...   17

    Бизнес-модель процесса проектирования базы данных: сбор и анализ входных данных

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




    Рис. 3.3. Диаграмма декомпозициии процесса проектирования базы данных: второй уровень. Сбор и анализ входных данных

    Такими задачами являются:

    • сбор документации с результатами анализа предметной области базы данных в виде диаграмм, спецификаций и требований;

    • контроль качества результатов анализа предметной области базы данных;

    • систематизация требований и спецификаций заказчика к базе данных;

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

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

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

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

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

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

    Бизнес-модель процесса проектирования реляционной базы данных: создание логической модели базы данных

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

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

    • нормализация сущностей предметной области:

      • получить список атрибутов сущности;

      • определить функциональные зависимости (ФЗ) в сущности;

      • определить детерминанты сущности;

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

      • выполнить нормализацию сущности (преобразовать сущность в отношение);

      • для полученного отношения назначить первичные ключи;

      • сформировать список кандидатов на внешние ключи, если необходимо;

      • сформировать бизнес-правила поддержки целостности сущности, если необходимо;

    • нормализация отношений логической модели базы данных:

    • определить степень связи сущностей;

    • определить класс принадлежности сущности к связи;

      • нормализовать отношение (разрешить связи);

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

      • определить атрибуты связывающих отношений, если необходимо;

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

    • проверка правильности логической модели реляционной базы данных:

      • проверка отношений на соответствие нормальной форме Бойса-Кодда;

      • проверка отношений на свойства соединения без потерь и сохранения функциональных зависимостей;

      • предотвращение потери данных путем миграции первичных ключей отношения и назначения внешних ключей;

      • проверка на отсутствие незамкнутых связей;

      • проверка на отсутствие одиночных отношений;

    • формулировка части исходных данных для решения задачи управления ссылочной целостностью;

    • документирование логической модели реляционной базы данных;

    • принятие решения о реализуемости построенной логической модели реляционной базы данных;

    • принятие решения о разработке физической модели реляционной базы данных.

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

    На рис. 3.4-рис. 3.6 представлены бизнес-модели процессов создания логической модели базы данных, нормализации сущности предметной области и нормализации отношений логической модели базы данных соответственно.




    Рис. 3.4. Бизнес-модель процесса создания логической модели базы данных




    Рис. 3.5. Бизнес-модель процесса нормализации сущности




    Рис. 3.6. Бизнес-модель процесса нормализации отношения

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

    Бизнес-модель этапа проектирования - создание физической модели реляционной базы данных

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

    Эта задача включает выполнение ряда обязательных последовательных процедур.

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

      • определить список колонок в таблице. Колонки выводятся из атрибутов сущности логической модели данных;

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

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

      • определить ряд параметров, связанных с характером хранения таблицы в физической базе данных;

      • определить ограничения на значения колонок, исходя из ряда бизнес-правил.

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

    • Принять решение о способе поддержки ссылочной целостности в базе данных. Если будет решено поддерживать ссылочную целостность на уровне команд SQL, то специфицировать ограничения ссылочной целостности. Эта задача решается в четыре этапа:

      • идентифицировать первичные ключи каждой таблицы;

      • построить индексы первичного ключа;

      • определить внешние ключи в дочерних таблицах, если необходимо;

      • построить команды SQL, которые идентифицируют внешние ключи в дочерних таблицах и правила поддержки ссылочной целостности;

      • Если необходимо, построить представления внешней схемы базы данных.

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

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

    Создание объектов для хранения данных

    Создание таблиц

    Идентифицировать таблицу

    Определение типов данных колонок

    Определение первичного ключа

    Добавление ограничений

    Создание таблиц для взаимосвязи "многие-ко-многим"

    Создание индексов

    Создание представлений

    Создание других объектов базы данных

    Проверка корректности созданной физической модели

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




    Рис. 3.7. Декомпозиция этапа проектирования - создание первой итерации физической модели базы данных: внутренняя схема




    Рис. 3.8. Декомпозиция работы по созданию базовой таблицы

    На этом мы заканчиваем рассмотрение задач проектировщика базы данных по созданию первой итерации физической модели реляционной базы данных - внутренней схемы. Главная цель этапа - создать последовательность команд SQL для создания объектов хранения данных. Также опционально можно создавать другие объекты, такие как синонимы, представления и индексы. Можно принять решение о поддержки ссылочной целостности базы данных программными механизмами СУБД и создать соответствующий набор команд SQL. В следующей лекции мы продолжим работу над созданием физической модели базы данных.

    Бизнес-модель этапа проектирования - создание физической модели реляционной базы данных: учет влияния транзакций

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

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

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

    • исходя из требований к характеру обработки данных, определяет тип приложения базы данных;

    • по имеющимся требованиям и описаниям выполняет систематизацию и описание по возможности всех транзакций к базе данных;

    • отталкиваясь от исходной документации, определяет возможные размеры таблиц, а если это невозможно, делает предположения об их возможном размере;

    • исходя из фактических размеров таблиц и требований к производительности выполнения транзакций, определяет критические транзакции;

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

    • далее, рассматривая в первую очередь критические транзакции и таблицы, которые в них участвуют, проектировщик базы данных принимает субъективные решения по изменению структуры таблиц внутренней схемы базы данных, исходя из тех механизмов, которые ему предоставляет конкретная СУБД;

    • по завершении изменения структур таблиц проектировщик базы данных документирует эти изменения, приводя обоснование своих решений для администратора базы данных.

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

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

    Определение основного типа приложения базы данных

    Документирование и описание транзакций

    Определение критических транзакций

    Для каждой критической транзакции:

    Определение таблиц транзакции

    Определение способа повышения производительности

    Денормализация таблицы?

    Разбиение таблицы?

    Секционирование таблицы?

    Кластеризация таблицы?

    Построение дополнительных индексов?

    Изменение структуры внутренней схемы базы данных

    Документирование изменений

    Для каждой таблицы базы данных

    Выбор индексов

    Определение транзакций таблицы

    Определение кардинальности таблиц

    Определение кардинальности колонок

    Определение индексов

    Изменение внутренней схемы

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



    1   2   3   4   5   6   7   8   9   10   ...   17


    написать администратору сайта