функциональные зависимости с участием пустого множества

Я пытаюсь понять концепцию пустого набора с FD. Скажи, что у меня есть

R(A,B,C,D)

A-> E
B-> C
B-> D

где E — пустое множество, насколько я понимаю, это тривиальное FD, так как вы не узнаете ничего нового, имея A. Но когда у вас есть

E-> A
B-> C
B-> D

что это значит точно? Это просто «Ничто не подразумевает A», поэтому A может иметь любое значение, которое оно хочет, в пределах определенного домена, или это должно быть значением NULL?


person rex    schedule 28.04.2013    source источник
comment
вы не узнаете ничего нового из того, что A бесполезен. Изучите определение функциональной зависимости: X -> Y, когда, если две строки имеют один и тот же подкортеж X, то они имеют один и тот же подкортеж Y.   -  person philipxy    schedule 21.03.2015


Ответы (1)


Пустое множество обычно записывается как ∅ или {}.

  • A->{} тривиален (поскольку {} является подмножеством A).
  • {}->A не является тривиальным. (кроме случаев, когда A равно {}, поскольку {} является подмножеством каждого множества, а значит, и подмножеством {}).

{}->A означает, что значение A может быть определено без использования какого-либо другого значения, другими словами, значение A должно быть одинаковым для каждого кортежа в R. Это не то же самое, что сказать что A не имеет определителей или что A равно нулю. Если бы не было определителей для A, то A не было бы ограничений и могло бы иметь разные значения в разных кортежах.

Примером зависимости от пустого набора может быть атрибут Sex в отношении Members, который определяет членство в мужском клубе: {}->Sex.

person nvogel    schedule 29.04.2013