- •Технологии бд
- •1. Теоретические основы организации бд. Реляционная модель данных. 2
- •2. Технологии проектирования реляционных бд 24
- •Теоретические основы организации бд. Реляционная модель данных.
- •Подходы к организации баз данных
- •Иерархические базы данных
- •Сетевые базы данных
- •Реляционные базы данных
- •12 Правил Кодда:
- •Введение в реляционную модель данных
- •Основные понятия реляционной модели данных
- •Тип данных
- •Заголовок отношения, кортеж, тело отношения, значение отношения, переменная отношения
- •Первичный ключ и интуитивная интерпретация реляционных понятий
- •Фундаментальные свойства отношений
- •Отсутствие кортежей-дубликатов, первичный и возможные ключи отношений
- •Отсутствие упорядоченности кортежей
- •Отсутствие упорядоченности атрибутов
- •Атомарность значений атрибутов, первая нормальная форма отношения
- •Реляционная модель данных
- •Общая характеристика
- •Целостность реляционных данных
- •Null-значения
- •Трехзначная логика (3vl)
- •Потенциальные ключи
- •Целостность сущностей
- •Внешние ключи
- •Целостность внешних ключей
- •Замечания к правилам целостности сущностей и внешних ключей
- •Операции, могущие нарушить ссылочную целостность
- •Стратегии поддержания ссылочной целостности
- •Технологии проектирования реляционных бд
- •Этапы разработки базы данных
- •Критерии оценки качества логической модели данных
- •Адекватность базы данных предметной области
- •Легкость разработки и сопровождения базы данных
- •Скорость операций обновления данных (вставка, обновление, удаление)
- •Скорость операций выборки данных
- •Проектирование реляционных баз данных на основе принципов нормализации
- •Понятие метода нормализации отношений
- •Декомпозиция без потерь и функциональные зависимости
- •Корректные и некорректные декомпозиции отношений. Теорема Хеза
- •Теорема Хеза.
- •Диаграммы функциональных зависимостей
- •Первая нормальная форма
- •Минимальные функциональные зависимости и вторая нормальная форма
- •Аномалии обновления, возникающие из-за наличия неминимальных функциональных зависимостей
- •Возможная декомпозиция
- •Вторая нормальная форма
- •Нетранзитивные функциональные зависимости и третья нормальная форма
- •Аномалии обновлений, возникающие из-за наличия транзитивных функциональных зависимостей
- •Возможная декомпозиция
- •Третья нормальная форма
- •Независимые проекции отношений. Теорема Риссанена
- •Перекрывающиеся возможные ключи и нормальная форма Бойса-Кодда
- •Аномалии обновлений, связанные с наличием перекрывающихся возможных ключей
- •Нормальная форма Бойса-Кодда
- •Всегда ли следует стремиться к bcnf?
- •Необходимость дальнейшей нормализации
- •Многозначные зависимости и четвертая нормальная форма
- •Аномалии обновлений при наличии многозначных зависимостей и возможная декомпозиция
- •Многозначные зависимости. Теорема Фейджина. Четвертая нормальная форма
- •Лемма Фейджина
- •Теорема Фейджина
- •Зависимости проекции/соединения и пятая нормальная форма
- •N-декомпозируемые отношения
- •Зависимость проекции/соединения
- •Аномалии, вызываемые наличием зависимости проекции/соединения
- •Устранение аномалий обновления в 3-декомпозиции
- •Пятая нормальная форма
- •Заключение
- •Проектирование реляционных баз данных с использованием семантических моделей: er-диаграммы
- •Ограниченность реляционной модели при проектировании баз данных
- •Семантические модели данных
- •Семантическая модель Entity-Relationship (Сущность-Связь)
- •Основные понятия er-модели
- •Уникальные идентификаторы типов сущности
- •Нормальные формы er-диаграмм
- •Первая нормальная форма er-диаграммы
- •Вторая нормальная форма er-диаграммы
- •Третья нормальная форма er-диаграммы
- •Более сложные элементы er-модели
- •Наследование типов сущности и типов связи
- •Взаимно исключающие связи
- •Получение реляционной схемы из er-диаграммы
- •Базовые приемы
- •Представление в реляционной схеме супертипов и подтипов сущности
- •Представление в реляционной схеме взаимно исключающих связей
- •Виды нотаций er-диаграмм
- •Метод Баркера
- •Методология idef1x
- •Заключение
Зависимости проекции/соединения и пятая нормальная форма
Приведение отношения к 4NF предполагает его декомпозицию без потерь на две проекции (как и в случае 2NF, 3NF и BCNF). Однако бывают (хотя и нечасто) случаи, когда декомпозиция без потерь на две проекции невозможна, но можно произвести декомпозицию без потерь на большее число проекций. Будем называтьn-декомпозируемымотношением отношение, которое может быть декомпозировано без потерь наnпроекций. До сих пор мы имели дело с 2-декомпозируемыми отношениями.
N-декомпозируемые отношения
Определение: Тривиальная MVD
В переменной отношения rс атрибутами (возможно, составными)AиBMVDABназываетсятривиальной, если либоAB, либоA UNION Bсовпадает с заголовком отношенияr.
Тривиальная MVD всегда удовлетворяется. При ABона вырождается в тривиальную FD. В случаеA UNION B = Hrтребования многозначной зависимости соблюдаются очевидным образом.
Для примера n-декомпозируемого отношения при n > 2рассмотрим пятый вариант переменной отношенияСЛУЖ_ПРО_ЗАДАН, в которой имеется единственно возможный ключ{СЛУ_НОМ, ПРО_НОМ, СЛУ_ЗАДАН}и отсутствуют нетривиальные MVD. Пример значения переменной отношения приведен на Рис. 24.
Как показано на Рис. 24, результат естественного соединения проекций СЛУЖ_ПРО_НОМиПРО_НОМ_ЗАДАНпочти совпадает с телом исходного отношенияСЛУЖ_ПРО_ЗАДАН, но в нем присутствует один лишний кортеж, который исчезнет после выполнения заключительного естественного соединения с проекциейСЛУЖ_ЗАДАНИЕ. Читателям предлагается убедиться, что исходное отношение будет восстановлено при любом порядке естественного соединения трех проекций.
Зависимость проекции/соединения
Утверждение о том, что тело отношения СЛУЖ_ПРО_ЗАДАНвосстанавливается без потерь путем естественного соединения его проекцийСЛУЖ_ПРО_НОМ,ПРО_НОМ_ЗАДАНиСЛУЖ_ЗАДАНИЕэквивалентно следующему утверждению (ТСПЗ,ТСПН,ТПНЗиТСЗобозначают тела значений переменных отношенийСЛУЖ_ПРО_ЗАДАН,СЛУЖ_ПРО_НОМ,ПРО_НОМ_ЗАДАНиСЛУЖ_ЗАДАНИЕсоответственно):
IF (<сн, пн> ТСПН AND <пн, сз>ТПНЗ AND <сн, сз>ТСЗ)
THEN <сн, пн, сз> ТСПЗ
Чтобы возможность восстановления без потерь отношения СЛУЖ_ПРО_ЗАДАНпутем естественного соединения его проекцийСЛУЖ_ПРО_НОМ,ПРО_НОМ_ЗАДАНиСЛУЖ_ЗАДАНИЕсуществовала при любом допустимом значении переменной отношенияСЛУЖ_ПРО_ЗАДАН, должно поддерживаться следующее ограничение:
IF (<сн1, пн1, сз2> ТСПЗ AND <сн2, пн1, сз1>ТСПЗ AND <сн1, пн2, сз1>ТСПЗ)
THEN <сн1, пн1, сз1> ТСПЗ
Это обычное ограничение реального мира, которое для отношения СЛУЖ_ПРО_ЗАДАНможет быть сформулировано на естественном языке следующим образом:
Если сотрудник с номером сн участвует в проекте пн, и в проекте пн выполняется задание сз, и сотрудник с номером сн выполняет задание сз, то сотрудник с номером сн выполняет задание сз в проекте пн.
В общем виде такое ограничение называется зависимостью проекции/соединения. Вот формальное определение.
Пусть задана переменная отношенияr, иA, B, …, Zявляются произвольными подмножествами заголовкаr(составными, перекрывающимися атрибутами). В переменной отношенияrудовлетворяетсязависимость проекции/соединения (Project-Join Dependency – PJD) *( A, B, …, Z)тогда и только тогда, когда любое допустимое значениеrможно получить путем естественного соединения проекций этого значения на атрибутыA, B, …, Z.
Рис. 24. Возможное значение переменной отношения СЛУЖ_ПРО_ЗАДАН (пятый вариант), результаты проекций и результат частичного естественного соединения