Csharp firebird chave estrangeira

Modelagem

Firebird

02/10/2014

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!!!
Nenah Andrade

Nenah Andrade

Curtidas 0

Respostas

Joel Rodrigues

Joel Rodrigues

02/10/2014

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.
GOSTEI 0
Nenah Andrade

Nenah Andrade

02/10/2014

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!
GOSTEI 0
POSTAR