RELACIONAMENTO ENTRE TABELAS SQL SERVER MANAGEMENT

Modelagem

11/07/2014

Olá,,,,,

Tenho uma dúvida em relação a cardinalidade no sqlserver;;; Não consigo criar a relação CASO X PESSOA_FISICA e nem CASO X PESSOA_PJ, agúem me ajude

São 3 tabelas;

USUARIO(COD_USUARIO, NOME, SENHA);--- PRIMARY (COD_USUARIO)
CASO(COD_CASO, COD_USUARIO, NOME_CASO, COD_PF, COD_PJ);------ PRIMARY(COD_CASO);
PESSOA_FISICA (COD_PF, NASC, NOME, RG, CPF);------PRIMARY KEY(COD_PF);
PESSOA_PJ (COD_PJ, NOME, CNPJ, ABERTURA); ------PRIMARY KEY(COD_PJ);

Um usuario pode cadastrar vários casos;
Um caso pode ter 1 ou várias pessoas físicas e 0 ou várias pessoas jurídicas;
Silvane

Silvane

Curtidas 0

Respostas

Isaac Jose

Isaac Jose

11/07/2014

bom dia nao entendi direito..
mais por exemplo por que criar cod_pf e cod_pj . nesses casos eu crio um campo com o nome Tipo e ai atribuo J OU P pois com o campo cpf e cnpj e cnpj ja se consegue o relacionamento..,
GOSTEI 0
Silvane

Silvane

11/07/2014

Vc fala em criar uma tabela TIPOPESSOA (COD_TIPO, DECRICAO)? COMO FICARIA?
GOSTEI 0
Isaac Jose

Isaac Jose

11/07/2014

Vc fala em criar uma tabela TIPOPESSOA (COD_TIPO, DECRICAO)? COMO FICARIA?



nao precisa... se vc tiver uma tabela de cadastro.. acrescente o campo tipo, como char de 2 e atribua pf ou pj
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

11/07/2014

Eu mudaria essa estrutura para conter as seguintes 4 tabelas:

USUÁRIO, CASO, PESSOA e CASO_PESSOA.

Em PESSOA basta colocar um campo para identificar o tipo, como já foi dito acima. Em CASO_PESSOA fica os registros que relacionam CASO com PESSOA, contendo as PKs das duas tabelas.
GOSTEI 0
Silvane

Silvane

11/07/2014

Olá pessoal,,,,

Eu coloquei duas tabelas uma para pessoa física e outra para pessoa jurídica pq os campos relacionados a pessoa física são diferente do pessoa jurídica. Por essa razão eu não sei se é possível criar uma tabela única para PESSOA se os campos relacionados aos tipos de pessoa são diferente.

PESSOA_FISICA (COD_PF, NASC, NOME, RG, CPF);

PESSOA_PJ (COD_PJ, NOME, CNPJ, DATA_ABERTURA);
GOSTEI 0
Alex Lekao

Alex Lekao

11/07/2014

Ola boa tarde!!!

Acredito que ja foi dito antes.

Mas o ideal seria um cadastro unico e ter um campo para identificar o tipo de pessoa fisica ou jurida, e o campo seria por exemplo CPFCNPJ ou CNPJCPF e vc pode utilizar algo de checagem para se o pessoa for F nao aceitar uma quantidade superior a 11 caracteres, acho que eh essa a quantidade e se for juridica sempre ser igual a 14, coisas deste tipo.

Ou esse tratamento ser feito na aplicacao, desta forma a sua normalizacao ficara melhor e tera uma possivel economia de espaco em disco, pequeno mas possivelmente tera. rsrs

Espero ter ajudado.

Abraco.
GOSTEI 0
Silvane

Silvane

11/07/2014

Não acredito que o cadastro tem que ser único. Eu tenho pessoas que pode ser pessoa juridica ou fisica e para cada tipo de pessoa tenho campos de informações diferentes. Por exemplo pessoa fisica possui o campo data de nasc, nome de pai, nome de mãe e pessoa juridica possui os campos (data de abertura, nome).
GOSTEI 0
Alex Lekao

Alex Lekao

11/07/2014

Ola Boa tarde!!

Esse dados que distringuem vc pode usar uma tabela auxiliar com esses dados, assim acredito ainda, que sua normalizacao fique melhor.

A data de nascimento depende de tratativa na aplicacao para usar nascimento ou fundacao, pensando em fisica e juridica, se isso for importante para o caso de juridica, caso contrario o campo preenche com outra data que for mais conveniente.

Abraco.
GOSTEI 0
Ricardo Araujo

Ricardo Araujo

11/07/2014

Não conseguir entender o que você esta precisando!
GOSTEI 0
Isaac Jose

Isaac Jose

11/07/2014

Olá pessoal,,,,

Eu coloquei duas tabelas uma para pessoa física e outra para pessoa jurídica pq os campos relacionados a pessoa física são diferente do pessoa jurídica. Por essa razão eu não sei se é possível criar uma tabela única para PESSOA se os campos relacionados aos tipos de pessoa são diferente.

PESSOA_FISICA (COD_PF, NASC, NOME, RG, CPF);

PESSOA_PJ (COD_PJ, NOME, CNPJ, DATA_ABERTURA);


Vc pode colocar na tabela de cadastro CLIE_PESS_COMPLEMENTO.. para identificar o nome seja Fisico ou juridico. e criar os campo cpf_cnpj -- que é composto pelo corpo de um ou de outro, campo filial , campo controle, e o campo Tipo , PF ou PJ, esses campo que sao nome de parentes ou de empresas filiais ou dados de empresas vc pode colocar em tableas diferentes e colocar nelas os campos PF e PJ para quando precisar fazer o relacionamento e trazer os mesmo. como campo com comparações atraves de letras e mais demorado vc pode atribuir para o campo Tipo 0 para PF e 1 para PF e assim por diante....

espero que auxilie ...

att Isaac
GOSTEI 0
POSTAR