Forum Stats

  • 3,770,464 Users
  • 2,253,118 Discussions
  • 7,875,466 Comments

Discussions

Duvida Sobre Tabela Constraints de Muitos para Muitos

2641682
2641682 Member Posts: 2
edited May 9, 2017 3:32PM in SQL and PL/SQL (Portuguese)

Bom dia, Pessoal.

Tenho a seguinte duvida.

Quando você tem uma tabela de muitos para muitos e parte das constraints das 2 FK contem o mesmo campo que é referencia a uma terceira tabela.

Por exemplo:

Tempos uma tabela cupom e uma tabela de documento financeiro. Para unir as 2 tenho uma tabela cupom_documento.

Nesta tabela cupom_documento tenho uma fk com empresa, filial, ecf e sequencial do cupom.

e nesta mesma tabela tenho uma fk com documento que contem empresa, filial, sequencial do documento.

Empresa, filia estão nas 2 fk's

Minha duvida é em questão de performance e índice por fk é mais performático que não tenha o mesmo campo como fk para esta tabela.

Obs: Esta empresa e filiais são tabelas que referencia usada sem quase todas as tabelas..

Jonas B.

xandi_praxedes-JavaNetmarcioes7f8ab77a-f747-4f48-9b72-5aeb197016fc

Best Answer

  • caadecarvalho
    caadecarvalho Member Posts: 412
    edited Jan 2, 2015 8:57PM Accepted Answer

    Olá, Jonas B.

    Quanto mais seletivo é o índice, melhor será a sua performance. Seletividade é a quantidade de valores distintos que uma coluna pode ter. Para o seu cenário, tente não construir uma grande PK (composta pelas FKs das tabelas cupom e documento) na tabela cupom_documento. Lembre-se que quanto menor for a busca/varredura pela chave no íncide, melhor será sua performance.

    Abraços.

    caadecarvalho

    xandi_praxedes-JavaNetmarcioes

Answers

  • Karthick2003
    Karthick2003 Member Posts: 13,711 Bronze Badge

    In English please!!

    (Em Inglês, por favor)

  • 2641682
    2641682 Member Posts: 2

    I changed the place of discussion for the Portuguese.

    It's my first time here.

    Forgiveness and thank you.

  • Karthick2003
    Karthick2003 Member Posts: 13,711 Bronze Badge

    I would suggest you try it out in English. As the number of participants is much larger in English. And you will be getting better response.

    7f8ab77a-f747-4f48-9b72-5aeb197016fc
  • caadecarvalho
    caadecarvalho Member Posts: 412
    edited Jan 2, 2015 8:57PM Accepted Answer

    Olá, Jonas B.

    Quanto mais seletivo é o índice, melhor será a sua performance. Seletividade é a quantidade de valores distintos que uma coluna pode ter. Para o seu cenário, tente não construir uma grande PK (composta pelas FKs das tabelas cupom e documento) na tabela cupom_documento. Lembre-se que quanto menor for a busca/varredura pela chave no íncide, melhor será sua performance.

    Abraços.

    caadecarvalho

    xandi_praxedes-JavaNetmarcioes
  • Ever Santoro
    Ever Santoro Member Posts: 10
    edited May 9, 2017 3:25PM

    Bom, apenas complementando, sim o indice mais seletivo é mais performático, porém não podemos confundir, as FKs tem a função de validação através das constraints e os indices referem-se a performance, um deve ser utilizado para garantir os dados corretos e outro para performar a consulta.

  • Tércio Costa
    Tércio Costa Member Posts: 61
    edited May 9, 2017 3:32PM

    Ever, isso aqui é um post de 2014 já respondido, não devemos ficar postando assim. Por favor, verifique posts ainda não respondidos recentes.

    Essa parte em português quase não tem posts, então fique verificando em inglês mesmo que tem movimento todos os dias lá. Assim você poderá contribuir bastante lá.