
- •Базы данных
- •Лекция 1 Введение. Основы теории баз данных.
- •Цели и задачи дисциплины
- •Требования, предъявляемые к изучению дисциплины
- •Концепция систем баз данных
- •Лекция 2 Введение в банки и базы данных.
- •Введение бд и системы бд
- •Введение в Банки данных (БнД)
- •Причины создания БнД
- •Требования предъявляемые к БнД или бд
- •Компоненты банка данных (БнД)
- •5.Организационно-методические средства.
- •6. Пользователи бд
- •Классификация баз и банков данных, виды моделей данных Типология базы данных
- •Модели данных
- •Инфологическая модель
- •Лекция 4 Этапы проектирования бд
- •Лекция 5 Модели и структуры данных
- •Структуры.
- •Абстракция
- •Множества
- •Операции над множествами
- •Лекция 6 Многоуровневые модели предметной области
- •Трехуровневая архитектура субд
- •Лекция 7 Структуры данных
- •Линейные структуры
- •Нелинейные структуры
- •Лекция 8 Типы моделей данных
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная модель данных
- •Лекция 9 Системы управления базами данных
- •Лекция 10 Основные понятия реляционной модели данных
- •Атрибуты
- •Условия и ограничения, накладываемые на отношение реляционной модели данных
- •Достоинства и недостатки реляционных моделей
- •Основы реляционной алгебры Свойства отношений
- •Операции над отношениями.
- •Пересечение.
- •Вычитание (разность).
- •Декартово произведение.
- •5. Выборка (ограничение, селекция).
- •Соединение
- •1. Общая операция соединения.
- •2. Тэта-соединение.
- •Деление.
- •Примеры использования реляционных операторов.
- •Лекция 12 Нормализация отношений
- •Типы функциональных зависимостей.
- •Нормальные формы
- •Вторая нормальная форма (2нф)
- •Третья нормальная форма (3нф)
- •Усиленная 3нф Нормальная форма Бойса-Кодда (нфбк).
- •Четвертая нормальная форма (4нф)
- •Пятая нормальная форма (5нф)
- •Лекция 13 Инфологическое проектирование
- •Лекция 14 Даталогиечекское проектирование Общие сведения о даталогическом проектировании
- •Особенности даталогической модели
- •Лекция 15 Проектирование рбд с использованием er-технологий Сущности и связи
- •Построение er-диаграммы по
- •Характеристика связей
- •Лекция 16 Получение отношений из диаграммы er-типа
- •1. Предварительные отношения бинарных связей 1:1
- •2. Предварительные отношения бинарных связей 1:n
- •3. Предварительные отношения бинарных связей n:m
- •Лекция 17 Ограничение целостности
- •Целостность реляционных данных
Нормальные формы
Каждая НФ:
-
ограничивает определенный тип функциональной зависимости;
-
устраняет соответствующие аномалии при выполнении операции над отношениями БД.
При рассмотрении НФ будем отмечать все свойственные им аномалии и нежелательные эффекты. Для иллюстрации используем отношение с составным ключом преподаватель предмет. Оно находится в 1НФ, поскольку не содержит сложных атрибутов. В этом отношении можно отметить частичную функциональную зависимость атрибутов «фамилия», «должность», «оклад», «кафедра», «телефон» от части «личный номер» составного ключа. Такая зависимость приводит к следующим аномалиям:
1. имеет место дублирование данных о преподавателе, поскольку он может читать несколько предметов;
2. существует проблема контроля избыточности данных, т.к. изменение, например, оклада влечет за собой необходимость поиска и изменения окладов во всех кортежах с данным преподавателем;
3. возникает проблема с преподавателями, которые в данное время не ведут предметы, и с лаборантами, которые вообще не ведут предметов. А именно, преподавателя без предметов невозможно включить в отношение. И наоборот, если преподаватель увольняется, то будет удален и предмет, хотя он и должен продолжать читаться. Таким образом, в отношение 1НФ требует дальнейших преобразований.
Вторая нормальная форма (2нф)
Отношение находится во 2НФ, если оно находится в 1НФ и каждый неключевой атрибут функционально полно зависит от составного ключа. Чтобы устранить частичную зависимость и привести рассматриваемое отношение к 2НФ, необходимо разложить его на два отношения следующим образом:
-
построить проекцию без атрибутов, которые находятся в частичной зависимости от составного ключа;
-
построить проекцию на часть составного ключа и атрибуты, зависящие от этой части.
В итоге получим два отношения: предмет и преподаватель, находящихся во 2НФ:
Предмет
-
Личный
номер
Название предмета
Количество часов
201
ЭВМ
36
201
Сети
72
202
БД
48
301
БД
48
401
Физика
52
401
Оптика
30
Преподаватель
Личный номер |
Фамилия |
Должность |
Оклад |
Кафедра |
Телефон |
201 |
Фролов |
Доцент |
3800 |
ЭВМ |
4-89 |
202 |
Костин |
Доцент |
3800 |
ЭВМ |
4-89 |
301 |
Бойко |
Профессор |
5200 |
АСУ |
4-89 |
401 |
Глазов |
Ассистент |
2700 |
ТЭФ |
4-12 |
В полученном отношении преподаватель имеются функциональные транзитивные зависимости:
Личный номер → кафедра → телефон
Личный номер → должность → оклад
Наличие транзитивных зависимостей порождает неудобства и аномалии следующего характера (на примере атрибута «телефон»):
1. имеет место дублирование информации о телефоне для преподавателей одной кафедры;
2. существует проблема контроля избыточности, поскольку изменение номера телефона кафедры влечет за собой необходимость поиска и изменения номеров всех преподавателей этой кафедры.
3. Нельзя включить данные о новой кафедре (название и номер телефона), если на данный момент еще отсутствуют преподаватели. И наоборот, при увольнении преподавателей с кафедры, данные о ней нельзя сохранить. Таким образом, 2НФ также может требовать дальнейших преобразований.