[RESOLVIDO] tabela de clientes

olá pessoal… bom o caso é o seguinte, estou projetando um banco, estou iniciando o modelo conceitual…

a questão é a seguinte, tenho que cadastrar os clientes, mas a empresa tem clientes PF e PJ, os dados são diferentes, por exemplo, um tem nome o outro razão social e nome fantasia, um é cpf e outro é cnpj, um tem rg e o outro inscrição estadual… além de dados comerciais e etc…

minha duvida é se faço duas tabelas (clientepf e clientepj), por estou confuso para fazer as vendas, quando for selecionar o cliente na venda, vai salvar a venda com o codigo da tabela cliente, mas se as duas tabelas forem com auto increment, vai ficar os clientes com o mesmo código…

alguem me da uma idéia de como fazer com duas tabelas, ou como faço criando só uma…

obrigado a todos

A.pagno,

não sei qual a sua desenvoltura com OO, mas tente abstrair para o mundo real.

Por exemplo: pessoas físicas têm CPF e pessoas jurídicas têm CNPJ. No seu modelo de banco, você pode ter uma entidade chamada PESSOA, e um flag que indica se é PF ou PJ.

Se você fizer clientePF e cliente PJ, posso lhe garantir que vai lhe dar muito mais trabalho de codificar e manipular. Além é claro que você vai estar ‘ferrando’ todos os conceitos relacionais de normalização.

É melhor começar do jeito certo que ter de consertar um monte de coisas depois, já com o sistema rodando.

at.

Cara… faz um tabela de PESSOA… Bem generica e uma flag para saber se é PJ ou PF…

Daí vc faz mais duas tabelas… Uma referente aos campos de PJ e a outra com os campos de PF… e colocando o FK da tabela pessoa…

Abraço !!

Cria uma tabela que tenha apenas os dados iguais para Cliente PF e Cliente PJ.

Depois cria 2 especializacoes dessa tabela, com os dados distintos, no caso CPF/CNPJ, NOME/RAZAO SOCIAL.

ow pessoal… mto obrigado pela dica, então conheço a teoria de OO, o que me indicam a fazer é erança…

no caso serão tres tabelas certo? a pessoa, a PF e a PJ

somente a tabela pessoa vai ter a chave primaria e as outras ficam sem chave primaria?

Então… eu prefiro usar assim mesmo
3 tabelas…
A Tabela pessoa fica com a PK e as outras com o FK de pessoa…

Abraço!!

blz pessoal… estudei estas coisas mas na teoria, estou botando algumas emprática…

bom, só pra me apresentar um pouco (antes tarde do que… mais tarde ainda)

eu fiz sistemas de informação, é mais voltado a analise de sistemas, entao estou vou tomar uma canseira na hora de programar…
estou iniciando o projeto de um sistema aki, sem cliente, mas que se encaixa na empresa que trabalho… depois q fazer este procuro clientes para inplanta-lo, estou fazendo para aprender…

vou fazer aki… qualquer coisa crio outro tópico…

obs… este é o melhor forum q entrei, o pessoal ajuda de verdade… obrigado a todos

Blza caramada… Seja bem vindo…

Agora edita o titulo do seu post e coloca como
[Resolvido]

ok… vou editar

[quote=a.pagno]blz pessoal… estudei estas coisas mas na teoria, estou botando algumas emprática…

bom, só pra me apresentar um pouco (antes tarde do que… mais tarde ainda)

eu fiz sistemas de informação, é mais voltado a analise de sistemas, entao estou vou tomar uma canseira na hora de programar…
estou iniciando o projeto de um sistema aki, sem cliente, mas que se encaixa na empresa que trabalho… depois q fazer este procuro clientes para inplanta-lo, estou fazendo para aprender…

vou fazer aki… qualquer coisa crio outro tópico…

obs… este é o melhor forum q entrei, o pessoal ajuda de verdade… obrigado a todos[/quote]

Fazer sistema é arte…
Procure por ddd, tdd, scrum…
Sou a favor que um sistema não tenha tela de cadastros, só depois da versão 1.0, ou seja, faça o que interessa logo, vá direto ao ponto!

Abrs

obrigdo pela dica lelodois…

qualquer ajuda será mto bem vinda…

obrigado…

vou pensar no que disse