634.92K
Категория: Базы данныхБазы данных

Функциональная зависимость СУБД

1.

Тема курса: Манипулирование данными:
хранение, вставка, редактирование и
удаление данных, навигация по набору
данных
Тема урока: Функциональная зависимость
СУБД

2.

• Что такое функциональная зависимость?
• Функциональная зависимость (FD) определяет
отношение одного атрибута к другому атрибуту в
системе
управления
базами
данных
(СУБД). Функциональная зависимость помогает вам
поддерживать
качество
данных
в
базе
данных. Функциональная зависимость обозначена
стрелкой →. Функциональная зависимость X от Y
представлена ​X → Y. Функциональная зависимость
играет жизненно важную роль, чтобы найти разницу
между хорошим и плохим дизайном базы данных.

3.

Пример:
В этом примере, если мы знаем значение номера сотрудника, мы можем
получить имя сотрудника, город, зарплату и т. Д. Таким образом, мы можем
сказать, что город, имя сотрудника и зарплата функционально зависят от
номера сотрудника.
Количест Имя
Зарплата
во
сотрудника
сотрудни
ков
город
1
Dana
50000
СанФранциско
2
Фрэнсис
38000
Лондон
3
Эндрю
25000
Токио

4.

Основные условия
Вот некоторые ключевые термины
для функциональной зависимости:
Основные условия
Описание
аксиома
Аксиомы — это набор правил вывода, используемых для
определения всех функциональных зависимостей в реляционной
базе данных.
декомпозиция
Это правило, которое предполагает, что если у вас есть таблица,
которая содержит две сущности, определяемые одним и тем же
первичным ключом, то вам следует рассмотреть возможность
разбивки их на две разные таблицы.
зависимый
Он отображается в правой части диаграммы функциональной
зависимости.
детерминанта
Он отображается в левой части диаграммы функциональной
зависимости.
союз
Предполагается, что если две таблицы разделены, а PK одинаковы,
вам следует рассмотреть возможность их размещения. все вместе

5.

• Правила функциональных зависимостей
• Ниже приведены три наиболее важных правила для
функциональной зависимости:
• Рефлексивное правило. Если X является набором
атрибутов, а Y is_subset_of X, то X содержит значение Y.
• Правило дополнения: когда выполняется x -> y и c
установлен атрибут, то также выполняется ac -> bc. Это
добавление атрибутов, которые не изменяют основные
зависимости.
• Правило транзитивности. Это правило очень похоже на
правило транзитивности в алгебре, если выполняется x ->
y и y -> z, то x -> z также выполняется. X -> y называется
функционально определяющим y.

6.


Типы функциональных зависимостей
Многозначная зависимость:
Тривиальная функциональная зависимость :
Нетривиальная функциональная зависимость :
Транзитивная зависимость:

7.

Многозначная зависимость в СУБД
Многозначная зависимость возникает в ситуации, когда в одной таблице
имеется несколько независимых многозначных атрибутов. Многозначная
зависимость — это полное ограничение между двумя наборами атрибутов в
отношении. Это требует, чтобы определенные кортежи присутствовали в
отношении.
Пример:
В этом примере maf_year и color не зависят друг от друга, но зависят от
car_model. В этом примере эти два столбца называются многозначными и
зависят от car_model.
Эта зависимость может быть представлена ​так:
car_model -> maf_year
Модель
Maf_year
цвет
car_model-> color
автомобиля
H001
2017
металлический
H001
2017
зеленый
H005
2018
металлический
H005
2018
синий
H010
2015
металлический
H033
2012
Серый

8.

Тривиальная функциональная зависимость:
Тривиальная зависимость — это набор атрибутов, которые называются
тривиальными, если набор атрибутов включен в этот атрибут.
Таким образом, X -> Y является тривиальной функциональной
зависимостью, если Y является подмножеством X.
Например:
Рассмотрим эту таблицу с двумя столбцами Emp_id и Emp_name.
{Emp_id, Emp_name} -> Emp_id является тривиальной функциональной
зависимостью, поскольку Emp_id является подмножеством {Emp_id,
Emp_name}.
emp_id
Emp_name
AS555
Гарри
AS811
Джордж
AS999
Kevin

9.

Нетривиальная функциональная зависимость в СУБД
Функциональная зависимость, которая также известна как
нетривиальная зависимость, возникает, когда A-> B выполняется, где B
не является подмножеством A. В отношении, если атрибут B не
является подмножеством атрибута A, то он рассматривается как
нетривиальный зависимость.
Пример:
(Компания} -> {Генеральный директор} (если мы знаем Компанию, мы
знаем имя генерального директора)
Но генеральный директор не является частью Компании, и,
следовательно, это нетривиальная функциональная зависимость.
Компани Исполнитель Возраст
я
ный директор
Microsoft Сатья Наделла 51
Google
Сундар Пичаи 46
яблоко
Тим Кук
57

10.

Транзитивная зависимость:
Транзитив — это тип функциональной зависимости, который возникает,
когда t косвенно формируется двумя функциональными зависимостями.
Пример:
{Company} -> {CEO} (если мы знаем компанию, мы знаем имя ее
генерального директора)
{CEO} -> {Age} Если мы знаем генерального директора, мы знаем Age
Поэтому согласно правилу правила переходной зависимости:
{Company} -> {Age} должно иметь место, это имеет смысл, потому что,
если мы знаем название компании, мы можем знать его возраст.
Примечание. Необходимо помнить, что транзитивная зависимость может
иметь место только в отношении трех или более атрибутов.
Компани Исполнитель Возраст
я
ный директор
Microsoft Сатья Наделла 51
Google
Сундар Пичаи 46
Алибаба
Джек Ма
54

11.

• Что такое нормализация?
• Нормализация — это метод организации данных в
базе данных, который помогает избежать аномалии
избыточности, вставки, обновления и удаления
данных. Это процесс анализа схем отношений на
основе их различных функциональных зависимостей
и первичного ключа.
• Нормализация присуща теории реляционных баз
данных. Это может привести к дублированию одних и
тех же данных в базе данных, что может привести к
созданию дополнительных таблиц.

12.

• Преимущества функциональной зависимости
• Функциональная
зависимость
позволяет
избежать
избыточности данных. Поэтому одни и те же данные не
повторяются в нескольких местах в этой базе данных
• Это помогает вам поддерживать качество данных в базе
данных
• Это поможет вам определить значения и ограничения баз
данных
• Это поможет вам определить плохие проекты
• Это поможет вам найти факты, касающиеся дизайна базы
данных

13.

• Резюме
• Функциональная зависимость — это когда один атрибут определяет
другой атрибут в системе СУБД.
• Аксиома, Разложение, Зависимость, Детерминант, Объединение —
ключевые термины для функциональной зависимости
• Четыре типа функциональной зависимости: 1) Многозначность 2)
Тривиальная 3) Нетривиальная 4) Транзитивная
• Многозначная зависимость возникает в ситуации, когда в одной таблице
несколько независимых многозначных атрибутов.
• Тривиальная зависимость возникает, когда набор атрибутов называется
тривиальным, если набор атрибутов включен в этот атрибут
• Нетривиальная зависимость возникает, когда A-> B выполняется, где B
не является подмножеством A
• Транзитив — это тип функциональной зависимости, который возникает,
когда
он
косвенно
формируется
двумя
функциональными
зависимостями.
• Нормализация — это метод организации данных в базе данных,
который помогает избежать избыточности данных.
English     Русский Правила