2013-10-02 4 views
0

У меня возникла проблема с проблемой проектирования базы данных, связанной с функциональными зависимостями.Не знаете, как проверить, есть ли функциональная зависимость в F +

Вот отношение схемы RI я использую вместе с ним это набор функциональных зависимостей F:

R = (A, B, C, D, E, F, G) 
F = {A->BC, CD->AB, EF->AD, B->AEF} 

Моя цель состоит в том, чтобы проверить, проверить, является ли или нет Де-> AC может быть получена из F, а именно, если он находится в F + (закрытие F) или нет.

Я понимаю аксиомы Армстронга (в основном алгебраические операции, которые можно выполнять на функциональных зависимостях, чтобы манипулировать ими в истинное утверждение для R и F) рефлексивности, увеличения, транзитивности, объединения, декомпозиции и psuedotransitivity, но я я не уверен, что я применяю их правильно, чтобы добраться до точки, где у меня есть твердый ответ «да» или «нет» относительно того, включен ли DE-> AC в F +.

Я возиться с ДЕФОРМАЦИЕЙ> AC и это, где я получил до сих пор:

Given: A->BC 
Given: CD->AB 
    Therefore: CD->A and CD->B 
From there I deduced that CD->BC by the transitivity rule. 
I then canceled out the C's on both sides: 
    D->B 
After that I augmented E's on both sides: 
    DE->BE 
By decomposition, I now have: 
    DE->B and DE->E, of which DE->B will be what I want to work with to try to make the right-hand-side AC. 

теперь у меня есть соответствующая ЛЕВОСТОРОННИМ сторона этой функциональной зависимости, но я не уверен, что делать дальше, чтобы сделать правую сторону эквивалентной AC.

Может ли кто-нибудь из вас увидеть, чего я могу потерять, с точки зрения того, что делать дальше?

Большое спасибо за помощь!

ответ

1

Выполните DE-> BE и B-> AEF, чтобы получить DE-> ABDEF.

Теперь продолжайте работу с A-> BC и т. Д. До тех пор, пока у вас не будет атрибута, установленного на RHS, который является надмножеством AC.

 Смежные вопросы

  • Нет связанных вопросов^_^