Лекция 9. Проектирование фактографических баз данных и хранилищ данных Подходы к проектированию БД.

advertisement
Лекция 9. Проектирование
фактографических баз данных и
хранилищ данных
• Подходы к проектированию БД.
• Этапы нисходящего подхода к
проектированию баз данных.
• Проектирование хранилищ данных.
Подходы к проектированию БД
• Восходящий
• Нисходящий
• Анализ и выявление
атрибутов
• Группировка
атрибутов в
отношения
• Нормализация
отношений
• Физическое
проектирование
• Концептуальное
(инфологическое)
проектирование
• Логическое
(даталогическое)
проектирование
• Физическое
проектирование
Нисходящий подход
Start
Информация о предметной области
Концептуальное проектирование БД
Выбор модели данных
Логическое проектирование БД
Выбор конкретной СУБД
Физическое проектирование БД
БД
Finish
Методология концептуального
проектирования базы данных
• Этап 1. Создание локальной концептуальной модели
•
•
•
•
•
•
•
•
данных исходя из представлений о предметной области
каждого из типов пользователей.
Этап 1.1. Определение типов сущностей.
Этап 1.2. Определение типов связей.
Этап 1.3. Определение атрибутов и связывание их с типами
сущностей и связей.
Этап 1.4. Определение доменов атрибутов.
Этап 1.5. Определение атрибутов, являющихся
потенциальными и первичными ключами.
Этап 1.6. Специализация или генерализация типов
сущностей.
Этап 1.7. Создание диаграммы "сущность-связь".
Этап 1.8. Обсуждение локальных концептуальных моделей
данных с конечными пользователями.
Методология логического
проектирования базы данных
• Этап 2. Построение и проверка локальной логической
•
•
•
•
•
•
•
модели данных на основе представления о предметной
области каждого из типов пользователей.
Этап 2.1. Преобразование локальной концептуальной
модели данных в локальную логическую модель.
Этап 2.2. Определение набора отношений исходя из
структуры локальной логической модели данных.
Этап 2.3. Проверка модели с помощью правил
нормализации.
Этап 2.4. Проверка модели в отношении транзакций
пользователей.
Этап 2.5. Создание диаграмм "сущность-связь".
Этап 2.6. Определение требований поддержки целостности
данных.
Этап 2.7. Обсуждение разработанных локальных
логических моделей данных с конечными пользователями.
Удаление связей типа M:N.
Репетитор
Id_репетитор
Ученик
Id_ученик
Репетитор
Id_репетитор
Ученик
Id_ученик
Занятия
Id_Занятия
Id_Репетитора
Id_ученика
Удаление сложных связей
Репетитор
Id_репетитор
Ученик
Id_ученик
Предмет
Id_предмет
Репетитор
Id_репетитор
Занятия
Id_Занятия
Id_Репетитора
Id_Ученика
Id_предмет
Предмет
Id_предмет
Ученик
Id_ученик
Удаление рекурсивных связей
Сотрудник
руководит
Сотрудник
Подчиненный
сотрудник
Удаление связей с атрибутами
Стаж
Сотрудник
Id_сотрудник
Сотрудник
Id_сотрудник
работает
Трудовая
деятельность
Id_сотрудника
Id_Предприятия
стаж
Предприятие
Id_предприятие
Предприятие
Id_предприятия
Удаление множественных
атрибутов
Предприятие
Id_Предприятие
Номер телефон (множ)
Предприятие
Id_Предприятие
Телефон
Id_Телефон
Id_Предприятие
Номер телефона (един)
Нормализация
Ненормализованная
форма
Таблица, содержащая одну или
несколько повторяющихся групп данных
Атомарность данных
Первая нормальная
форма
Отношение, в котором на пересечении
каждой строки и каждого столбца
содержится только одно значение
Полная функц. зависимость от ключа
Вторая нормальная
форма
Отношение, каждый атрибут которого,
не входящий в состав первичного ключа,
полностью функционально зависит от
этого первичного ключа
Отсутствие транзитивной зависимости
Третья нормальная
форма
Отношение, которое не имеет не
входящих в первичный ключ атрибутов,
которые находились бы в транзитивной
зависимости от этого первичного ключа
Ссылочная целостность
• Случай 1. Вставка новой
строки в дочернее
отношение.
• Случай 2. Удаление строки
из дочернего отношения.
• Случай 3. Обновление
внешнего ключа в строке
дочернего отношения
• Случай 4. Вставка строки
в родительское отношение
• Случай 5. Удаление строки
из родительского
отношения
• Случай 6. Обновление
первичного ключа в строке
родительского отношения
NO ACTION
CASCADE
SET NOLL
SET DEFAULT
NO CHECK
Методология логического
проектирования базы данных
• Этап 3. Создание и проверка глобальной
•
•
•
•
•
логической модели данных.
Этап 3.1. Слияние локальных логических моделей
данных в единую глобальную модель данных.
Этап 3.2. Проверка глобальной логической модели
данных.
Этап 3.3. Проверка возможностей расширения
модели в будущем.
Этап 3.4. Создание окончательного варианта
диаграммы "сущность-связь".
Этап 3.5. Обсуждение глобальной логической модели
данных с пользователями.
Методология физического
проектирования базы данных
• Этап 4. Перенос глобальной логической модели
данных в среду целевой СУБД.
• Этап 4.1. Проектирование основных таблиц в среде
целевой СУБД.
• Этап 4.2. Реализация бизнес-правил предприятия в
среде целевой СУБД.
Методология физического
проектирования базы данных
• Этап 5. Проектирование
•
•
•
•
•
физического представления базы
данных.
Этап 5.1. Анализ транзакций.
Этап 5.2. Выбор файловой
структуры.
Этап 5.3. Определение вторичных
индексов.
Этап 5.4. Анализ необходимости
введения контролируемой
избыточности данных.
Этап 5.5. Определение требований
к дисковой памяти.
«-»
Время
отклика
системы
Пропускная
способность
транзакций
«+»
«-»
Дисковая
память
Методология физического
проектирования базы данных
• Этап 6. Разработка механизмов защиты.
• Этап 6.1. Разработка пользовательских
представлений (видов).
• Этап 6.2. Определение прав доступа.
• Этап 7. Организация мониторинга и настройка
функционирования системы.
Привилегии
•
•
•
•
•
•
•
•
Привилегиями называют действия,
которые пользователь имеет право
выполнят в отношении данной
таблицы базы данных или
представления
•
GRANT {privilege_list\ ALL
PRIVILEGES}
ON object name
TO {authorization_id_list\ PUBLIC}
[WITH GRANT OPTION]
•
REVOKE [GRANT OPTION FOR]
{privilege_list\ ALL PRIVILEGES}
ON object_name
FROM {authorization_id_list \
PUBLIC} [RESTRICT \ CASCADE]
•
•
•
•
SELECT — право выбирать
данные из таблицы;
INSERT — право вставлять в
таблицу новые строки;
UPDATE — право изменять
данные в таблице;
DELETE — право удалять
строки из таблицы;
REFERENCES — право
ссылаться на столбцы
указанной таблицы в
описания, требований
поддержки целостности
данных;
USAGE — право
использовать домены,
проверки, наборы символов
и трансляции.
Типичная
архитектура
хранилища данных
и магазины данных
с указанием
информационных
потоков в
хранилище данных
Download