Dúvida relação Base de Dados

Started by fmorais90, May 31, 2008, 05:15:31 PM

Previous topic - Next topic

fmorais90

Boas...
Estou a fazer um programa em VB6 com BD em Access e surgiu aqui uma pequena dúvida..

http://www.hdd.pt/imagens/1288160328.jpg

Na tabela vendas pretendo fazer vendas com um ou mais produtos pelo que não sei se, da forma que tenho, mais do que um produto será permitido...
E, nos produtos, um produto pode dar para várias vendas e para vários orçamentos..
A minha dúvida é mesmo se estas relações estão correctas..

Não sei se me fiz entender bem...

scotty

Não não é permitido. Para ser permitido, teras de fazer mais 1 tabelas que registará as linhas da venda.
Onde ficara nessa tabela:
-idProduto
-quantidade
-preço unid(o preço esta sempre a alterar assim fica registado o preço a que vendeste.)
-idVenda(Vai actuar como chave composta juntamente com o o idProduto, ou podes sempre criar um idLinha)
(pelo menos estes tem de ter)


Na tabela venda ficara apenas:
-idVenda
-idCliente
-idEmpregado
-ValorTotal (soma do valor de todas as linhas)
-idPagamento
-Data

A relaçao entre as duas será  Vendas(1) --->(n)LinhasVenda.
Espero ter ajudado.

E já agora a relação entre LinhasVenda e a tabela dos produtos seria  produtos(1)--->(n)LinhasVenda.

KTachyon

Crias uma entidade fraca entre Vendas e Produtos. Nessa tabela associas o idVenda aos vários idProduto até obteres a lista (convém também colocar as quantidades).

Por exemplo, a venda com id 1 tem os produtos com ids 1, 2 e 3, nesse caso a tabela irá conter:

idVenda  idProduto  Quantidade

1 1  1

1 2  1

1 3  1
My Q4 estimate: Macs: 5.89M; iPods: 4.19M; iPhones: 30.0M; iPads: 18.05M; Revenue: 37.00B; EPS: 9.50
AAPL Q3 result: Macs: 4.02M; iPods: 6.80M; iPhones: 26.0M; iPads: 17.04M; Revenue: 35.02B; EPS: 9.32

scotty

É a mesma coisa que o que eu disse.
Mas aconselhote a gurdares o preço por unidade como eu disse, o preço é uma coisa sempre em mudança.

Teotónio Ricardo

Nesse caso, o idVenda tem de ser único.

fmorais90

Já resolvi.. meti uma tabela no meio da produtos e vendas com o idVenda e o idProduto..
Obrigado!