

14. Концептуальное, логическое и физическое проектирование данных
Проектирование БД
Цель проектирования: отображение предметной области в структуре хранимых данных.
Требования:
1) полнота отображения и адекватность предметной области;
2) эффективность работы с данными.
Эти два требования противоречат друг другу.
Решение: при общем назначении базы, приоритет за первым, при специализированном - за вторым.
Общая схема проектирования:

Предварительный анализ может исполняться одним или несколькими исполнителями, используются все доступные источники (интервью, наблюдения, заказчик...).
Концептуальное проектирование - получаем модель, максимально точно приближающую структуру информации.
Результат - графическая модель «сущность-связь»+описание.
Концептуальное проектирование
Исходная информация - это результат сбора данных и анализа требований.
Результат - концептуальная модель, спецификация, описание модели.
Этапы:
1. Определение сущностей: основные и подчинённые.
2. Определение связей: для связей определяется множественность, обязательность.
3. Определение атрибутов сущностей: указываются свойства множественности, обязательности, условности. Определяются вычисляемые атрибуты.
4. Определение идентификаторов сущностей: локальных и глобальных. Локальный идентификатор идентифицируется внутри группы подчиненных экземпляров.
В описании могут быть приведены ограничения, предъявленные
к данным. Глобальный 1 2 3 1 2 3
Это ограничения на атрибуты, сущности, связи. Локальный 1 2 3 4 5 6
По полученной модели может быть проведена проверка на выполнимость транзакций.
Логическое проектирование
Исходные данные: концептуальная модель и тип логической модели.
Результат: модель, соответствующая требованиям выбранной модели данных.
Процесс проектирования зависит от типа модели.
Для реляционно-логической модели основные шаги следующие:
1. Преобразование концептуальной модели в вид, соответствующий требуемой организации. Это осуществляется переходом к одноуровневым равноправным таблицам, заменой связей «многие ко многим» ассоциациями, выносом множественного атрибута в отдельное отношение с идентификатором.
2. Преобразование в эквивалентные элементы логической модели. Сущности и ассоциации преобразуются в отношения, идентификаторы - в первичные ключи. Для не основных сущностей вводятся внешние ключи, соответствующие первичным ключам связи. Идентификатор не основной сущности состоит из набора внешних ключей и локального идентификатора.
3. Проверка нормализованности отношений.
4. Проверка выполнимости транзакций.
5. Проверка на избыточность связей.
6. Установление ограничений целостности. Ограничения пользовательские преобразуются к форме реализуемой модели, добавляются ограничения, реализуемые разработчиком.
Возможно выполнение проектирования параллельно несколькими группами. Результаты проектирования в дальнейшем соединяются. Соединение может быть на уровне требований, на уровне концептуальной модели, на уровне логической модели.
Соединение на уровне концептуальной модели проходит операции:
1. Определение общности и различий сущностей и связей.
2. Слияние общих сущностей и добавление различных (различающихся) сущностей.
3. Соединение совпадающих связей, добавление несовпадающих.
4. Проверка полноты модели.
5. Согласование ограничений.
6. Проверка выполнимости транзакций.
7. Оформление общей схемы и документации.
Физическое проектирование
Физическое проектирование дает модель реализации.
1. Определяются параметры управления памятью (выделения) > зависит от СУБД.
2. Определение реализации объектов базы.
3. Определяется способ реализации вычисляемых данных: вычисляем и храним, вычисляем каждый раз.
4. Определение индексов для связей и для поиска.
5. Реализация ограничений. Определяется место и способ реализации ограничения. CHECK или триггеры.
6. Определяется процедура восстановления и резервирования.
6.1 Нужно познакомиться со средствами СУБД по сохранению резервных копий и их восстановлению.
6.2 Нужно написать инструкцию как выполнять и через какое время.
6.3 Когда делается резервирование, нужно проверять пригодность (работоспособность) копии.
6.4 Желательна не одна, а несколько копий (носителей).
7. Определяется защита от НСД (через СУБД, через физический доступ). Внешний накопитель > по операциям, не по таблицам.
8. Определение представлений (виртуальных таблиц). Хранится не сама информация, а способы ее формирования (для SQL - select).
Достоинства:
§ «Свежая» информация
§ Ускорение работы (запрос в запросе > на сервере объединяются в один запрос)
§ Защита данных
Цель проектирования: отображение предметной области в структуре хранимых данных.
Требования:
1) полнота отображения и адекватность предметной области;
2) эффективность работы с данными.
Эти два требования противоречат друг другу.
Решение: при общем назначении базы, приоритет за первым, при специализированном - за вторым.
Общая схема проектирования:
Предварительный анализ может исполняться одним или несколькими исполнителями, используются все доступные источники (интервью, наблюдения, заказчик...).
Концептуальное проектирование - получаем модель, максимально точно приближающую структуру информации.
Результат - графическая модель «сущность-связь»+описание.
Концептуальное проектирование
Исходная информация - это результат сбора данных и анализа требований.
Результат - концептуальная модель, спецификация, описание модели.
Этапы:
1. Определение сущностей: основные и подчинённые.
2. Определение связей: для связей определяется множественность, обязательность.
3. Определение атрибутов сущностей: указываются свойства множественности, обязательности, условности. Определяются вычисляемые атрибуты.
4. Определение идентификаторов сущностей: локальных и глобальных. Локальный идентификатор идентифицируется внутри группы подчиненных экземпляров.
В описании могут быть приведены ограничения, предъявленные
к данным. Глобальный 1 2 3 1 2 3
Это ограничения на атрибуты, сущности, связи. Локальный 1 2 3 4 5 6
По полученной модели может быть проведена проверка на выполнимость транзакций.
Логическое проектирование
Исходные данные: концептуальная модель и тип логической модели.
Результат: модель, соответствующая требованиям выбранной модели данных.
Процесс проектирования зависит от типа модели.
Для реляционно-логической модели основные шаги следующие:
1. Преобразование концептуальной модели в вид, соответствующий требуемой организации. Это осуществляется переходом к одноуровневым равноправным таблицам, заменой связей «многие ко многим» ассоциациями, выносом множественного атрибута в отдельное отношение с идентификатором.
2. Преобразование в эквивалентные элементы логической модели. Сущности и ассоциации преобразуются в отношения, идентификаторы - в первичные ключи. Для не основных сущностей вводятся внешние ключи, соответствующие первичным ключам связи. Идентификатор не основной сущности состоит из набора внешних ключей и локального идентификатора.
3. Проверка нормализованности отношений.
4. Проверка выполнимости транзакций.
5. Проверка на избыточность связей.
6. Установление ограничений целостности. Ограничения пользовательские преобразуются к форме реализуемой модели, добавляются ограничения, реализуемые разработчиком.
Возможно выполнение проектирования параллельно несколькими группами. Результаты проектирования в дальнейшем соединяются. Соединение может быть на уровне требований, на уровне концептуальной модели, на уровне логической модели.
Соединение на уровне концептуальной модели проходит операции:
1. Определение общности и различий сущностей и связей.
2. Слияние общих сущностей и добавление различных (различающихся) сущностей.
3. Соединение совпадающих связей, добавление несовпадающих.
4. Проверка полноты модели.
5. Согласование ограничений.
6. Проверка выполнимости транзакций.
7. Оформление общей схемы и документации.
Физическое проектирование
Физическое проектирование дает модель реализации.
1. Определяются параметры управления памятью (выделения) > зависит от СУБД.
2. Определение реализации объектов базы.
3. Определяется способ реализации вычисляемых данных: вычисляем и храним, вычисляем каждый раз.
4. Определение индексов для связей и для поиска.
5. Реализация ограничений. Определяется место и способ реализации ограничения. CHECK или триггеры.
6. Определяется процедура восстановления и резервирования.
6.1 Нужно познакомиться со средствами СУБД по сохранению резервных копий и их восстановлению.
6.2 Нужно написать инструкцию как выполнять и через какое время.
6.3 Когда делается резервирование, нужно проверять пригодность (работоспособность) копии.
6.4 Желательна не одна, а несколько копий (носителей).
7. Определяется защита от НСД (через СУБД, через физический доступ). Внешний накопитель > по операциям, не по таблицам.
8. Определение представлений (виртуальных таблиц). Хранится не сама информация, а способы ее формирования (для SQL - select).
Достоинства:
§ «Свежая» информация
§ Ускорение работы (запрос в запросе > на сервере объединяются в один запрос)
§ Защита данных