Ir para o conteúdo
softklin

Ajuda com formas normais numa relação

Mensagens Recomendadas

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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.