1

Кто-нибудь из них подразумевает другое?Разрушение без потерь и сохранение зависимостей

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

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

У меня с трудом принимается/отрицает это. Так что оба они гарантируют друг друга или есть случаи, когда можно достичь другого без другого?

ответ

1

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

Итак, ответ на ваш первый вопрос: no, ни один из них не подразумевает другого.

Однако эти два свойства могут быть «подключены» по следующей основной результат, который дает достаточную (даже если нет необходимости) условие, чтобы установить, если зависимость с сохранением разложения также без потерь:

Пусть ρ = {R (T i, F i)} разложение схемы отношений R (T, F), которая сохраняет зависимости. Если для некоторого j T j является суперключем R (T, F), то разложение ρ без потерь.

На самом деле, это свойство применяется на последнем шаге алгоритма «синтез», которые разлагаются отношение в 3NF: если нет схемы, полученной в предыдущих шагах не содержит суперключа исходного соотношение, а затем добавить новую схему с любым ключом кандидата исходного отношения.

Это гарантирует, что алгоритм создает разложение, которое без потерь и сохраняет зависимости, тогда как, с другой стороны, известно, что алгоритм «анализа» для разложения отношения в BCNF может, в некоторых случаях, потеря функциональных зависимостей.

+0

Для тех, кто почти понимает желтую часть (например, меня), я считаю, что http://stackoverflow.com/a/26816032/2550406 говорит то же самое в сером блоке. Помогло мне понять это намного лучше – lucidbrot

+1

@ lucidbrot, две вещи разные. Серая часть в связанном ответе дает условие, которое необходимо выполнить, если разложение должно быть без потерь. В желтой части вышеприведенного ответа вместо этого я приведу теорему, в которой говорится, что условие должно выполняться для бездекомпрессионного разложения **, когда разложение уже сохраняет зависимости **. И на самом деле вопрос был именно в этом вопросе: «Разрушение без потерь» и «Сохранение зависимостей», в то время как в aswer, что вы связали эти два свойства, не связаны. Таким образом, вы можете видеть, что два ответа касаются разных фактов. – Renzo

+0

oh. Понимаю, спасибо за это. Я не заметил разницы – lucidbrot