- •Технологии бд
- •1. Теоретические основы организации бд. Реляционная модель данных. 2
- •2. Технологии проектирования реляционных бд 24
- •Теоретические основы организации бд. Реляционная модель данных.
- •Подходы к организации баз данных
- •Иерархические базы данных
- •Сетевые базы данных
- •Реляционные базы данных
- •12 Правил Кодда:
- •Введение в реляционную модель данных
- •Основные понятия реляционной модели данных
- •Тип данных
- •Заголовок отношения, кортеж, тело отношения, значение отношения, переменная отношения
- •Первичный ключ и интуитивная интерпретация реляционных понятий
- •Фундаментальные свойства отношений
- •Отсутствие кортежей-дубликатов, первичный и возможные ключи отношений
- •Отсутствие упорядоченности кортежей
- •Отсутствие упорядоченности атрибутов
- •Атомарность значений атрибутов, первая нормальная форма отношения
- •Реляционная модель данных
- •Общая характеристика
- •Целостность реляционных данных
- •Null-значения
- •Трехзначная логика (3vl)
- •Потенциальные ключи
- •Целостность сущностей
- •Внешние ключи
- •Целостность внешних ключей
- •Замечания к правилам целостности сущностей и внешних ключей
- •Операции, могущие нарушить ссылочную целостность
- •Стратегии поддержания ссылочной целостности
- •Технологии проектирования реляционных бд
- •Этапы разработки базы данных
- •Критерии оценки качества логической модели данных
- •Адекватность базы данных предметной области
- •Легкость разработки и сопровождения базы данных
- •Скорость операций обновления данных (вставка, обновление, удаление)
- •Скорость операций выборки данных
- •Проектирование реляционных баз данных на основе принципов нормализации
- •Понятие метода нормализации отношений
- •Декомпозиция без потерь и функциональные зависимости
- •Корректные и некорректные декомпозиции отношений. Теорема Хеза
- •Теорема Хеза.
- •Диаграммы функциональных зависимостей
- •Первая нормальная форма
- •Минимальные функциональные зависимости и вторая нормальная форма
- •Аномалии обновления, возникающие из-за наличия неминимальных функциональных зависимостей
- •Возможная декомпозиция
- •Вторая нормальная форма
- •Нетранзитивные функциональные зависимости и третья нормальная форма
- •Аномалии обновлений, возникающие из-за наличия транзитивных функциональных зависимостей
- •Возможная декомпозиция
- •Третья нормальная форма
- •Независимые проекции отношений. Теорема Риссанена
- •Перекрывающиеся возможные ключи и нормальная форма Бойса-Кодда
- •Аномалии обновлений, связанные с наличием перекрывающихся возможных ключей
- •Нормальная форма Бойса-Кодда
- •Всегда ли следует стремиться к bcnf?
- •Необходимость дальнейшей нормализации
- •Многозначные зависимости и четвертая нормальная форма
- •Аномалии обновлений при наличии многозначных зависимостей и возможная декомпозиция
- •Многозначные зависимости. Теорема Фейджина. Четвертая нормальная форма
- •Лемма Фейджина
- •Теорема Фейджина
- •Зависимости проекции/соединения и пятая нормальная форма
- •N-декомпозируемые отношения
- •Зависимость проекции/соединения
- •Аномалии, вызываемые наличием зависимости проекции/соединения
- •Устранение аномалий обновления в 3-декомпозиции
- •Пятая нормальная форма
- •Заключение
- •Проектирование реляционных баз данных с использованием семантических моделей: er-диаграммы
- •Ограниченность реляционной модели при проектировании баз данных
- •Семантические модели данных
- •Семантическая модель Entity-Relationship (Сущность-Связь)
- •Основные понятия er-модели
- •Уникальные идентификаторы типов сущности
- •Нормальные формы er-диаграмм
- •Первая нормальная форма er-диаграммы
- •Вторая нормальная форма er-диаграммы
- •Третья нормальная форма er-диаграммы
- •Более сложные элементы er-модели
- •Наследование типов сущности и типов связи
- •Взаимно исключающие связи
- •Получение реляционной схемы из er-диаграммы
- •Базовые приемы
- •Представление в реляционной схеме супертипов и подтипов сущности
- •Представление в реляционной схеме взаимно исключающих связей
- •Виды нотаций er-диаграмм
- •Метод Баркера
- •Методология idef1x
- •Заключение
Возможная декомпозиция
Для преодоления этих трудностей можно произвести декомпозицию переменной отношения СЛУЖАЩИЕ_ПРОЕКТЫ_ЗАДАНИЯна две переменных отношений –СЛУЖ {СЛУ_НОМ, СЛУ_УРОВ, СЛУ_ЗАРП}иСЛУЖ_ПРО_ЗАДАН {СЛУ_НОМ, ПРО_НОМ, СЛУ_ЗАДАН}. На основании теоремы Хеза эта декомпозиция является декомпозицией без потерь, поскольку в исходном отношении имелась FD{СЛУ_НОМ, ПРО_НОМ}СЛУ_ЗАДАН. На Рис. 12 показаны диаграммы множеств FD этих отношений, а на Рис. 13 – их значения.
Рис. 12 Диаграммы FD в переменных отношений СЛУЖ и СЛУЖ_ПРО_ЗАДАН
Теперь мы можем легко справиться с операциями обновления.
Добавление кортежей.Чтобы сохранить данные о принятом на работу служащем, который еще не участвует ни в каком проекте, достаточно добавить соответствующий кортеж в отношениеСЛУЖ.
Удаление кортежей.Если кто-то из служащих прекращает работу над проектом, достаточно удалить соответствующий кортеж из отношенияСЛУЖ_ПРО_ЗАДАН. При увольнении служащего нужно удалить кортежи с соответствующим значением атрибутаСЛУ_НОМиз отношенийСЛУЖиСЛУЖ_ПРО_ЗАДАН.
Модификация кортежей.Если у служащего меняется разряд (и, следовательно, размер зарплаты), достаточно модифицировать один кортеж в отношенииСЛУЖ.
Рис. 13. Значения переменных отношений
Вторая нормальная форма
Как видно, на Рис. 12 отсутствуют FD, не являющиеся минимальными. Наличие таких FD на Рис. 10 вызывало аномалии обновления. Проблема заключалась в том, что атрибутСЛУ_УРОВотносился к сущностислужащий, в то время как первичный ключ идентифицировал сущностьзадание_служащего_в_проекте.
Определение: Вторая нормальная форма
Переменная отношения находится во второй нормальной форме (2NF)тогда и только тогда, когда она находится в первой нормальной форме, и каждый неключевой атрибут минимально функционально зависит от первичного ключа.
Переменные отношений СЛУЖиСЛУЖ_ПРО_ЗАДАНнаходятся в 2NF (все неключевые атрибуты отношений минимально зависят от первичных ключейСЛУ_НОМи{СЛУ_НОМ, ПРО_НОМ}соответственно). Переменная отношенияСЛУЖАЩИЕ_ПРОЕКТЫ_ЗАДАНИЯне находится в 2NF (например, FD{СЛУ_НОМ, ПРО_НОМ}СЛУ_УРОВне является минимальной). Любая переменная отношения, находящаяся в 1NF, но не находящаяся в 2NF, может быть приведена к набору переменных отношений, находящихся в 2NF. В результате декомпозиции мы получаем набор проекций исходной переменной отношения, естественное соединение значений которых воспроизводит значение исходной переменной отношения (т. е. это декомпозиция без потерь). Для переменных отношенийСЛУЖиСЛУЖ_ПРО_ЗАДАНисходное отношениеСЛУЖАЩИЕ_ПРОЕКТЫ_ЗАДАНИЯвоспроизводится их естественным соединением по общему атрибутуСЛУ_НОМ.
Заметим, что допустимое значение переменной отношения СЛУЖможет содержать кортежи, информационное наполнение которых выходит за пределы допустимых значений переменной отношенияСЛУЖАЩИЕ_ПРОЕКТЫ_ЗАДАНИЯ. Например, в теле отношенияСЛУЖможет находиться кортеж с данными о служащем с номером2938, который еще не участвует ни в одном проекте. Наличие такого кортежа не влияет на результат естественного соединения, тело которого все равно будет совпадать с телом допустимого значения переменной отношенияСЛУЖАЩИЕ_ПРОЕКТЫ_ЗАДАНИЯ.