Duvida em Tabelas

03/04/2014

Olá.

Estou fazendo uma Base de Dados para guardar as Compras em uma Loja.
Um Cliente tem associado uma Ficha de Cliente com os seus dados.
Nessa Ficha são adicionadas todas as compras que esse Cliente faz, bem como outras informações sobre os interesses do Cliente.
Para cada Compra é especificado o Vendedor que atendeu o Cliente.

Devo criar as tabelas: Cliente, FichaCliente, Compra, Vendedor?

Criando as relações:
Cliente com FichaCliente.
FichaCliente com Compra.
Compra com Vendedor

Tenho ainda outra dúvida.
Cada Funcionário da loja deve fazer Login no sistema de vendas, mas cada funcionário tem permissão especifica para aceder aos dados, dependendo do seu tipo de cargo.

Pensei em criar a tabela Login com os atributos Login, Pass e TipoFunc.
TipoFunc é para distinguir os funcionários, para saber qual a sua permissão.
Mas como é que a partir posso controlar esse acesso?

Maria Araújo

Respostas

04/04/2014

Roniere Almeida

fiquei sem entender essa "Ficha do Cliente", ja que o mesmo pega os dados do cliente.

sobre o login, pra mim está certo.
Responder Citar

05/04/2014

Maria Araújo

Eu imaginei uma Ficha de Cliente normal, em papel.
Do tipo, quando vamos ao médico pela 1ª vez é preenchida uma ficha para cada Pessoa.
Nessa ficha, além dos dados pessoais tem ainda a lista de todas as consultas desse paciente, os medicamentos que ele toma, etc.
A minha Ficha de Cliente de uma loja acaba por funcionar do mesmo jeito que a ficha de paciente.

Em relação ao Login, depois de alguem ter feito Login eu sei seu qual a sua função.
Para que um determinado User não possa ver certa informação devo criar Views para esse tipo de User?
E como faço para que não possa alterar informação na BD?

Obrigado
Responder Citar

05/04/2014

Fabiano Carvalho

O tipo de acesso você pode criar uma classe com atributo estático (ficara salvo na memória) e toda vez que for mudar de form, verificar se ele possui essa permissão ou não.
Ao meu ver é necessário criar as tabelas: Vendedor, Cliente, FichaCliente, Compra e estoque (Se tiver.)
Responder Citar

06/04/2014

Maria Araújo

Eu concordo com as tabelas: Cliente, Ficha de Cliente, Vendedor, Compra.
Mas não fica muito dificil criar uma Procedure para inserir uma nova Compra à Ficha de Cliente?
Pois quando insiro uma nova Compra devo ter presente o cod_Cliente.
Passo esse cod_Cliente como parametro da Procedure e depois seleciono a Ficha de Cliente a partir desse codigo?
Responder Citar

06/04/2014

Marisiana

Olá pessoal!
Maria, você já tem o modelo ER definido?
Quais são as tabelas que constam nele?
Eu acho que ficou um pouco confuso pra te ajudar a sanar essas dúvidas, se vc postar a modelagem ou a estrutura das tabelas nos ajudaria a te ajudar.
Não precisa colocar todos os atributos, apenas a representação das ligações entre as tabelas (chaves estrangeiras e primárias).
Responder Citar

06/04/2014

Marisiana

Eu fiquei com a mesma dúvida do Roniere, não entendi o porque da tabela FichaCliente....
No meu ponto de vista, através do que falastes, você teria que ter as seguintes tabelas:

CLIENTE : contendo o cadastro de todas as informações pessoais do cliente.
VENDEDOR/FUNCIONARIO: contendo as informações (cadastro) dos vendedores e funcionários bem como as informações de login e senha de acesso ao sistema.
INTERESSES: contendo as informações de interesses do cliente para identificar, por exemplo, o tipo de compra.
MOVIMENTOS_COMPRAS: contendo as informações de compras ou movimentações realizadas e também terá chaves estrangeiras para identificar o cliente, o funcionário e o interesse.
Responder Citar

06/04/2014

Maria Araújo

Aqui esta. o IdFicha é o mesmo que o IdCliente, dai IdCompra estar associado ao IdCliente
[img]http://arquivo.devmedia.com.br/forum/imagem/365783-20140406-163012.png[/img]
Responder Citar

06/04/2014

Ricardo

E a tabela de produtos? outra coisa é quem uma compra(venda) pode ter muitos produtos, e nesse caso tem uma relação N para N já que o produto pode fazer parte de várias vendas. Então ainda teria que criar uma tabela temporária para manter a relação entre compra e produtos.
Responder Citar

07/04/2014

Maria Araújo

Ricardo, essa parte não coloquei, pois a minha duvida é mesmo na parte da Ficha de Cliente.
Não sei se fica confuso colocar essa tabela ou a deva remover e Cliente relacionar Compras, Questionário.
Responder Citar

07/04/2014

Ricardo

Ricardo, essa parte não coloquei, pois a minha duvida é mesmo na parte da Ficha de Cliente. Não sei se fica confuso colocar essa tabela ou a deva remover e Cliente relacionar Compras, Questionário.



Eu não entendi qual a dúvida em relação ao cliente.
Responder Citar

07/04/2014

Roniere Almeida

Maria, desculpa a demora e obrigado pelo retorno, acredito que essa parte de usuarios, no proprio banco, tem como restringir.
Responder Citar

07/04/2014

Maria Araújo

A dúvida é se devo incluir na Base de Dados a tabela Ficha de Cliente.

Cada Cliente tem a si associado uma única ficha, e uma determinada ficha é especifica para um determinado cliente.

A relação Ficha de Cliente -> Cliente é uma relação 1:1.

Se assim fizer, associo à Ficha de Cliente as Compras, o Questionário.

Devo fazer deste modo ou eliminar a tabela Ficha de Cliente e relacionar à tabela Cliente as suas Compras, Questionário.

A minha dúvida é somente esta, pois não sei até que ponto uma será melhor do que a outra, nomeadamente à inserção de valores nas tabelas.
Responder Citar

07/04/2014

Marisiana

Não vejo necessidade de vc ter essa tabela FICHACLIENTE, acredito que nem seja correto tê-la.
Exclui essa tabela e liga a tabela QUESTIONARIO a tabela COMPRA.
Assim, você manterá o cadastro do cliente na tabela CLIENTE e na tabela compra você terá as compras que ele fez.
A tabela QUESTIONARIO vc utilizará para realizar os cadastros de questionários, pois um questionário pode estar associado à várias compras realizadas por clientes diferentes.
Responder Citar

07/04/2014

Roniere Almeida

pensando bem Marisiana, esse é o caminho mesmo, pq essa tabela seria praticamente uma copia da tabela clientes.
Responder Citar

07/04/2014

Ricardo

Então Maria é como os nossos colegas disseram. A tabela ficha cliente é desnecessária, ela seria uma "cópia" da tabela clientes, e em relação a cardinalidade ficaria bagunçado. Basta você imaginar que cada registro da tabela cliente é uma "ficha", talvez assim fique mais fácil a sua compreensão.

No caso você faria um formulário que vai ser a ficha do seu cliente, e nesse formulário você carrega as informações de todas as tabelas que você precisa.
Responder Citar