Простейшие функциональные зависимости. Функциональные зависимости. Основные определения

Лекция 3. Общие понятия и определения. Классификация функций. Предел функции. Бесконечно малые и бесконечно большие функции. Основные теоремы о бесконечно малых функциях.

Функция

При решении различных задач обычно приходится иметь дело с постоянными и переменными величинами.

Определение

Постоянной величиной называется величина, сохраняющая одно и тоже значение или вообще или в данном процессе: в последнем случае она называется параметром.

Переменной величиной называется величина, которая может принимать различные числовые значения.

Понятие функции

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

Определение

Переменная величина y называется функцией (однозначной) от переменной величины x, если они связаны между собой так, что каждому рассматриваемому значению x соответствует единственное вполне определенное значение величины y (сформулировал Н.И.Лобачевский).

Обозначение y=f(x) (1)

x – независимая переменная или аргумент;

y – зависимая переменная (функция);

f – характеристика функции.

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

Каждому значению радиуса соответствует значение площади круга. Площадь – функция от радиуса, определенная в бесконечном интервале

2. Функция (2). Функция определена при

Для наглядного представления поведения функции строят график функции.

Определение

Графиком функции y=f(x) называется множество точек M(x,y) плоскости OXY , координаты которых связаны данной функциональной зависимостью. Или график функции – это линия, уравнением которой служит равенство, определяющее функцию.

Например, график функции (2) – полуокружность радиуса 2 с центром в начале координат.

Простейшие функциональные зависимости

Рассмотрим несколько простейших функциональных зависимостей

  1. Прямая функциональная зависимость

Определение

Две переменные величины называются прямо пропорциональными, если при изменении одной из них в некотором отношении, другая изменяется в том же соотношении.

y=kx , где k – коэффициент пропорциональности.

График функции

  1. Линейная зависимость

Определение

Две переменные величины связаны линейной зависимостью, если , где - некоторые постоянные величины.

График функции

  1. Обратная пропорциональная зависимость

Определение

Две переменные величины называются обратно пропорциональными, если при изменении одной из них в некотором отношении, другая изменяется в обратном отношении.

  1. Квадратичная зависимость

Квадратичная зависимость в простейшем случае имеет вид , где k – некоторая постоянная величина. График функции – парабола.

  1. Синусоидальная зависимость.

При изучении периодических явлений важную роль играет синусоидальная зависимость

- функция называется гармоникой.

A – амплитуда;

Частота;

Начальная фаза.

Функция периодическая с периодом . Значения функции в точках x и x+T , отличающихся на период, одинаковы.

Функцию можно привести к виду , где . Отсюда получаем, что графиком гармоники является деформированная синусоида с амплитудой A периодом T, сдвинутая по оси ОХ на величину

T

Способы задания функции

Обычно рассматривают три способа задания функции: аналитический, табличный, графический.

  1. Аналитический способ задания функции

Если функция выражена при помощи формулы, то она задана аналитически.

Например

Если функция y=f(x) задана формулой, то ее характеристика f обозначает ту совокупность действий, которую нужно в определенном порядке произвести над значением аргумента x , чтобы получить соответствующее значение функции.

Пример . Выполняется три действия над значением аргумента.

  1. Табличный способ задания функции

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

Можно ли от табличного задания функции перейти к аналитическому выражению?

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

  1. Графический способ задания функции

Аналитический и табличный способы не дают наглядного представления о функции.

Этого недостатка лишен графический способ задания функции y=f(x) , когда соответствие между аргументом x и функцией y устанавливается с помощью графика.

Понятие неявной функции

Функция называется явной, если она задана формулой, правая часть которой не содержит зависимой переменной.

Функция y от аргумента x называется неявной, если она задана уравнением

F(x,y)=0 (1) неразрешенным относительно зависимой переменной.

Понятие обратной функции

Пусть задана функция y=f(x) (1). Задавая значения аргумента х, получаем значения функции y.

Можно, считая y аргументом, а х – функцией, задавать значения y и получать значения x . В таком случае уравнение (1) будет определять x , как неявную функцию от y . Эта последняя функция называется обратной по отношению к данной функции y .

Предполагая, что уравнение (1) разрешено относительно x, получаем явное выражение обратной функции

(2), где функция для всех допустимых значений y удовлетворяет условию

ния системы или анализа мнений пользователей о работе системы.

Целью этого этапа является оптимизация функционирования существующей системы путем реорганизации базы данных и/или внесения изменений в программное обеспечение.

7.2. Функциональные зависимости

По словам Хью Дарвена, функциональные зависимости является «если не совсем фундаментальной, то очень близкой к таковой», которые лежат в основе проектирования базы данных.

Понятие функциональной зависимости

По сути, функциональная зависимость является связью типа «многие к одному» между множествами атрибутов внутри данного отношения.

Пусть R - семейство всевозможных отношений с одинаковым заголовкомH R (можно называть

переменной типа отношения, а всякое r P R - значением этой переменной(или допустимым отношением)). Пусть A Ď H R и B Ď H R - некоторые подмножества атрибутов заголовка переменной отношения R .

Определение 1. Множество атрибутовB функционально зависимо отA (и обозначаютA Ñ B ) тогда и только тогда, когда каждое значение атрибутовA любого допустимого отношенияr связано ровно с одним значением атрибутовB отношенияr , т. е. если два кортежа совпадают по значению атрибутовA , то они совпадают и по значению атрибутовB . Формально:

pA ÑB q ô @r HR ; Br P R @T 1 ;T 2 P Br p@a PA T 1 :aT 2 :aq Ñ p@b PB T 1 :bT 2 :bq:

Замечание. Аналогично определяется как частный случай понятие функциональной зависимости и для отдельного обычного отношенияr .

Определение 2. ЕслиA Ñ B , то множество атрибутовA называютдетерминантом , аB -зави-

симой частью.

Заметим, что если A являетсяпотенциальным ключом отношенияr , то из определения потенциального ключа следует, что все атрибуты отношенияr должны обязательно быть функционально зависимыми отA .

циональных зависимостей до некоторых допустимых размеров. Почему эта цель важна? Одна из причин состоит в том, что многие функциональные зависимости являются ограничениями целостности , поэтому желательно, чтобы СУБД обеспечивала их соблюдение. Следовательно, для каждого заданного множества функциональных зависимостей S желательно найти такое множество T , которое(в идеальной ситуации) было бы существенно меньше множества S по мощности и при этом каждая функциональная зависимость в множестве S могла бы быть заменена функциональной зависимостью из множества T . Если бы такое множество T было найдено, то СУБД достаточно было бы контролировать выполнение функциональных зависимостей из множества T , что автоматически обеспечивало бы соблюдение всех функциональных зависимостей из множества S . Именно поэтому задача поиска подходящего множества T представляет большой практический интерес.

Тривиальные и нетривиальные зависимости

Определение 3. Функциональная зависимость называетсятривиальной , если она не может не выполняться, т. е. справедлива при любых условиях.

Определение 3’. Функциональная зависимостьA Ñ B называетсятривиальной тогда и только тогда, когдаB Ď A , иначе она называетсянетривиальной .

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

Замыкание множества зависимостей

Из одних функциональных зависимостей могут следовать другие функциональные зависимости. Пусть есть переменная отношения R , аA Ď H R ,B Ď H R иC Ď H R - некоторые подмножества

его атрибутов.

Определение 4. Функциональная зависимостьA Ñ C называетсятранзитивной (илипроходящей через B ), если существуют функциональные зависимостиA Ñ B иB Ñ C .

Определение 5. МножествоS всех функциональных зависимостей, которые следуют из заданного множества функциональных зависимостейS , называетсязамыканием множестваS .

Из приведенного определения следует, что для решения сформулированной задачи (сокращение множества зависимостей) необходимо найти алгоритм вычисления S на основеS .

Первая попытка решить эту проблему была предпринята Армстронгом : он предложил набор правил вывода (называемыеаксиомами Армстронга 1 ) новых функциональных зависимостей на основе заданных.

Пусть A Ď H R ,B Ď H R ,C Ď H R - некоторые подмножества атрибутов переменной отношенияR .

Базовые аксиомы Армстронга:

1. Правило рефлексивности (reflexivity) : если B Ď A , то A Ñ B .

2. Правило дополнения (augmentation) : если A Ñ B , то A Y C Ñ B Y C .

3. Правило транзитивности (transitivity) : если A Ñ B и B Ñ C , то A Ñ C .

Доказательство: Первая аксиома справедлива, т. к.A Ñ B приB Ď A является тривиальной функ-

циональной зависимостью по определению.

Докажем аксиому дополнения от противного. Предположим, что при A

Ñ B неверно

A Y C Ñ B Y C . Это значит, что найдутся два кортежаT 1 P B r иT 2 P B r (B r

Тело некото-

рого допустимого отношения r ) такие, что

T 1 :acT 2 :ac

@ac P A YC ;

но при этом

Dbc P B YC :T 1 :bcT 2 :bc

Так как A Ď A Y C , то по аксиоме рефлексивностиA Y C Ñ A , а значит, из (7.1) следует, что

T 1 :aT 2 :a

@a P A :

Поскольку задано A Ñ B , то из (7.3) следует

T 1 :bT :b

@b P B :

Но тогда из неравенства (7.2) и (7.4) следует, что упоминаемый bc (7.2) принадлежитC , т. е.

Dc P C: T 1 :cT 2 :c

С другой стороны, в силу наличия тривиальной зависимости A Y C Ñ C и (7.1) получаем

T 1 :cT 2 :c @c PC

что противоречит (7.5). Следовательно, исходное предположение было неверным.

1 Но справедливость «аксиом» Армстронга доказывается с помощью определения функциональной зависимости.

Аксиому транзитивности тоже докажем от противного. Предположим, что A Ñ B иB Ñ C , ноA ­Ñ C . ТогдаDr P R: D T 1 ; T 2 P B r такие, что

T 1 :aT 2 :a @a PA

Данная система правил является:

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

Непротиворечивой - с помощью этих правил не могут быть выведены никакие дополнительные функциональные зависимости (т. е. зависимости, которые не обусловлены функциональными зависимостями множестваS ).

Таким образом, эти правила могут использоваться для получения замыкания S множества зависимостейS .

В целях упрощения нахождения S можно ввестидополнительные правила вывода (D Ď H R ):

4. Правило самоопределения : A Ñ A .

5. Правило декомпозиции : если A Ñ B Y C , то A Ñ B и A Ñ C .

6. Правило объединения : если A Ñ B и A Ñ C , то A Ñ B Y C .

7. Правило композиции : если A Ñ B и C Ñ D , то A Y C Ñ B Y D .

8. Общая теорема объединения (Дарвен): если A Ñ B и C Ñ D , то A Y p C z B q Ñ B Y D .

Замыкание S для заданного множества функциональных зависимостейS можно вычислить тривиальным образом: повторно применять правила вывода до тех пор, пока остается возможным создание новых функциональных зависимостей.

Неприводимые множества зависимостей

Пусть S 1 иS 2 - два множества функциональных зависимостей.

Определение 6. МножествоS 2 называетсяпокрытием для множестваS 1 , если любая функциональная зависимость, которая следует из множества зависимостейS 1 , следует также из множества зависимостейS 2 , т. е.S 1 Ď S 2 .

Замечание. Это означает, что если СУБД обеспечит соблюдение ограничений, представленных зависимостями множестваS 2 , то автоматически будут соблюдены и все ограничения, устанавливаемые зависимостями множестваS 1 .

Определение 7. Множества зависимостейS 1 иS 2 называютсяэквивалентными , еслиS 1 является покрытием дляS 2 иS 2 является покрытием дляS 1 , т. е.S 1 S 2 .

Определение 8. Множество функциональных зависимостейS называетсянеприводимым (минимальным) тогда и только тогда, когда оно обладает всеми тремя свойствами:

1. Зависимая часть каждой функциональной зависимости из S содержит только один атрибут.

2. Детерминант каждой зависимости из S являетсянеприводимым , т. е. ни один атрибут из де-

терминанта не может быть опущен без изменения замыкания S 1 (т. е. без преобразованияS

в неэквивалентное множество зависимостей).

3. Ни одна функциональная зависимость из множества S не может быть удалена без изменения его замыканияS (т. е. без преобразования множестваS в неэквивалентное множество зависимостей).

1 Такая функциональная зависимость называетсянеприводимой слева .

Иначе называется приводимым .

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

Доказательство: Пусть дано исходное множество зависимостейS .

1. В силу правила декомпозиции можно без утраты общности предположить, что каждая функциональная зависимость в этом множестве S имеет одноэлементную зависимую часть.

2. Далее для каждой зависимости f P S следует проверить каждый атрибутa в детерминанте зависимостиf : если удаление атрибутаa из левой части зависимостиf не приводит к изменению замыканияS , то этот атрибут следует удалить.

3. Затем для каждой зависимости f , оставшейся в множествеS , необходимо проверить, приводит ли ее удаление из множестваS к изменению замыканияS : в случае отрицательного ответа следует удалить зависимостьf из множестваS .

Получившееся в результате таких действий множество S 1 является неприводимым и эквивалентным исходному множествуS .l

Определение 9. Множество функциональных зависимостейT , которое неприводимо и эквивалентно другому множеству функциональных зависимостейS , называетсянеприводимым эквивалентом множестваS .

Таким образом, в системе вместо исходного множества функциональных зависимостей S может использоваться его неприводимый эквивалентT . Однако для заданного множества функциональных зависимостей не всегда существуетуникальный неприводимый эквивалент.

Декомпозиция без потерь и функциональные зависимости

Процедура нормализации предусматривает разбиение, или декомпозицию , данной переменной отношения на другие переменные отношения, причем декомпозиция должна быть обратимой, т. е. выполняться без потерь информации. Иначе говоря, интерес представляют только те операции, которые выполняются без потерь информации.

Одним из способов декомпозиции является использование проекции, для которой обратной будет

операция соединения, что показывается теоремой Хита:

Теорема (Хит; Heath) . Пусть задана переменная отношенияR с заголовкомH R A Y B Y C , гдеA ; B ; C - попарно непересекающиеся множества атрибутов переменной отношенияR . ЕслиR удовлетворяет функциональной зависимостиA Ñ B , то можно провести декомпозицию без потерь в виде

R1 A Y B pRq; R2 A Y C pRq;

которая обратима с помощью естественного соединения: R R 1 " R 2 .

В качестве следствия-обобщения можно (неформально) отметить, что декомпозиция переменной отношенияR на проекцииR l ; R 2 ; : : : ; R n выполняетсябез потерь , еслиR R l " R 2 " : : : " R n .

Диаграммы функциональных зависимостей

Пусть R - переменная отношения, аT -неприводимое множество его функциональных зависимостей. МножествоT можно визуально представить в видедиаграммы функциональных зависимо-

стей:

Каждый атрибут изображается прямоугольником с именем атрибута в нем.

Каждое множество атрибутов изображается в виде прямоугольника, внутри которого находятся прямоугольники-атрибуты, которые входят в множество атрибутов.

Функциональная связь изображается в виде стрелки от домена (всегда является потенциальным ключом) к множеству атрибутов зависимой части.

Функциональные зависимости

Функциональная зависимость описывает связь между атрибутами и является одним из основных понятий нормализации. Предположим, что реляционная схема имеет атрибуты (A, B, C,…, Z) и вся база может быть представлена в виде одного универсального отношения R=(A, B, C,…, Z). Следовательно, каждый атрибут в базе имеет уникальное имя.

Если A и B – атрибуты некоторого отношения R, и каждое значение А связано с одним и только одним значением В (причем каждый из атрибутов может состоять из одного или нескольких атрибутов), то атрибут В функционально зависим от атрибута А (ВàА).

Функциональная зависимость, справедливая при любых условиях, называется тривиальной . Нетривиальные зависимости определяют ограничения целостности для отношений.

Транзитивная зависимость для атрибутов A, B и C некоторого отношения означает следующее: если АàВ и ВàС, то С транзитивно зависит от атрибута А через атрибут В (при условии, что А функционально не зависит от В или С).

Для исключения избыточности данных, что может привести к потере целостности, необходимо использовать минимально достаточное множество зависимостей.

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

Таблица, находящаяся в первой нормальной форме, должна отвечать следующим требованиям:

1) таблица не должна иметь повторяющихся записей;

2) в таблице должны отсутствовать повторяющиеся группы полей;

3) каждое поле должно быть семантически неделимым.

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

Функциональная зависимость АàВ является полной функциональной зависимостью, если удаление какого либо атрибута из А приводит к утрате этой зависимости. Функциональная зависимость АàВ называется частичной , если в А есть некий атрибут при удалении которого эта зависимость сохраняется.

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

Нормальная форма Бойса-Кода (НФБК) основана на функциональных зависимостях, в которых учитываются все потенциальные ключи отношения, но с более строгими ограничениями.

Детерминантом функциональной зависимости является атрибут (или группа атрибутов), от которого полностью функционально зависит некоторый другой атрибут.

Для проверки принадлежности отношения к НФБК необходимо найти все его детерминанты и убедиться в том, что они являются потенциальными ключами.

Различие между 3НФ и НФБК заключается в том, что функциональная зависимость АàВ допускается в отношении 3НФ, если атрибут В является первичным ключом, а атрибут А не обязательно является потенциальным ключом. В отношении НФБК эта зависимость допускается только тогда, когда атрибут А является потенциальным ключом. Следовательно, НФБК является более строгой версией 3НФ, поскольку каждое отношение НФБК является 3НФ, но не всякое отношение 3НФ является НФБК.

Отношения находятся в НФБК только в том случае, если каждый его детерминант является потенциальным ключом.

Четвертая нормальная форма (4НФ) – отношение в НФБК, которое не содержит нетривиальных многозначных зависимостей.

Многозначная зависимость представляет такую зависимость между атрибутами отношения (например А, В и С), что каждое значение А представляет собой множество значений для В и множество значений для С. Однако множество значений В и С не зависят друг от друга.

Многозначная зависимость может быть дополнительно определена как тривиальная или нетривиальная. Многозначная зависимость АàВ некоторого отношения R определяется как тривиальная, если атрибут В является подмножеством атрибута А или . И наоборот, многозначная зависимость определяется как нетривиальная, если ни то ни другое условие не выполняется. Тривиальная многозначная зависимость не накладывает никаких ограничений на данное отношение, а нетривиальная – накладывает.

При разбиении отношения с помощью операции проекции используемый метод декомпозиции определяется точно. Необходимо, чтобы при обратном соединении полученных отношений можно было восстановить исходное отношение. Такая декомпозиция называется декомпозицией соединения без потерь (или беспроигрышным или неаддитивным соединением), поскольку при ее выполнении сохраняются все данные исходного отношения, а также исключается создание дополнительных фиктивных строк.

Пятая нормальная форма (5НФ), которая также называется проективно-соединительной нормальной формой, означает, что отношение в такой форме не имеет зависимостей соединения. Отношение R с подмножеством атрибутов А,В,…,Z удовлетворяет зависимости соединения, если каждое допустимое значение R равно соединению его проекций на подмножества А,В,…,Z.

Понятие функциональной зависимости

Пусть R - ϶ᴛᴏ отношение. С одной стороны, оно имеет конкретное (постоянное) значение в данный момент времени. С другой стороны, это переменная, которая в каждый момент времени может принять неĸᴏᴛᴏᴩᴏᴇ новое значение.

Понятие ФЗ можно применить и к первому, и ко второму случаю. При этом мы будем рассматривать только второй случай, т.к. он больше соответствует реальности.

Определœение функциональной зависимости. Пусть R – переменная отношения. X и Y – произвольные подмножества множества атрибутов R . Тогда Y функционально зависит от X , что в символическом виде записывается как X → Y (читается как ʼʼX функционально определяет Y ʼʼ) тогда и только тогда, когда для любого допустимого значения R каждое значение X связано точно с одним значением Y .

Здесь X называют детерминантом ФЗ, а Y зависимой частью ФЗ.

Пример : Пусть R - ϶ᴛᴏ отношение Students . X – код студента͵ а Y – множество всœех атрибутов студента. Тогда X → Y , т.к. X представляет собой первичный ключ, который уникально идентифицирует запись в таблице Students .

Такое утверждение будет верно и для более общего случая: если X - ϶ᴛᴏ потенциальный ключ, то множество всœех атрибутов R всœегда функционально зависит от X .

При этом следует иметь в виду, что если в R имеется ФЗ, левая часть которой не включает потенциальный ключ, то R обладает избыточностью , что затрудняет обеспечение целостности данных и занимает лишние ресурсы системы.

В случае если ни один атрибут не должна быть опущен из левой части, то такая функциональная зависимость принято называть неприводимой (точнее, неприводимой слева ).

Пример :

{StudentID , FirstName , LastName , MiddleName } → {BirthDate } – приводимая ФЗ.

{StudentID } → {BirthDate } – неприводимая ФЗ.

Множество функциональных зависимостей принято называть неприводимым тогда и только тогда, когда оно обладает всœеми тремя перечисленными ниже свойствами:

1. Зависимая часть каждой функциональной зависимости содержит только один атрибут.

2. Детерминант каждой функциональной зависимости является неприводимым.

3. Ни одна функциональная зависимость из множества не должна быть удалена без потери информации о связях.

Рассмотрение множества неприводимых ФЗ важно для нормализации отношений.

Выделяют два вида ФЗ:

1. Тривиальные ФЗ - ϶ᴛᴏ ФЗ, в которых правая часть (Y ) является подмножеством левой части (X ). С практической точки зрения они не представляют значительного интереса, однако с точки зрения формальной теории зависимостей крайне важно учитывать их наличие.

2. Нетривиальные ФЗ . Οʜᴎ действительно являются ограничениями целостности данных, в связи с этим в дальнейшем мы будем рассматривать именно нетривиальные ФЗ.

Для определœения того в какой нормальной форме находится отношение, требуется найти всœе ФЗ. Существуют три правила Армстронга (шведский математик), позволяющие из начального множества ФЗ вывести возможные ФЗ.

Пусть A , B , C - ϶ᴛᴏ подмножества множества атрибутов отношения R , AB – объединœение этих подмножеств.

1. Правило рефлексивности . В случае если множество B является подмножеством множества А , то А → В . (По сути, это определœение тривиальной зависимости.)

2. Правило дополнения . В случае если А → B , то АС → ВС .

3. Правило транзитивности . В случае если А → B и B→C , то А → С .

Каждое из этих правил должна быть доказано на базе определœения ФЗ.

При этом в целях упрощения получения всœех ФЗ можно вывести еще несколько дополнительных правил (пусть D - ϶ᴛᴏ еще одно произвольное подмножество множества атрибутов R ):

4. Правило самоопределœения . А → А .

5. Правило декомпозиции . В случае если А → ВС , то А → B и A → C .

6. Правило объединœения . В случае если А → В и А → С , то А → ВС .

7. Правило композиции . В случае если А → B и С → D , то АС → BD .

8. Теорема всœеобщего объединœения . В случае если А→ B и C → D , то А(С – В) → BD .

Название теоремы указывает на то, что некоторые из перечисленных выше правил бывают выведены как частные случаи этой теоремы.

При этом следует иметь в виду, что эти правила не обеспечивают чёткого алгоритма получения всœех ФЗ. Более того, такого алгоритма не существует. Единственный путь - ϶ᴛᴏ перебор всœех вариантов.

Понятие функциональной зависимости - понятие и виды. Классификация и особенности категории "Понятие функциональной зависимости" 2017, 2018.

При проектировании базы данных в реляционной СУБД основной целью разра­ботки логической модели данных является создание точного представления дан­ных, связей между ними и требуемых ограничений. Для этого не­обходимо определить, прежде всего, подходящий набор отношений. Метод, используемый при этом, называется нормализацией (normalization). Нормализация представляет собой вариант восходящего подхода к проектированию базы данных, который начинается с установления связей между атрибутами.

Цель нормализации

Нормализация - метод создания набора отношений с заданными свойствами на основе требований к данным, установленным в некоторой орга­низации.

Нормализация часто выполняется в виде последовательности тестов для некоторого отношения с целью проверки его соответствия (или несоответствия) требованиям заданной нормальной формы.

Процесс нормализации является формальным методом, который позволяет идентифицировать отношения на основе их первичных ключей (или потенциальных ключей, как в случае НФБК) и функциональных зависимостей, существующих между их атрибутов. Проектировщики баз данных могут использовать нормализацию в виде наборов тестов, применяемых к отдельным отношениям с целью нормализации реляционной схемы до заданной конкретной формы, что позволит предотвратить возможное возникновение аномалий обновления.

Основная цель проектирования реляционной базы данных заключается в группи­ровании атрибутов и отношения так, чтобы минимизировать избыточность данных и таким образом сократить объем памяти, необходимый для физического хранения от­ношений, представленных в виде таблиц.

Функциональные зависимости

Функциональная зависимость описывает связь между ат­рибутами и является одним из основных понятий нормализации. В этом разделе приводится определение данного понятия, а в следующих - описание его взаимосвя­зи с процессами нормализации отношений базы данных.

Функциональная зависимость - описывает связь между атрибутами отношения. Например, если в отношении. R, содержащем атрибуты А и В, атрибут В функционально зависит от атрибута А (что обозначается как АВ), то каждое значение атрибута А связано только с одним значением атрибута В. (Причем каждый из атрибутов А и В может состоять из одного или нескольких атрибутов.)

Функциональная зависимость является смысловым (или семантическим) свойст­вом атрибутов отношения. Семантика отношения указывает, как его атрибуты могут быть связаны друг с другом, а также определяет функциональные зависимости меж­ду атрибутами в виде ограничений, наложенных на некоторые атрибуты.

Зависимость между атрибу­тами А и В можно схематически представить в виде диаграммы, показанной на рисунке 5.

Детерминант - детерминантом функциональной зависимости называется атрибут или группа атрибутов, расположенная на диаграмме функциональ­ной зависимости слева от символа стрелки.

Рисунок 5 - Диаграмма функциональной за­висимости

При наличии функциональной зависимости атрибут или группа атрибутов, распо­ложенная на ее диаграмме слева от символа стрелки, называется детерминантом (determinant). Например, на рис. 6.1 атрибут А является детерминантом атрибута В.

Концепция функциональной зависимости является центральным понятием про­цесса нормализации.