Слайд 1Классический подход к проектированию баз данных
Слайд 2Процесс проектирования
Проектирование объектов базы данных (таблицы, представления, индексы, триггеры, хранимые
процедуры, функции, пакеты) для представления данных предметной области в базе
данных.
Проектирование интерфейса взаимодействия с базой данных (формы, отчеты и т.д.), т.е. проектирование приложений, которые будут сопровождать данные в базе данных и реализовывать вопросно-ответные отношения на этих данных.
Проектирование баз данных под конкретную вычислительную среду или информационную технологию (архитектура "клиент-сервер", параллельные архитектуры, распределенная вычислительная среда).
Проектирование баз данных под назначение системы (интеллектуальный анализ данных, OLAP, OLTP и т.д.).
Слайд 5Сбор и анализ входных данных
сбор документации с результатами анализа предметной
области базы данных в виде диаграмм, спецификаций и требований;
контроль качества
результатов анализа предметной области базы данных;
систематизация требований и спецификаций заказчика к базе данных;
подготовка плана проектирования базы данных.
Слайд 6Сбор и анализ входных данных
Слайд 7Создание логической модели
нормализация сущностей предметной области:
получить список атрибутов сущности;
определить
функциональные зависимости (ФЗ) в сущности;
определить детерминанты сущности;
определить возможные ключи отношения,
в частности, рассмотрев уникальный идентификатор сущности.
выполнить нормализацию сущности (преобразовать сущность в отношение);
для полученного отношения назначить первичные ключи;
сформировать список кандидатов на внешние ключи, если необходимо;
сформировать бизнес-правила поддержки целостности сущности, если необходимо;
Слайд 8Создание логической модели
нормализация отношений логической модели базы данных:
определить степень связи
сущностей;
определить класс принадлежности сущности к связи;
нормализовать отношение (разрешить связи);
назначить
первичные ключи связывающих отношений, исходя из уникального идентификатора связи и процедуры миграции ключей при нормализации;
определить атрибуты связывающих отношений, если необходимо;
сформировать бизнес-правила поддержки целостности связей;
Слайд 9Создание логической модели
проверка правильности логической модели реляционной базы данных:
проверка
отношений на соответствие нормальной форме Бойса-Кодда;
проверка отношений на свойства соединения
без потерь и сохранения функциональных зависимостей;
предотвращение потери данных путем миграции первичных ключей отношения и назначения внешних ключей;
проверка на отсутствие незамкнутых связей;
проверка на отсутствие одиночных отношений;
Слайд 10Создание логической модели
формулировка части исходных данных для решения задачи управления
ссылочной целостностью;
документирование логической модели реляционной базы данных;
принятие решения о реализуемости
построенной логической модели реляционной базы данных;
принятие решения о разработке физической модели реляционной базы данных.
Слайд 14Создание физической модели
Создание базовых таблиц. Они представляют основные блоки хранения
данных и выводятся из сущностей логической модели данных. При создании
каждой таблицы проектировщик должен рассмотреть и учесть ряд факторов:
определить список колонок в таблице. Колонки выводятся из атрибутов сущности логической модели данных;
определить типы данных для каждой колонки. Типы данных колонок либо заданы спецификацией домена атрибута логической модели, либо определяются проектировщиком самостоятельно;
определить имя таблицы. Оно может быть выведено из имени сущности логической модели базы данных или задано проектировщиком самостоятельно. Желательно в этот момент определить собственника таблицы - пользователя, который будет иметь все права доступа на таблицу, а также потенциальных пользователей таблицы;
определить ряд параметров, связанных с характером хранения таблицы в физической базе данных;
определить ограничения на значения колонок, исходя из ряда бизнес-правил.
Слайд 15Создание физической модели
Создание связывающих таблиц, необходимых для разрешения отношения "многие-ко-многим",
если они имеют место в логической модели базы данных. В
рамках ER-диаграмм это отношение может быть уже разрешено. Тогда речь пойдет только о его реализации в командах SQL.
Слайд 16Создание физической модели
Принять решение о способе поддержки ссылочной целостности в
базе данных. Если будет решено поддерживать ссылочную целостность на уровне
команд SQL, то специфицировать ограничения ссылочной целостности. Эта задача решается в четыре этапа:
идентифицировать первичные ключи каждой таблицы;
построить индексы первичного ключа;
определить внешние ключи в дочерних таблицах, если необходимо;
построить команды SQL, которые идентифицируют внешние ключи в дочерних таблицах и правила поддержки ссылочной целостности;
Если необходимо, построить представления внешней схемы базы данных.
Слайд 19Учет влияния транзакций
исходя из требований к характеру обработки данных, определяет
тип приложения базы данных;
по имеющимся требованиям и описаниям выполняет
систематизацию и описание по возможности всех транзакций к базе данных;
отталкиваясь от исходной документации, определяет возможные размеры таблиц, а если это невозможно, делает предположения об их возможном размере;
исходя из фактических размеров таблиц и требований к производительности выполнения транзакций, определяет критические транзакции;
Слайд 20Учет влияния транзакций
для каждой критической транзакции необходимо оценить кардинальность каждой
колонки, задействованной в транзакции и, по возможности, кардинальность выборки;
далее, рассматривая
в первую очередь критические транзакции и таблицы, которые в них участвуют, проектировщик базы данных принимает субъективные решения по изменению структуры таблиц внутренней схемы базы данных, исходя из тех механизмов, которые ему предоставляет конкретная СУБД;
по завершении изменения структур таблиц проектировщик базы данных документирует эти изменения, приводя обоснование своих решений для администратора базы данных.
Слайд 23Создание серверного кода
принятие решения и создание хранимых процедур;
принятие решения и
создание функций;
принятие решения и создание пакетов;
принятие решения и создание триггеров.
Слайд 24Создание скрипта
создание пользователей, их идентификация и назначение им привилегий;
привязка разработанных
объектов реляционной базы данных к параметрам физического хранения базы данных
с помощью создания специальных объектов базы данных;
создание инсталляционного скрипта;
документирование базы данных.