RELACIONAMENTO ENTRE TABELAS SQL SERVER MANAGEMENT
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;
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
Curtidas 0
Respostas
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..,
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
11/07/2014
Vc fala em criar uma tabela TIPOPESSOA (COD_TIPO, DECRICAO)? COMO FICARIA?
GOSTEI 0
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
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.
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
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);
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
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.
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
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
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.
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
11/07/2014
Não conseguir entender o que você esta precisando!
GOSTEI 0
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);
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