Chave estrangeira e Campos extras:
Como Tornar os campos extras (vindos através da chave estrangeira) Físico
eu quero que eles tornen-se fisicos dentro da tabela é possível?
Chave estrangeira e Campos extras
-
- Mensagens: 98
- Registrado em: Abril 5th, 2011, 2:35 pm [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
Re: Chave estrangeira e Campos extras
Bom dia wkarts,
Não é possível, até por que isso foge totalmente da normatização de banco de dados. A finalidade da chave estrangeira é justamente evitar a redundância de dados. Imagine uma tabela exclusiva para gravar os dados do seu cliente como código, nome, endereço, documentação, etc... Aí você possui uma tabela de vendas, aonde devemos gravar os dados do cliente e outros dados, mas ai você tem que informar tudo novamente - código, nome, endereço, documentação. Se por exemplo, o seu cliente mudar de endereço, tem-se que desenvolver um rotina pra sair atualizando esses dados em tudo quanto é tabela que tenha o endereço do cliente.
Se caso realmente você necessite de ter estes campos "extras" na sua tabela, crie eles de forma normal, e use um "ptabela" para atualizá-los.
var
CamposResultado: Variant;
begin
if Ptabela(TabGlobal.Dclientes, ['CLI_CODIGO'], [TabGlobal.Dvendas.CLI_CODIGO.Conteudo], ['CLI_NOME', 'CLI_ENDERECO'], CamposResultado) then
begin
Nome.Value := CamposResultado[0];
Endereco.Value := CamposResultado[1];
end;
end;
Não é possível, até por que isso foge totalmente da normatização de banco de dados. A finalidade da chave estrangeira é justamente evitar a redundância de dados. Imagine uma tabela exclusiva para gravar os dados do seu cliente como código, nome, endereço, documentação, etc... Aí você possui uma tabela de vendas, aonde devemos gravar os dados do cliente e outros dados, mas ai você tem que informar tudo novamente - código, nome, endereço, documentação. Se por exemplo, o seu cliente mudar de endereço, tem-se que desenvolver um rotina pra sair atualizando esses dados em tudo quanto é tabela que tenha o endereço do cliente.
Se caso realmente você necessite de ter estes campos "extras" na sua tabela, crie eles de forma normal, e use um "ptabela" para atualizá-los.
var
CamposResultado: Variant;
begin
if Ptabela(TabGlobal.Dclientes, ['CLI_CODIGO'], [TabGlobal.Dvendas.CLI_CODIGO.Conteudo], ['CLI_NOME', 'CLI_ENDERECO'], CamposResultado) then
begin
Nome.Value := CamposResultado[0];
Endereco.Value := CamposResultado[1];
end;
end;
Desenvolvedor
Logus Informática
Formiga - MG
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 11 visitantes