- •Основы бд
- •1. Основные понятия, термины.
- •2. Модели данных.
- •3. Иерархическая модель.
- •4. Сетевая модель.
- •5. Реляционная модель
- •Операции реляционной алгебры
- •Реляционное исчисление кортежей
- •Проектирование схем реляционной бд
- •1. Основные положения
- •2. Избыточность данных и аномалии обновления
- •3. Функциональная зависимость
- •4. I нормальная форма
- •5. II нормальная форма
- •7. Нормальная форма Бойса-Кодда
- •8. Обзор процесса нормализации
- •9. Многозначные зависимости
- •Методология проектирования бд
- •Основные понятия.
- •Методология концептуального проектирования.
- •Методология логического проектирования.
- •1. Основные понятия.
- •2. Методология концептуального проектирования
- •3. Методология логического проектирования
- •4. Методология физического проектирования бд
- •Пример проектирования бд
- •Пример физического проектирования бд
- •2. Управление транзакций
- •3. Обработка запросов
9. Многозначные зависимости
В ходе проектирования БД выявлен один тип зависимости - многозначная зависимость. Многозначные зависимости выявляет проблемы и избыточностью данных.
Отделение – Сотрудник – Клиент
N_отдела |
ФИО_сотрудника |
ФИО_клиента |
011 |
Кот |
Чижик |
012 |
Крот |
Лебедев |
011 |
Кот |
Гусев |
012 |
Крот |
Тупик |
В данном отношении имеются многозначные зависимости типа один ко многим (1:N).
1:N
N_отдела – ФИО_клиента
1:N
N_отдела – ФИО_сотрудника
Если для каждого атрибута A имеется набор атрибутов B и C. Хотя атрибут B и C не зависят друг от друга.
Многозначная зависимость A -> B A -> C .
Многозначная зависимость подразделяется на тривиальную и нетривиальную зависимости. Многозначная зависимость A и B, определенных на некотором отношении R, называется тривиальной, если атрибут B является подмножеством атрибут A. В противном случае тривиальная зависимость является не тривиальной.
10. 4–ая нормальная форма
Отношение находится в 4-ой НФ, если оно удовлетворяет НФ БК и не содержит многозначных нетривиальных зависимостей.
Отделение – Сотрудник (N_отделения, ФИО_сотрудника)
Отделение – Клиент (N_отделения, ФИО_клиента)
Бывают случаи, когда необходимо выполнять декомпозицию на более чем два отношения. В этом случае необходимо учитывать зависимость соединения. Зависимость соединения - это свойство декомпозиции, которая вызывает генерацию ложных строк при обратном соединении декомпозированных отношений. Что бы не возникало зависимостей соединения, необходимо отношение приводить к 5-ой НФ.
11. 5–ая нормальная форма
Отношение в 5-ой НФ – это отношение без зависимостей соединения .
Например: Объект – Мебель – Поставщик
N_объекта |
Мебель |
N_поставщика |
31 |
Стол |
P1 |
31 |
Стул |
P2 |
52 |
Стул |
P3 |
52 |
Кровать |
P1 |
Для того, что бы отношение удовлетворяло 5-ой НФ, необходимо его разбить на следующие отношения:
Объект – Мебель (N_объекта, Мебель)
Поставщик – Мебель (N_поставщика, Мебель)
Объекта - Поставщик (N_объекта, N_поставщика )
Методология проектирования бд
Основные понятия.
Методология концептуального проектирования.
Методология логического проектирования.
Методология физического проектирования.
1. Основные понятия.
Методология проектирования БД предусматривает разбиение всего процесса проектирования на несколько фаз, каждая из которых состоит из нескольких этапов.
Общепринятая методология проектирования БД разделяется на 3 основные фазы:
концептуальное проектирование
логическое проектирование
физическое проектирование
Концептуальное проектирование – это процедура конструирования информационной модели, не зависящей от каких-либо физических условий реализации.
Логическое проектирование – это процесс конструирования информационной модели на основе существующих моделей данных, не зависимо от используемой СУБД и других условий физической реализации.
Физическое проектирование – это процедура создания описания конкретной реализации БД с описанием структуры хранения данных, методов доступа к данным.
В целом процедура проектирования БД будет включать следующие этапы:
Создание концептуальной модели данных, исходя из представлений о предметной области, каждого из пользователей. Шаги:
определение типов сущности;
определение типов связей;
определение атрибутов и связывание их с типами сущностей и связей;
определение доменов атрибутов;
определение атрибутов, являющихся потенциальными и первичными ключами;
создание диаграмм “сущность – связь”;
обсуждение локальной концептуальной модели с конечным пользователем.
Построение и проверка локальной логической модели данных на основе представления.
преобразование локальной концептуальной модели в локальную логическую модель;
определение наборов отношений, исходя из структур локальной логической модели данных;
проверка модели с помощью правил нормализации;
проверка модели в отношении транзакции пользователя;
создание диаграмм “сущность – связь”;
определение требований поддержки целостности данных;
обсуждение локальной логической модели с конечным пользователем;
Создание и проверка глобальной логической модели данных.
слияние локальных и логических моделей в единую модель;
проверка глобальной логической модели;
проверка возможности расширения проблемы в будущем;
создание окончательного варианта диаграммы “сущность – связь”;
обсуждение глобальной логической модели с конечным пользователем;
перенос глобальной логической модели данных в среду целевой СУБД.
создание основных таблиц в среде СУБД;
реализация бизнес-правил предприятия среди СУБД.
Проектирование физического представления БД
анализ транзакций;
выбор файловой структуры;
определение вторичных индексов;
контроль за избыточностью данных;
определение требований дисковой памяти.
Разработка механизмов защиты:
разработка пользовательских представлений;
определение прав доступа к данным;
Этапы 4, 5, 6 – это физическое проектирование данных и ориентировано на реляционные СУБД.