E является функцией от B (зная значение столбца B можно найти значение столбца E), то же самое E является функцией С, значит E является функцией тапла (B,C) Но по-моему это всё ненужная хрень
тут где-то что-то недоговаривается. ABCD → E я трактую как “любая комбинация из атрибутов A,B,C,D определяет E”. но понять подчёркнутую часть тоже не могу.
Ну да, то есть BC -> E и AB -> E. Так как же так выходит, что нельзя написать ABCD -> E?
Утверждение ABCD -> E верно, но мы не можем им summarize the above
rtfm count(M) <> count(distinct M)
A -> BC означает, что по A определяются другие 2 столбца. Это означает, что по A определяется B и по A определяется C, поэтому A -> B, A -> C AB -> C означает, что по комбинации A и B определяется С. Мы не знаем, определяется ли C по одному аттрибуту или нужна именно комбинация 2-ух аттрибутов. Пример: (пользователь, паспортные данные, цвет кожи) (Вася, 1234 12 23, красный) Считаем, что пользователь уникален. Получается, что по пользователю определсяется цвет кожи, так как пользователь уникален. Вася -> красный, а так же по паспортным данным: 1234 12 23 -> красный. отсюда следует, что и по комбинации (Вася, 1234 12 23) -> красный. Пример2: Представьте, что есть рестораны, пицца, которую они производят, и стоимость. ("OOO Вкусно", "баварская", 1234) Тут уже стоимость определяется по комбинации 2-ух полей ("OOO Вкусно", "баварская") -> 1234. Отсюда не следует, что "OOO Вкусно" -> 1234 или "баварская" -> 1234
Обсуждают сегодня