Я изучаю СУБД и нормализацию, и я наткнулся на следующее упражнение. Для следующей задачи:
Consider the relation R(b,e,s,t,r,o,n,g) with functional dependencies
b,s -> e,r,o,n
b -> t
b -> g
n -> b
o -> r
(a) identify candidate keys
(b) identify prime attributes
(c) state the highest normal form of this table
Я думаю, что (a) будет {b, s}, поскольку они идентифицируют все атрибуты без избыточности.
(b) также будет {b, s}, поскольку они составляют ключи-кандидаты (a).
(c) будет 1-NF по нескольким причинам. Он не удовлетворяет 2-NF, поскольку существуют частичные зависимости n -> b. Вышеупомянутая функциональная зависимость зависит только от b, а не от s, следовательно, частичная зависимость. Он не удовлетворяет 3-NF, поскольку o -> r указывает, что непростой атрибут зависит от другого непростого атрибута. BCNF не выполняется, так как 3-NF не выполняется.
Наконец, если бы я изменил таблицу до тех пор, пока она не будет в BCNF, разделил бы отношение R на:
R1(b, e, s, r, o, n) with b, s -> e, r, o, n
и
R2(b, t, g) with b -> t and b -> g
, исключая n -> b и o -> r, удовлетворяющие BCNF?
В последней части меня больше всего смущает вопрос об удовлетворении BCNF. Я был бы очень признателен за любую помощь / мысли на всех этапах!