Fórum Especialização SQL Server #603806
20/07/2019
0
Pessoal preciso especializar a tabela Cliente em Pessoa Física e Jurídica, fiz isso:
Não sei se esta certo e nesse caso como eu faria para usar o insert e o select nas tabelas, por exemplo "como faço para inserir um Cliente Pessoa Física?"
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | create table tb_cliente( cod_cliente int not null identity, email_cliente VARCHAR (100) not null , constraint tb_cliente_PK primary key (cod_cliente) ) go create table tb_cliente_fisico( nome_fisico varchar (15) not null , rg_fisico varchar (12) not null , cpf_fisico char (11) not null , datanasc_fisico datetime not null , cod_cliente int not null identity, constraint tb_cliente_fisico_PK primary key (cod_cliente), constraint tb_cliente_tb_cliente_fisico_FK foreign key (cod_cliente) references tb_cliente (cod_cliente) ) go create table tb_cliente_juridico( nome_fantasia varchar (40) not null , razao_social varchar (20) not null , cod_cliente int not null , cnpj char (14) not null constraint tb_cliente_juridico_PK primary key (cod_cliente), constraint tb_cliente_tb_cliente_juridico_FK foreign key (cod_cliente) references tb_cliente (cod_cliente) ) |
Não sei se esta certo e nesse caso como eu faria para usar o insert e o select nas tabelas, por exemplo "como faço para inserir um Cliente Pessoa Física?"

Arthur Nascimento
Curtir tópico
+ 0
Responder
Post mais votado
22/07/2019
Boa noite, tudo bem?
Acho que o correto é remover estas duas tabelas tb_cliente_juridico, tb_cliente_fisico e passar tudo para a tabela tb_cliente
create table tb_cliente(
cod_cliente int not null identity,
email_cliente VARCHAR(100) not null,
nome_fantasia varchar(40) not null,
razao_social varchar(20) not null,
cpfcnpj char(14) not null,
datanasc datetime,
rg_ie int,
constraint tb_cliente_PK primary key (cod_cliente)
)
go
Atualmente trabalho convertendo banco de dados e vejo que muitos vem assim, de fato bem "generalizado", o que você poderia fazer é passar os dados de contato para outra tabela, referenciando apenas o codigo, mas se de fato está certo, não sei te responder...
Acho que o correto é remover estas duas tabelas tb_cliente_juridico, tb_cliente_fisico e passar tudo para a tabela tb_cliente
create table tb_cliente(
cod_cliente int not null identity,
email_cliente VARCHAR(100) not null,
nome_fantasia varchar(40) not null,
razao_social varchar(20) not null,
cpfcnpj char(14) not null,
datanasc datetime,
rg_ie int,
constraint tb_cliente_PK primary key (cod_cliente)
)
go
Atualmente trabalho convertendo banco de dados e vejo que muitos vem assim, de fato bem "generalizado", o que você poderia fazer é passar os dados de contato para outra tabela, referenciando apenas o codigo, mas se de fato está certo, não sei te responder...
Igor Ferreira

Responder
Gostei + 1
Clique aqui para fazer login e interagir na Comunidade :)