Итак, я просматриваю свои заметки и материалы базы данных, пытаясь освежить общие понятия и терминологию для предстоящих интервью. Тем не менее, я застрял в зависимостях, но без потерь. Я искал все и вижу множество уравнений математики, но я ищу простой и простой ответ на английский язык или пример.Сохранение зависимостей
У меня есть контрольная точка от http://www.cs.kent.edu/~jin/DM09Fall/lecture6.ppt, которая иллюстрирует пример, который я не могу полностью понять. Он размещен ниже.
R = (A, B, C)F = {A → B, B → C)
Can be decomposed in two different ways
R1 = (A, B), R2 = (B, C)
Lossless-join decomposition:
R1 ∩ R2 = {B} and B → BC
Dependency preserving
R1 = (A, B), R2 = (A, C)
Lossless-join decomposition:
R1 ∩ R2 = {A} and A → AB
Not dependency preserving (cannot check B -> C without computing R1 ⋈ R2)
Так что я понимаю, что имея → B и B → C означает, что у вас есть «ссылка» друг с другом, в то время как → B и А → C означает, что нет никаких ссылок или связь между B и C .
Так,
ли Lossless-Join разложение означает, что данные в целом по-прежнему без изменений? В обоих сценариях вы все равно можете получить обе данные, верно? Если это не так, пожалуйста, поправьте меня! :)
Каково значение того, что соединение B в C во втором разложении и как это делает его не сохранением зависимостей?
Если A удален, вы просто будете иметь B и C без каких-либо отношений.
Если B удаляется вы до сих пор → C.
Если C удаляется вы еще A → B.
Потому что даже в первом примере вы все равно получите похожие результаты при удалении значений.
Если А будет удален вы все еще имеют отношение B → C.
Если B удаляется вы просто A и C без каких-либо отношений.
Если C удаляется вы будете иметь отношение A → B.
Так или иначе, если вы удалите каждый элемент, который будет по-прежнему иметь два экземпляра отношения и один экземпляр из двух элементов, не имеющих отношения
Мое предположение заключается в том, что при удалении отношения «средний человек» (есть ли для этого термин), B в примере 1 и A в примере 2 состоит в том, что вы все еще можете связать пример 1 A → B, затем B → C, а в примере 2 вы застряли с A → B без подключения к A → C.
Но, как вы можете видеть, я вернусь к первому вопросу о том, почему это приводит к зависящей от данных зависимости и при поиске в googling «что такое зависимость данных» или «примеры зависимости данных», это просто не имеет никакого смысла для меня.
Если бы кто-нибудь мог помочь прояснить это для меня, будем признательны.
FD не имеют ничего общего с «ссылками» или «ссылками». A → B выполняется в отношении, когда все вхождения каждого заданного значения для A отображаются с тем же значением для B. Прочитайте определение. – philipxy