Csharp firebird chave estrangeira
02/10/2014
0
Olá galera!!! estou com algumas dúvidas.
,Meu banco de dados tem 3 tabelas (FIREBIRD). Tabela cliente /chave primaria e as outras duas , cada uma com chave estrangeira apenas.
1) Devo criar chave primaria para as outras duas?
2) Se criar as chaves primarias, devo criar textBox para todas?
3)Meu sistema funciona direitinho sem fazer relacionamento,daí o meu problema , acima!
Valeu ai!!!
,Meu banco de dados tem 3 tabelas (FIREBIRD). Tabela cliente /chave primaria e as outras duas , cada uma com chave estrangeira apenas.
1) Devo criar chave primaria para as outras duas?
2) Se criar as chaves primarias, devo criar textBox para todas?
3)Meu sistema funciona direitinho sem fazer relacionamento,daí o meu problema , acima!
Valeu ai!!!
Nenah Andrade
Curtir tópico
+ 0
Responder
Posts
02/10/2014
Joel Rodrigues
Olá, tudo bem?
Veja só. Seu sistema pode realmente funcionar direitinho sem chaves estrangeiras, isso é perfeitamente possível se você conseguir tratar bem os relacionamentos na aplicação, não deixando brechas para que esses relacionamentos sejam quebrados. Porém, quando se modela um banco de dados, o ideal é que o façamos da melhor forma possível, para evitar que justamente brechas no sistema venham a comprometer nossos dados.
Por exemplo, imagine que você tem uma aplicação comercial onde as vendas devem necessariamente estar ligadas a um cliente já cadastrado através de seu CPF. Se de alguma forma seu sistema permitir que o usuário insira um CPF qualquer, você terá uma quebra de integridade dos seus dados, pois será feita uma venda para um cliente não cadastrado. Se existir uma chave estrangeira, ainda que sua aplicação "falhe", o banco não permitirá que esse erro ocorra.
Veja só. Seu sistema pode realmente funcionar direitinho sem chaves estrangeiras, isso é perfeitamente possível se você conseguir tratar bem os relacionamentos na aplicação, não deixando brechas para que esses relacionamentos sejam quebrados. Porém, quando se modela um banco de dados, o ideal é que o façamos da melhor forma possível, para evitar que justamente brechas no sistema venham a comprometer nossos dados.
Por exemplo, imagine que você tem uma aplicação comercial onde as vendas devem necessariamente estar ligadas a um cliente já cadastrado através de seu CPF. Se de alguma forma seu sistema permitir que o usuário insira um CPF qualquer, você terá uma quebra de integridade dos seus dados, pois será feita uma venda para um cliente não cadastrado. Se existir uma chave estrangeira, ainda que sua aplicação "falhe", o banco não permitirá que esse erro ocorra.
Responder
05/10/2014
Nenah Andrade
Olá Joel.
Entendi. Então deixo as chaves estrangeiras das duas tabelas , pois deixam o banco mais seguro.
Outra dúvida? E em meu código Sql , quando for acessar as tabelas, com as chaves estrangeiras, chamo pelo ID da tabela Cliente que tem a chave primaria? Isso me mostrará no Datagrid , todas as ocorrências da chave estrangeira para aquele cliente?
Será que consegui me fazer entender?
Obrigada ai pela ajuda!
Entendi. Então deixo as chaves estrangeiras das duas tabelas , pois deixam o banco mais seguro.
Outra dúvida? E em meu código Sql , quando for acessar as tabelas, com as chaves estrangeiras, chamo pelo ID da tabela Cliente que tem a chave primaria? Isso me mostrará no Datagrid , todas as ocorrências da chave estrangeira para aquele cliente?
Será que consegui me fazer entender?
Obrigada ai pela ajuda!
Responder
Clique aqui para fazer login e interagir na Comunidade :)