Um analista de banco de dados está projetando o esquema de ...

Próximas questões
Com base no mesmo assunto
Q3035480 Banco de Dados
Um analista de banco de dados está projetando o esquema de um novo sistema de gerenciamento de biblioteca. Para representar a relação entre 'Livros' e 'Autores', na qual um livro pode ter vários autores e um autor pode escrever vários livros, qual estrutura de dados o analista deve utilizar?
Alternativas

Comentários

Veja os comentários dos nossos alunos

GABARITO: LETRA B

Falou em relacionamento N:N tem que ter outra tabela associativa.

Questão: O relacionamento entre duas entidades com cardinalidade muitos-para-muitos não pode ser implementado diretamente em um banco de dados relacional convencional, sendo necessário, para tanto, o uso de uma tabela adicional, que armazena chaves estrangeiras das duas entidades que se relacionam.

## A resposta correta é:

**B) Uma tabela de junção entre 'Livros' e 'Autores'.**

### Por que a tabela de junção é a melhor opção?

Uma **tabela de junção** (também conhecida como tabela de relacionamento) é a estrutura de dados mais adequada para representar uma relação muitos-para-muitos em um banco de dados relacional, como a relação entre livros e autores.

**Por que as outras opções não são adequadas:**

* **A) Uma tabela com uma chave estrangeira apontando para si mesma:** Isso criaria uma hierarquia circular, o que não é possível em um modelo relacional.

* **C) Um atributo multivalorado na tabela 'Livros':** Atributos multivalorados violam a primeira forma normal (1FN) da normalização de dados, o que pode levar a inconsistências e redundâncias.

* **D) Um índice único na tabela 'Autores':** Um índice único garante que não haja duplicações em um campo específico, mas não resolve o problema de representar a relação muitos-para-muitos.

### Como funciona a tabela de junção?

A tabela de junção terá duas chaves estrangeiras: uma referenciando a tabela 'Livros' e outra referenciando a tabela 'Autores'. Cada linha dessa tabela representará uma associação entre um livro específico e um autor específico.

**Exemplo:**

| ID | Livro_ID | Autor_ID |

|---|---|---|

| 1 | 101 | 201 |

| 2 | 101 | 202 |

| 3 | 102 | 201 |

Neste exemplo:

* O livro com ID 101 foi escrito pelos autores com IDs 201 e 202.

* O livro com ID 102 foi escrito pelo autor com ID 201.

**Vantagens da tabela de junção:**

* **Normalização:** Adota a primeira forma normal, evitando redundância e inconsistências.

* **Flexibilidade:** Permite adicionar ou remover autores de um livro de forma fácil.

* **Integridade referencial:** As chaves estrangeiras garantem a integridade dos dados, evitando a existência de livros ou autores não relacionados.

**Em resumo:**

A tabela de junção é a estrutura mais eficiente e adequada para representar a relação muitos-para-muitos entre livros e autores em um banco de dados relacional, garantindo a normalização, flexibilidade e integridade dos dados.

Fonte: Gemini

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo