Com a aplicação das formas normais (até a 3 FN) o resultado ...

Próximas questões
Com base no mesmo assunto
Q80263 Banco de Dados
Considere um formulário eletrônico de pedidos onde
conste o código e o nome do cliente que faz o pedido;
o número e a data do pedido; e a lista de produtos
pedidos contendo o código do produto, o nome do produto,
a quantidade pedida do produto e o valor unitário do
produto. Todos os dados serão persistidos em um SGBD
relacional, com exceção dos totais. Todos os códigos são
identificadores únicos.

Com a aplicação das formas normais (até a 3 FN) o resultado será a existência de, APENAS,
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: C - 4 tabelas.

Para resolver esta questão, é necessário conhecer as formas normais no contexto de banco de dados relacionais. A normalização é um processo utilizado para minimizar a redundância e dependência em um banco de dados. O objetivo é estruturar o banco de dados de forma a reduzir a repetição de dados e garantir a integridade das informações.

Aplicando as formas normais até a 3ª forma normal (3FN), chegamos à seguinte organização:

  • 1ª Tabela - Clientes: armazena os dados dos clientes (código e nome do cliente). A identificação única é garantida pelo código do cliente.
  • 2ª Tabela - Pedidos: contém informações sobre os pedidos (número, data do pedido e código do cliente). O número do pedido é o identificador único, e há uma chave estrangeira para o código do cliente, que relaciona esta tabela à tabela de clientes.
  • 3ª Tabela - Produtos: guarda os detalhes dos produtos (código do produto e nome do produto). O código do produto serve como identificador único.
  • 4ª Tabela - Itens do Pedido: registra os itens específicos de cada pedido (código do produto, número do pedido, quantidade pedida e valor unitário). Esta tabela tem uma chave composta formada pelo código do produto e pelo número do pedido, assegurando a relação com as tabelas de Pedidos e Produtos.

Portanto, são necessárias quatro tabelas para atender aos critérios de normalização até a 3FN, eliminando redundâncias e garantindo a integridade referencial. As tabelas se relacionam através de chaves estrangeiras, que são essenciais para a integração dos dados entre elas.

Essa estrutura permite que as informações sejam armazenadas sem redundância de dados, onde cada tabela contém dados apenas sobre uma entidade e suas relações são mantidas por meio de chaves estrangeiras.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Pensei na resposta dessa forma:

CLIENTE
-------------------

Codigo
Nome

PEDIDO
--------------------

Numero
Data

ITEM_PEDIDO
--------------------

Codigo
Codigo_Produto
Qtd_pedida

Produto
-------------------

Codigo
Nome
Valor_Unit.

Tabelas: Produtos, Pedido, Itens do Pedido, Cliente

"(...) pedidos onde conste o código e o nome do cliente que faz o pedido; o número e a data do pedido"

"(...) e a lista de produtos pedidos contendo o código do produto, o nome do produto, a quantidade pedida do produto e o valor unitário do produto"

Um possível esquema desnormalizado seria esse:

Pedidos ( num_pedido, data_pedido, cod_cliente, nome_cliente , Produto(cod_produto, nome_produto, quantidade, valor_unitario) )

Note que nome_cliente não depende da chave primária num_pedido, mas está sendo determinado por cod_cliente.

Para ficar na terceira forma normal temos que criar a tabela Cliente de forma que nome_cliente seja determinado por cod_cliente.


Clientes ( cod_cliente, nome_cliente ) (1)

Agora temos que nos livrar do grupo de repetição para que a tabela Pedidos fique na primeira forma normal:

Pedidos ( num_pedido, data_pedido, cod_cliente, Produtos(cod_produto, nome_produto, quantidade, valor_unitario)  )

Resulta em:

Pedidos ( num_pedido, data_pedido, cod_cliente ) (2)

Produtos(cod_produto, nome_produto,  valor_unitario)  (3)

E por fim, uma tabela para mapear muitos para muitos entre Pedidos e Produtos.

Pedidos_tem_Produtos ( num_pedido, num_produto, quantidade ) (4)
a pergunta esta mal formulada

Por favor, gostaria de ajuda nessa questão.

Onde o seguinte esquema falha na 3a forma normal? Claramente o esquema não é muito bom e vai gerar redundâncias, mas onde fera a 3 FN?

Clientes ( cod_cliente, nome_cliente )

Produtos (cod_produto, nome_produto,  valor_unitario)

Pedidos ( num_pedido, data_pedido, cod_cliente, prod, quantidade )

Clique para visualizar este comentário

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