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