Pular para o conteúdo
Visualizando 6 posts - 1 até 6 (de 6 do total)
  • Autor
    Posts
  • #79967
    Adenilton
    Participante

      Olá pessoal,

      Tenho o seguinte problema:

      TABELA_A – COD_A
      TABELA_B – COD_A e COD_B (Essa tabela é filha da TABELA_A)
      TABELA_GRUPO – COD_GRUPO

      E tabela associativa:
      TABELA_ASSOC – COD_A(NOT NULL), COD_B(NULL) e COD_GRUPO(NOT NULL)

      Regras:
      1. Eu posso ter TABELA_A em vários grupos, porém os grupos não podem se repetir.
      2. Se não existir grupo para a TABELA_A – que é a pai da TABELA_B -, eu posso ter TABELA_B em vários grupos, porém os grupos não podem se repetir.
      3. Caso já exista TABELA_A em TABELA_ASSOC eu não posso inserir TABELA_B em TABELA_ASSOC, pois a TABELA_B herda o grupo da TABELA_A (pai).

      * Problema (N:M S/ REPETICAO):
      Primeira coluna = TABELA_A
      Segunda coluna = TABELA_B
      Terceira coluna = TABELA_GRUPO

      Cenário – Incluindo em TABELA_ASSOC:

      TABELA_ASSOC :
      | 1 | x | 1 | – PERMITIDO
      | 1 | x | 1 | – NAO PERMITIDO (JÁ EXISTE ESTE GRUPO PARA TABELA_A)
      | 1 | x | 2 | – PERMITIDO
      | 1 | 1 | 1 | – NAO PERMITIDO (JÁ EXISTE ESTE GRUPO PARA TABELA_A)
      | 1 | 2 | 2 | – NAO PERMITIDO (JÁ EXISTE ESTE GRUPO PARA TABELA_A)
      | 1 | 1 | 3 | – PERMITIDO
      | 1 | 1 | 3 | – NAO PERMITIDO (JÁ EXISTE ESTE GRUPO PARA TABELA_B)
      | 1 | x | 3 | – NAO PERMITIDO (JÁ EXISTE ESTE GRUPO PARA TABELA_B)

      Onde x = NULL

      Criei a TABELA_ASSOC com FK de todas as outras tabelas, mas acontece que não valida a inclusão e ocorre repetição.

      Como posso solucionar esse problema em TABELA_ASSOC ??????

      #79968
      Adenilton
      Participante

        Acrescentando:

        Já tentei Constraints, Uniques e Checks. Mas, não obtive sucesso!

        #79973
        Anônimo

          Olhando seu exemplo fiquei com a impressão de que uma constraint unique contendo a primeira e a última colunas resolveria o caso.

          #79974
          DanielB
          Participante

            lo mejor va a ser validar mediante un trigger de la BD

            #79981
            Adenilton
            Participante

              tommahawk já tentei Uniques. Mas a regra entra em conflito com uniques!

              DanielB pensei em Trigger antes, mas queria saber se teria uma solução sem Trigger. Se existe como solucionar através de uma boa modelagem, por exemplo !?!?!

              Valewsss galera……..

              #79985
              DanielB
              Participante

                si no entendi mal, estoy de acuerdo con tommahawk
                la primary de A es cod_A
                la primary de B es cod_A, cod_B con una foreign key de la tabla B a la A
                (cod_A a cod_A)

                la tabla Grupo tiene clave cod_G

                y la tabla asociativa

                tiene como primary cod_A, cod_G
                no entiendo donde falla esa solucion

              Visualizando 6 posts - 1 até 6 (de 6 do total)
              • Você deve fazer login para responder a este tópico.