Duvida criar base de dados - MySQL - Portugal-a-Programar
Duvida criar base de dados
By ferreiraedgar, January 4, 2014 in MySQL
ferreiraedgar 1
Começo por dizer que sou um programador iniciante, e sem nenhuma experiência em mysql, mas tenho de fazer um trabalho e surgiu uma duvida logo no inicio. Passo a explicar:
Tenho de criar um programa que guarde numa base de dados em mysql utilizadores e para cada um desses utilizadores (nesse caso vendedores) as vendas de um respectivo artigo no respectivo dia. Isto é tenho de saber o valor das vendas todos os dias e guardar toda essa informação.
Comecei por criar uma tabela para os utilizadores com o nome, mail, pass etc..... Mas agora não sei como guardar as vendas dos artigos.
Convém teres uma tabela Artigo e teres uma de Vendas.
A minha duvida é como ligar isso a cada utilizador, como é que guardo no utilizador quantas vendas fez e qual o valor das mesmas para todos os dias?
Peço desculpa peça ignorância mas mysql é zero mesmo....
idVenda
idVendedor-- ao fazeres isto estas associar um vendedor a uma venda
Podes e Deves completar mais as tabelas...
Agora para ti uma venda só tem um artigo ou pode ter mais de que um artigo.
Tens de pensar nisto pois vai afectar as tuas tabelas da base dados, primeiro define o teu negocio e depois defines as tabelas
Vou-me explicar melhor, Neste caso cada venda tem mais do que um artigo, sendo que cada vendedor só tem uma venda por dia (por data).
Tabelas existentes:
Agora segundo a tua sugestão:
idUtilizador
idArtigo	--------------suponho que tenha de existir para saber qual o artigo que foi vendido na venda em questão certo?
Cada vez que um vendedor regista uma venda é criado uma linha na tabela Vendas que será associada a um vendedor e a um artigo certo?
Mais uma vez grato pela disponibilidade.
Edited January 4, 2014 by ferreiraedgar
Convém teres mais uma tabela se uma venda é constituída por mais de que um artigo.
Artigo_Venda
O resto acho que já percebi, agora essa nova tabela não percebo onde se encaixa......
Se uma venda tem mais de que um artigo tens de saber quais os artigos que estão numa da venda.
Para isso precisas de mais uma tabela que te dê a informação idVenda e IdArtigo
Tu na tabela utilizador não podes ter idvenda mas sim ao contrario. na Venda tens idUtilizador
Edited January 4, 2014 by AJBM
EDIT : Já agora os atributos que surgem neste esquema como por exemplo "venda_idvenda INT" está na tabela correcta? Com isto quero dizer, é o utilizador que guarda o ID da venda ou a venda guarda o ID do utilizador?
Acho que já está respondido em cima.
novo esquema:
Mais uma vez grato pela paciência.
Edited January 5, 2014 by ferreiraedgar
Venda e Artigo tem uma relação de muitos para muitos isto é uma Venda pode ter mais de que um artigo e um artigo pode aparecer em mais de que uma venda, desta associação nasce a tabela Venda_Artigo.
Venda_Artigo vai receber da a chave primaria de Venda e de Artigo sendo que estas vão formar a chave primaria, chave composta.
Isto é não vais ter na tabela Venda_Artigo idVendaArtigo como chave primaria mas sim idVenda e idArtigo.
Em artigo não tens idVenda.
Podes ter mais um atributo em Artigo e Venda_Artigo quantidade.
Conselho estuda, tipos de associações que existem entre entidades, normalização, desenho conceptual desenho lógico ...
marciojpisidro 1
deixem só deitar um pouco de confusão...
eu não faço chaves estrangeiras nem o raio.
para dizer a verdade as tabelas são isoladas todas umas das outras. o resto é igual mas sem relações criadas.
o insert é que vai mandar tudo
esta entrada é suposto afirmar que não sabes fazer bases de dados relacionais ou terá outro tipo de intento ?
Desde já agradeço a ajuda que me deram.
Depois de estudar já comecei o trabalho. Estou a programar em C#, mas agora surgiu uma duvida.... Quando quero inserir uma venda (leia-se tabelas venda_artigo e venda) qual a stringcommand a usar para inserir a data, valor, id's etc....