«S (функционально) определяет T» означает, что все появления определенного значения подкортежа для набора атрибутов S имеют одно и то же значение подкортежа для набора атрибутов. T. Если мы говорим, что атрибут X является определяющим или определяемым, то подразумевается, что на самом деле мы имеем в виду, что множество {X} является определяющим/определяемым.
Суперключ — это набор атрибутов, определяющих каждый атрибут. CK (ключ-кандидат) — это суперключ, который не содержит суперключа меньшего размера. СК может быть много. Один CK может быть выбран в качестве PK (первичный ключ). (ПК не играют никакой роли в реляционной теории.)
Поскольку может быть только один PK, странно, что вы говорите о значении отношения или переменной, имеющей более одного. Возможно, вы имеете в виду два CK. Возможно, вы имеете в виду 2-атрибутный ПК.
Бывает, что если каждое значение подкортежа для набора атрибутов встречается только один раз, то это суперключ. (Каждый суперключ с одним атрибутом является CK, если {} не является CK, что происходит, когда отношение ограничено одним кортежем.) Таким образом, он определяет все атрибуты. Но в целом зависимости говорят нам, что такое суперключи и CK.
Таким образом, если каждый из A и B является CK, то каждый из них определяет C и D, т.е. {C} и {D}. И если {A,B} является ПК, то он определяет C и D, т.е. {C} и {D}. Бывает, что если и Т1, и Т2 определяются S, то и Т1 U Т2 тоже. Так или иначе, CK здесь определяют также {C,D}.
PS В английском языке есть двусмысленность, из-за которой неясно, означает ли «и C, и D функционально зависимы», что C является зависимым, а D зависимым или что {C,D} является зависимым. Аналогично для «функционально зависят как от A, так и от B». Так что понятнее сказать «набор ...», а не просто использовать «оба» и / или «и».
person
philipxy
schedule
24.12.2015