- •Введение
- •Лекция 1: Информационные системы с базами данных Информация, данные, информационные системы Информация как социальный ресурс
- •Информация и данные
- •Определение понятия информации
- •Информационные системы
- •Итерационная процедура построения информационных систем
- •Концепция баз данных
- •Основные подходы к обработке информации в автоматизированных информационных системах
- •Системы управления базами данных
- •Концепция баз данных
- •Модели данных Понятие о модели данных
- •Информационная модель данных
- •Концепция трех схем
- •Основные типы моделей и их эквивалентность
- •Общие принципы классификации субд
- •Обзор основных моделей данных
- •Иерархическая модель
- •Сетевая модель данных
- •Модели вычислений
- •Лекция 2. Предметная область базы данных и ее модели Понятие предметной области
- •Информационная модель предметной области базы данных
- •Сущности, атрибуты и идентификаторы (ключи) сущности, домены атрибутов
- •Отношения, связи
- •Подтипы и супертипы
- •Диаграммы "сущность-связь"
- •Документирование сущностей и атрибутов
- •Документирование доменов
- •Документирование отношений (связей)
- •Документирование супертипов и подтипов
- •Функциональная модель предметной области базы данных Понятие функциональной модели предметной области базы данных
- •Бизнес-модель процессов (иерархия функций системы)
- •Модель потока данных
- •Модель жизненного цикла сущности
- •Набор спецификаций функций системы (требования), описание функций системы через сущности и атрибуты, бизнес-правила
- •Общесистемные требования и решения
- •Контроль качества результатов анализа предметной области
- •Лекция 3. Что такое проектирование баз данных Введение
- •Что такое проектирование базы данных
- •Типовая бизнес-модель процесса проектирования базы данных
- •Бизнес-модель процесса проектирования базы данных: сбор и анализ входных данных
- •Бизнес-модель процесса проектирования реляционной базы данных: создание логической модели базы данных
- •Бизнес-модель этапа проектирования - создание физической модели реляционной базы данных
- •Бизнес-модель этапа проектирования - создание физической модели реляционной базы данных: учет влияния транзакций
- •Краткое рассмотрение задач создания серверного кода и подготовки скрипта
- •Лекция 4. Реляционная модель данных Информация, данные, информационные системы Понятие отношения
- •Формы представления отношений
- •Реляционные операции
- •Объединение отношений
- •Пересечение отношений
- •Разность отношений
- •Декартово произведение отношений
- •Проекция отношения
- •Деление отношений
- •Выбор из отношения
- •Соединение отношений
- •Лекция 5. Функциональные зависимости и реляционные базы данных Информация, данные, информационные системы Понятие функциональной зависимости в данных
- •Основные классы функциональных зависимостей
- •Аксиомы вывода функциональных зависимостей
- •Минимальные покрытия множеств функциональных зависимостей
Бизнес-модель этапа проектирования - создание физической модели реляционной базы данных
В данном разделе рассмотрим организационную сторону решения профессиональной задачи проектировщика баз данных - задачу создания физической модели реляционной базы данных. Основная цель решения этой задачи: преобразовать логическую модель реляционной базы данных в последовательность команд SQL для создания объектов реляционной базы данных. Таким образом, проектировщик базы данных отображает отношения логической модели реляционной базы данных (сущности предметной области, представленные в нормализованной форме на ER-диаграммах) в таблицы и индексы реляционной базы данных.
Эта задача включает выполнение ряда обязательных последовательных процедур.
Создание базовых таблиц. Они представляют основные блоки хранения данных и выводятся из сущностей логической модели данных. При создании каждой таблицы проектировщик должен рассмотреть и учесть ряд факторов:
определить список колонок в таблице. Колонки выводятся из атрибутов сущности логической модели данных;
определить типы данных для каждой колонки. Типы данных колонок либо заданы спецификацией домена атрибута логической модели, либо определяются проектировщиком самостоятельно;
определить имя таблицы. Оно может быть выведено из имени сущности логической модели базы данных или задано проектировщиком самостоятельно. Желательно в этот момент определить собственника таблицы - пользователя, который будет иметь все права доступа на таблицу, а также потенциальных пользователей таблицы;
определить ряд параметров, связанных с характером хранения таблицы в физической базе данных;
определить ограничения на значения колонок, исходя из ряда бизнес-правил.
Создание связывающих таблиц, необходимых для разрешения отношения "многие-ко-многим", если они имеют место в логической модели базы данных. В рамках ER-диаграмм это отношение может быть уже разрешено. Тогда речь пойдет только о его реализации в командах SQL.
Принять решение о способе поддержки ссылочной целостности в базе данных. Если будет решено поддерживать ссылочную целостность на уровне команд SQL, то специфицировать ограничения ссылочной целостности. Эта задача решается в четыре этапа:
идентифицировать первичные ключи каждой таблицы;
построить индексы первичного ключа;
определить внешние ключи в дочерних таблицах, если необходимо;
построить команды SQL, которые идентифицируют внешние ключи в дочерних таблицах и правила поддержки ссылочной целостности;
Если необходимо, построить представления внешней схемы базы данных.
В результате решения данной задачи делается важный вывод о правильности полученной первой итерации физической модели базы данных, осуществляется документирование физической модели данных в виде скрипта, принимается решение о характере дальнейшей разработки физической модели данных.
Перейдем теперь к построению бизнес-модели этапа проектирования физической модели реляционной базы данных - созданию первой итерации внутренней схемы базы данных. Из сказанного в предыдущих разделах настоящей лекции понятен следующий алгоритм действий:
Создание объектов для хранения данных
Создание таблиц
Идентифицировать таблицу
Определение типов данных колонок
Определение первичного ключа
Добавление ограничений
Создание таблиц для взаимосвязи "многие-ко-многим"
Создание индексов
Создание представлений
Создание других объектов базы данных
Проверка корректности созданной физической модели
На рис. 3.7 ниже представлена модель бизнес-процессов первой итерации физической модели базы данных, а на рис. 3.8 - декомпозиция работы по созданию базовой таблицы.
Рис. 3.7. Декомпозиция этапа проектирования - создание первой итерации физической модели базы данных: внутренняя схема
Рис. 3.8. Декомпозиция работы по созданию базовой таблицы
На этом мы заканчиваем рассмотрение задач проектировщика базы данных по созданию первой итерации физической модели реляционной базы данных - внутренней схемы. Главная цель этапа - создать последовательность команд SQL для создания объектов хранения данных. Также опционально можно создавать другие объекты, такие как синонимы, представления и индексы. Можно принять решение о поддержки ссылочной целостности базы данных программными механизмами СУБД и создать соответствующий набор команд SQL. В следующей лекции мы продолжим работу над созданием физической модели базы данных.
