Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
softklin

Ajuda com formas normais numa relação

Recommended Posts

softklin

Está é uma das matérias que mais tenho dificuldade em Base de Dados. Trata-se das formas normais, chaves, dependências funcionais, etc. Tentei aprender por mim próprio, e tentei resolver um exercício, o qual gostava que me dessem algum aconselhamento.

Enunciado:

Considere a relação R(A,B,C,D,E,F), assumindo-a na 1ºFN com as dependências funcionais {AB->DE, D->E}

Se achar necessário, normalize a relação de modo a ficar na FNBC (Boyce Codd).

O que tentei

2ª FN

    R(A,B,C,D,E,F)

    {AB->DE, D->E, ABC->F}

3ª FN

    Já está na 3ª FN, pois os atributos não chave são independentes entre si (não existem dependências entre atributos não chave)

FNBC

    Está na FNBC, pois cada determinante do conjunto de dependências funcionais é super-chave de R

Estará correcta esta minha resolução? Incluindo as justificações?

Cumps.


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
Baderous

Isso não está bem logo na 2ªFN, porque na 2ªFN, todos os atributos não pertencentes a qualquer chave candidata devem depender da totalidade da chave, e tu tens todos os atributos a depender parcialmente da chave.

Tendo em conta que ABC -> F (que não está explícito no enunciado), então decompunhas R nas seguintes relações:

R(A,B,C,F)

R1(A,B,D,E)

em que {ABC->F, AB->DE, D->E}. Agora já se encontra na 2ªFN.

Para colocar na 3ªFN, não devem existir dependências funcionais entre atributos não-chave. No entanto D->E, logo temos de decompor a relação R1 em duas:

R11(A,B,D)

R12(D,E)

Para estar na BCFN, todos os atributos devem depender funcionalmente da chave, de toda a chave e nada mais do que a chave. Então já se encontra na BCFN. Ficas assim com as seguintes relações:

R(A,B,C,F)

R11(A,B,D)

R12(D,E)

Share this post


Link to post
Share on other sites
softklin

Boas, Baderous, obrigado pela resposta.

No entanto, a relação ABC -> F não consta no enunciado, fui eu que "inventei" ao tentar solucionar o problema. Isso muda muita a solução?


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
softklin

Acho que também cheguei a essa conclusão aqui. Obrigado mais uma vez pela explicação, foi bastante detalhada e explicita! :P


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.