Preciso inserir um pedido com mais de um código de produto.

SQL Server

Delphi

Banco de Dados

15/12/2022

Bom dia.

Meu primeiro post aqui, não sei se fiz certo.

Acabei de entrar como estagiario numa empresa e me passaram uma prova pra fazer em que eu preciso criar um sistema de inclusão de pedidos.
O programa é bem simples, foi feito na linguagem Pascal/Delphi e o banco de dados no SQL Server 2019.

Minha dúvida é, preciso incluir um pedido com mais de um item, sendo que no banco de dados tem os seguintes campos:
PK: Cod_Pedido int not null,
Cod_Produto varchar(20) not null,
Qtd_Item decimal(18,2) not null,
Valor_Item decimal(18,2) not null,
O banco de dados em tese aceita um Cod_Produto por linha e não posso usar uma nova linha pois a coluna Cod_Pedido não permite resultados iguais(PRIMARY KEY),
como posso incluir mais um item no mesmo pedido ?
Pedro Sodré

Pedro Sodré

Curtidas 0

Melhor post

Emerson Nascimento

Emerson Nascimento

15/12/2022

impossível.
a PK deveria ser Cod_Pedido + Cod_Produto, para permitir vários produtos no pedido (mas não permitiria repetir um produto no pedido).

ou criar 2 tabelas: uma para o pedido e uma para os itens do pedido (normalmente é assim que se faz).
Cabeçalho
PK: Cod_Pedido int not null,
Cod_Cliente varchar(20) not null,
Valor_Pedido decimal(18,2) not null,
Cond_Pagamento varchar(5),
Data_Emissao date not null,
Data_Entrega date,
Cod_Vendedor varchar(5)

Itens
PK: Item_Pedido int not null,
FK: Cod_Pedido int not null (FK de Cabeçalho),
Cod_Produto varchar(20) not null,
Qtd_Item decimal(18,2) not null,
Valor_Item decimal(18,2) not null,
GOSTEI 1

Mais Respostas

Pedro Sodré

Pedro Sodré

15/12/2022

impossível.
a PK deveria ser Cod_Pedido + Cod_Produto, para permitir vários produtos no pedido (mas não permitiria repetir um produto no pedido).

ou criar 2 tabelas: uma para o pedido e uma para os itens do pedido (normalmente é assim que se faz).
Cabeçalho
PK: Cod_Pedido int not null,
Cod_Cliente varchar(20) not null,
Valor_Pedido decimal(18,2) not null,
Cond_Pagamento varchar(5),
Data_Emissao date not null,
Data_Entrega date,
Cod_Vendedor varchar(5)

Itens
PK: Item_Pedido int not null,
FK: Cod_Pedido int not null (FK de Cabeçalho),
Cod_Produto varchar(20) not null,
Qtd_Item decimal(18,2) not null,
Valor_Item decimal(18,2) not null,







Maravilha, era exatamente isso, obrigadissimoo
GOSTEI 0
POSTAR