1
resposta

TABELA ORIGINADA DE RELACIONAMENTO TEM OU NÃO CHAVE PRIMÁRIA?

No exemplo a seguir ele mostra como se deve gerar uma relação para o relacionamento de cardinalidade N:M. Resulta que as chaves primárias das entidades participantes, combinadas, serão a chave primária da relação. Porém nessa aula ele termina considerando que a tabela ITENS_PEDIDO não tem chave primária. Estou confusa. Para mim fez mais sentido que não tenha mesmo chave primária e assim as chaves vindas das entidades participantes são foreign keys. O que é correto? Ou eu estou confundindo os contextos?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá Andressa, tudo bem?

Uma tabela originada de um relacionamento por si só não tem atributos para ser uma chave primária, por este motivo, falamos que uma tabela originada de um relacionamento não possui chave primária. Porém, as chaves estrangeiras vindas das tabelas participantes juntas, podem formar a chave primária desta tabela.

Vamos utilizar o exemplo da aula:

Por si só, a tabela Itens_pedido, que foi originada de um relacionamento, não tem atributos para formar uma chave primária, o seus atributos são, QTD_PEDIDO e VALOR_ITEM_PEDIDO.

IA tabela itens pedidos, como os atributos QTD PEDIDO e VALOR ITEM PEDIDO

Porém, a tabela Itens_pedido tem relação com a tabela pedido e com a tabela livro. Assim, a tabela Itens_pedido recebe as chaves primárias das duas outras tabelas, que serão chaves estrangeiras:

A tabela itens pedidos, como os atributos QTD PEDIDO, VALOR ITEM PEDIDO, COD LIVRO e NUM PEDIDO

Os atributos que formam a chave estrangeira também podem formar a chave primária, neste caso, como a tabela Itens_pedido não tem um atributo chave, podemos juntar os dois atributos vindos das outras entidades e formar a chave primária da tabela Itens_pedido.

Espero ter ajudado e bons estudos!