Pessoal, boa noite, Estamos mudando algumas coisas no controle de estoque de nosso ERP, que já está em funcionamento, porém algumas modificações eu quero usar chaves naturais, e estas chaves são compostas.
Aqui demonstro um exemplo simples e fictício, em que a tabela "deposito_produtos" tem uma chave natural. ( Sei que não tem a UF, para colocar junto com a cidade, mas é apenas um exemplo bobo ) CREATE TABLE deposito_produtos( nome VARCHAR( 50 ) NOT NULL, -- nome do deposito cidade VARCHAR( 50 ) NOT NULL, -- cidade onde fica o deposito tamanho_deposito NUMERIC NOT NULL, -- Tamanho do deposito em m² PRIMARY KEY ( nome, cidade ) ); CREATE TABLE produtos( descricao VARCHAR( 50 ) PRIMARY KEY, -- Nome do produto nome_deposito VARCHAR( 50 ), -- Referência da tabela deposito_produtos cidade VARCHAR( 50 ) -- Referência da tabela deposito_produtos ). Minha dúvida é a seguinte: Se eu tivesse usado uma chave artificial na tabela de "deposito_produtos", eu não precisaria exportar duas colunas para a tabela "produtos", apenas a chave artificial. Então eu garantiria unicidade com um UNIQUE CONSTRAINT. Se eu fizer uma consulta de todos os produtos e precisar fazer um JOIN com "deposito_produtos" para saber o tamanho do deposito, o JOIN envolveria 2 colunas de cada tabela. Se fosse uma chave artificial seria apenas uma. Seria justificável o uso de chaves artificiais nestes casos ? Obrigado.
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
