- •Бд и файловые системы
- •2.Архитектура системы бд.
- •3.Субд и ее функции.
- •4.Основные функции администратора бд
- •5.Организация данных. Модели данных
- •6.Реляционная модель данных. Реляционные структуры данных
- •7. Реляционная модель данных. Домен и отношение
- •8. Реляционная модель данных. Свойства отношений
- •9.Целостность данных. Первичные ключи
- •Целостность данных. Внешние ключи.
- •11.Целостность данных. Правила внешних ключей.
- •12.Нормализация бд. Функциональные зависимости.
- •13.Нормализация бд. 1нф
- •14.Нормализация бд. 2нф
- •15.Нормализация бд. 3нф
- •16. Средства манипулирования данными. Реляционная алгебра и реляционное исчисление.
- •17.Реляционная алгебра. Общая интерпретация реляционных операций. Свойство замкнутости
- •18.Реляционная алгебра. Теоретико-множественные операции
- •19.Реляционная алгебра. Специальные реляционные операции
14.Нормализация бд. 2нф
Нормальная форма — свойство отношения в реляционной модели данных, характеризующее его с точки зрения избыточности, которая потенциально может привести к логически ошибочным результатам выборки или изменения данных. Нормальная форма определяется как совокупность требований, которым должно удовлетворять отношение.
Процесс преобразования базы данных к виду, отвечающему нормальным формам, называется нормализацией. Нормализация предназначена для приведения структуры базы данных к виду, обеспечивающему минимальную избыточность.
Сущность (отношение) находится во второй нормальной форме тогда и только тогда, когда оно находится в первой нормальной форме и каждый ее неключевой атрибут полностью зависит от первичного ключа (не должно быть зависимости от части первичного ключа).
В сущности Работа есть зависимости от части первичного ключа, например Табельный номер Фамилия.
Для приведения сущности ко второй нормальной форме следует:
-
создать новую сущность и перенести в нее атрибуты, которые зависят только от части первичного ключа, вместе с ключевым реквизитом. Перенос можно выполнять механизмом «перетаскивание» (drag & drop).
-
задать в новой сущности ключевой атрибут
-
установить идентифицирующую связь от новой сущности к прежней
-
Выполним указанные действия над исходной сущностью и получим новую сущность Сотрудник с первичным ключом Табельный номер. Обе сущности (преобразованная и новая) находятся во второй нормальной форме (рис. 3).
Рис. 3 . Модель данных во второй нормальной форме
Но полученная модель данных также имеет недостатки:
-
дублирование данных об окладе для всех сотрудников, имеющих одинаковый разряд
-
трудности при обновлении данных. Например, нельзя добавить новый разряд, если в данный момент нет сотрудника, имеющего данный разряд.
Данный недостаток связан с наличием транзитивной зависимости
Функциональная зависимость X Y называется транзитивной, если существует такой атрибут Z, что имеются функциональные зависимости X Z и Z Y
В сущности Сотрудник такой зависимостью является Табельный номер Оклад, а атрибутом Z – Тарифный разряд. Зависимость Z Y (Тарифный разряд Оклад) является зависимостью одного неключевого атрибута от другого неключевого атрибута.
Недостатки такого рода устраняются путем приведения модели данных к третьей нормальной форме.
15.Нормализация бд. 3нф
Нормальная форма — свойство отношения в реляционной модели данных, характеризующее его с точки зрения избыточности, которая потенциально может привести к логически ошибочным результатам выборки или изменения данных. Нормальная форма определяется как совокупность требований, которым должно удовлетворять отношение.
Процесс преобразования базы данных к виду, отвечающему нормальным формам, называется нормализацией. Нормализация предназначена для приведения структуры базы данных к виду, обеспечивающему минимальную избыточность.
Сущность (отношение) находится в третьей нормальной форме, если оно находится во второй нормальной форме и никакой неключевой ревизит не зависит от другого неключевого ревизита:
В сущности Сотрудник есть такая зависимость: Табельный номер Оклад.
Для приведения сущности к третьей нормальной форме следует:
-
создать новую сущность (отношение) и перенести в нее атрибуты, образующие зависимость по неключевым ревизитам.
-
выбрать в новой сущности ключевой атрибут
-
установить неидентифицирующую связь от новой сущности к прежней
-
Выполним указанные действия над сущностью Сотрудник и получим новую сущность Тарифный разряд. Теперь все сущности модели данных находятся в третьей нормальной форме (рис.4).
Рис. 4 . Модель данных в третьей нормальной форме