check constraints?

25/10/2012

0

pessoal, não entendi muito bem a usabilidade desse comando, alguem poderia me explicar de forma clara...

obrigada
Mariana Carvalho

Mariana Carvalho

Responder

Posts

26/10/2012

Robson Alves

pessoal, não entendi muito bem a usabilidade desse comando, alguem poderia me explicar de forma clara...

obrigada


O Check é uma regra que roda em tempo de execução e ele válida a condição que foi imposta.
Por exemplo um campo de Valores monetários, não pode possuir valores que ultrapassem a casa do trilhão então crio um Check que inválida qualquer valor acima de trilhão e não inclui a informação, não sei te afirmar se ele informa um erro, se ele ignora a linha inteira ou se ele ignora a coluna com o check.



-- A minha visão (desenvolvedor) esse tipo de regra direto na tabela e armazenado no banco de dados é uma forma 'legal' e uma possibilidade de realizar um trabalho, entretanto isso deve ser controlado pela aplicação, o banco de dados relacional deve cuidar do relacionamento, a regra de negócio deve estar em outro lugar. --
Responder

26/10/2012

Mariana Carvalho

então seria melhor que essa opção fique na parte de desenvolvimento?
Responder

26/10/2012

Robson Alves

então seria melhor que essa opção fique na parte de desenvolvimento?


Minha opinião é suspeita, pois sou desenvolvedor... mas pelas vias da facilidade, é mais rápido e simples encontrar regras direto na aplicação, o banco de dados tem a opção de resolver o problema, mas ele não foi todo feito para isso.

Responder

26/10/2012

Tiago

Concordo que deve ser no desenvolvimento, afinal de contas é uma regra de negócio.... e regras de negócio devem estar as claras para os desenvolvedores.. No entanto se for um projeto pequeno, isso pode ser útil e economizará alguns "ifs" na aplicação.
Responder

26/10/2012

Alex Lekao

Ola Bom dia!!!

Interessante a Discusao que acabou virando.

Gostaria de deixar o meu ponto de vista com relacao a regra de negocio estar no banco ou na aplicacao.

Particularmente acho melhor que as regras nao fique na aplicacao, haja vista pode haver mudanca na regra e necessariamente nao haveria mudanca na aplicacao, desta forma nao haveria necessidade de se alterar o codigo fonte de software, poupando o trabalho e os "ifs" no casos... rsrsr

Acho interessante que as regras facam parte de procedures que normalmente serao executadas mais rapidamente em alguns casos e a aplicacao passara os parametros apenas, so havera necessidade de se alterar o codigo fonte da aplicacao quando houver alteracao que envolvam parametros a mais.

No caso do check acredito que possa ser agregado o retorno de erro para ser tratado pela aplicacao para dar algum tipo de informacao ao usuario/operador, apesar de eu nao conhecer muito bem esse funcionamento.

e o check tambem podera ser utilizado em conjunto com um valor padrao para o campo, se nao me engano nos exemplos de explicacao do SQL no Books On-line ele exemplifica desta forma.

Mas acho que a discursao interessante e vale a pena ser tratada, definida e alinhada com os desenvedores, de aplicacao e banco de dados.

Eh isso ai...

Espero ter contribuido. rsrsr

Abraco a todos.

Alex - Lekao
Responder

26/10/2012

Mariana Carvalho

creio que certas coisas ficariam bem melhores no banco...
evitando assim problemas...
Responder

29/10/2012

Mariana Carvalho

neste caso...é melhor ou não implementar???
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar