Criando integridade de dados através de Check Constraint

Primeiramente peço desculpas àqueles que buscam informações em meu humilde blog, pela demora em criar novos posts, porém tenho estado ocupado me preparando para os exames de certificação do SQL Server 2012 (eu sei, preguiça minha, mas antes tarde do que nunca, hehe).

Uma das formas para garantir que os dados inseridos sejam válidos, que obedeçam as regras de negócio, é criar constraints nas tabelas, de forma a “forçar” que um dado seja gravado corretamente. Uma das formas de forçar valores a serem armazenados, que irei abordar, será através de Domain Integrity (colunas).

Domain integrity especifica o conjunto de valores válidos para colunas, garantindo a integridade da informação. Para um melhor entendimento, vamos a um exemplo.

Primeiro, criarei uma tabela que cadastra nome de alunos:

CREATE TABLE cadastro_aluno (
aluno_id int identity(1,1) primary key, Nome varchar(30), sobrenome varchar(30), sexo char(1) )

Na coluna sexo defini que receberá um tipo de dado carcater(char), com tamanho de apenas 1 caracter, ou seja, M para masculino e F para feminino, porém percebam que não há uma restrição para inserir qualquer letra do alfabeto, ao invés de apenas as letras M ou F:

Select

Para corrigir essa situação, e garantir a qualidade da informação gravada na tabela, basta adicionar a constraint CHECK na coluna em questão:

ALTER TABLE Cadastro_aluno
WITH NOCHECK ADD CONSTRAINT aluno_sexo
CHECK (sexo in ('M','F'));

Após adicionar a constraint à coluna sexo, apenas os valores M e F serão permitidos nessa coluna:

Insert_error_check

Insert_check

Por enquanto é tudo.

Abraços e até a próxima.

Anúncios

Um comentário sobre “Criando integridade de dados através de Check Constraint

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s