[MEU 50º LIVRO]: BANCOS DE DADOS E ACESS - CURSO COMPLETO - DO BÁSICO AO VBA - 1602 páginas

Páginas: 1602 | Autor: Júlio Battisti | 40% de Desconto e 70h de Vídeo Aulas de Bônus

Você está em: PrincipalArtigosSQL Server 2005 › Capítulo 09 : 06
Quer receber novidades e e-books gratuitos?
›››
« Lição anterior Curso Completo de SQL Server 2005 - Júlio Battisti Δ Página principal Curso Completo de SQL Server 2005 - Júlio Battisti ¤ Capítulos Curso Completo de SQL Server 2005 - Júlio Battisti Próxima lição »
SQL Server 2005 - CURSO COMPLETO
Autor: Júlio Battisti
Lição 138 - Capítulo 09 - CHECK CONSTRAINTS

Uma CHECK Constraint permite que seja definido um conjunto ou uma faixa de valores aceitáveis para um determinado campo. Por exemplo, podemos definir que o campo Cidade somente deve aceitar os valores ‘São Paulo’, ‘Rio de Janeiro’ e ‘Belo Horizonte’. Ou podemos definir uma faixa de valores, por exemplo, uma coluna Salário deve, estar na faixa de 1000 a 5000. Este mecanismo é conhecido como Regra de Validação no Microsoft Access.

Considere o seguinte sobre CHECK Constraints:

  • É feita uma verificação dos dados toda vez que executamos um comando INSERT ou um comando UPDATE.
  • A definição da Constraint pode referenciar outras colunas na mesma tabela, porém não pode referenciar colunas de outras tabelas.
  • Não podemos definir CHECK Constraints para colunas que contenham o seguinte tipo de dados:
    • timestamp
    • IDENTITY
    • unique-identifier
  • Não pode conter sub-consultas.

Para exemplificar o uso de CHECK Constraints, vamos adicionar uma coluna financiamento, do tipo float, a nossa tabela Clientes. Depois vamos criar duas Constraints do tipo CHECK. Uma que define que o financiamento deva estar na faixa de entre 1000 e 5000 reais e outra que defina que o campo Bairro somente podem ser ‘Centro’, ‘Itararé’ ou ‘Camobi’.

Para adicionar o campo Financiamento, utilizamos o seguinte comando:

ALTER TABLE Clientes

ADD Financiamento Float

Para definir que o campo Financiamento deve ser maior ou igual a 1000 e menor ou igual a 5000, utilizamos o seguinte comando:

ALTER TABLE Clientes

ADD CONSTRAINT FaixaFinanciamento

CHECK (Financiamento>=1000 AND Financiamento<= 5000)

Vamos testar esta Constraint. Tentaremos inserir um registro, onde o Financiamento é maior do que 5000. Tentaremos executar o seguinte comando:

INSERT INTO Clientes (CPF,Nome,Endereço,fone,cidade,e_mail,empresa,financiamento)

VALUES (‘666.333.333-33’, ‘Para Pedro’, ‘XYZ’, ‘2222222’,‘Santa Maria’,‘’,‘’,7000)

Este comando não será executado e a seguinte mensagem de erro será exibida:

Msg 547, Level 16, State 0, Line 1

INSERT statement conflicted with CHECK constraint 'FaixaFinanciamento'.

The conflict occurred in database 'PubsIntF', table 'Clientes', column 'Financiamento'.

The statement has been terminated.

Agora vamos alterar o nosso comando, reduzindo o Financiamento à 3000,00. Com isso, o comando será executado com sucesso:

INSERT INTO Clientes (CPF,Nome,Endereço,fone,cidade,e_mail,empresa,financiamento)

VALUES (‘333.333.333-33’, ‘Para Pedro’, ‘XYZ’, ‘2222222’,‘Santa Maria’,‘’,‘’,3000)

Vamos adicionar um campo chamado Bairro e depois vamos definir um conjunto de valores possíveis para este campo.

Para adicionar o campo Bairro, utilizamos o seguinte comando:

ALTER TABLE Clientes

ADD Bairro Char(25)

Para definir que o campo Bairro somente deve aceitar os valores ‘Centro’, ‘Itararé’ e ‘Camobi’, utilizamos o seguinte comando:

ALTER TABLE Clientes

ADD CONSTRAINT ValoresBairro

CHECK (Bairro=‘Centro’ or Bairro=‘Itararé’ or Bairro=‘Camobi’)

Vamos testar esta Constraint. Tentaremos inserir um registro, onde o Bairro é igual a ‘Urlândia’. Tentaremos executar o seguinte comando:

INSERT INTO Clientes (CPF,Nome,Endereço,fone,cidade,e_mail,empresa,financiamento,bairro)

VALUES (‘444.444.444-44’, ‘Pedro Para’, ‘KKK’, ‘2222222’,‘Santa Maria’,‘’,‘’,2300,‘Urlândia’)

Este comando não será executado e a seguinte mensagem de erro será exibida:

Msg 547, Level 16, State 0, Line 1

INSERT statement conflicted with CHECK constraint 'ValoresBairro'.

The conflict occurred in database 'PubsIntF', table 'Clientes', column 'Bairro'.

The statement has been terminated.

Agora vamos alterar o nosso comando, alterando o bairro para ‘Centro’, que é um dos valores permitidos pela Constraint. O seguinte comando será executado com sucesso:

INSERT INTO Clientes (CPF,Nome,Endereço,fone,cidade,e_mail,empresa,financiamento,bairro)

VALUES (‘444.444.444-44’, ‘Pedro Para’, ‘KKK’, ‘2222222’,’Santa Maria’,’’,’’,2300,’Centro’)

Podemos construir CHECK Constraints mais elaboradas. Por exemplo, podemos construir uma que somente aceite o CPF se este for digitado no formato nnn.nnn.nnn-nn, onde n é um número entre 0 e 9. Vamos a um exemplo.

Definir uma Constraint que força o CPF a ser digitado o formato nnn.nnn.nnn-nn, caso contrário, o registro não será aceito. Podemos utilizar o seguinte comando:

ALTER TABLE Clientes

ADD CONSTRAINT FormatCPF

CHECK (CPF like ‘[0-9][0-9][0-9].[0-9][0-9][0-9].[0-9][0-9][0-9]-[0-9][0-9]’)

Vamos tentar inserir um registro em que o CPF não atende a regra definida na Constraint FormatCPF. Iremos trocar o tracinho por um ponto. Tente executar o seguinte comando:

INSERT INTO Clientes (CPF,Nome,Endereço,fone,cidade,e_mail,empresa,financiamento,bairro)

VALUES (‘555.555.555.55’, ‘Maria Silva’, ‘POP’, ‘4445566’,‘Santa Maria’,‘’,‘’,2300,‘Centro’)

O comando não será executado e a seguinte mensagem de erro será emitida:

Msg 547, Level 16, State 0, Line 1

INSERT statement conflicted with CHECK constraint 'FormatCPF'.

The conflict occurred in database 'PubsIntF', table 'Clientes', column 'CPF'.

The statement has been terminated.

Também podemos utilizar os comandos sp_helpconstraint nome_tabela e sp_help nome_da_constraint para obter informações sobre uma CHECK Constraint.

« Lição anterior Curso Completo de SQL Server 2005 - Júlio Battisti Δ Página principal Curso Completo de SQL Server 2005 - Júlio Battisti ¤ Capítulos Curso Completo de SQL Server 2005 - Júlio Battisti Próxima lição »

Best Sellers de Excel do Julio Battisti

Todos com Vídeo Aulas, E-books e Planilhas de Bônus!

Aprenda com Júlio Battisti:
Excel 2010 Básico em 140 Lições - Através de Exemplos Práticos - Passo a Passo

 Aprenda com Júlio Battisti: Excel 2010 Básico em 140 Lições - Através de Exemplos Práticos

 

Autor: Júlio Battisti | Páginas: 540 | Editora: Instituto Alpha

 

[Livro]: Aprenda com Júlio Battisti: Excel 2010 Básico em 140 Lições - Através de Exemplos Práticos

Aprenda com Júlio Battisti: Excel 2010 Avançado, Análise de Dados, Tabelas Dinâmicas, Funções Avançadas, Macros e Programação VBA - Passo a Passo

Livro: Aprenda com Júlio Battisti: Excel 2010 Avançado, Análise de Dados, Tabelas Dinâmicas, Funções Avançadas, Macros e Programação VBA - Passo a Passo

 

Autor: Júlio Battisti | Páginas: 952 | Editora: Instituto Alpha

 

Livro: Aprenda com Júlio Battisti: Excel 2010 Avançado, Análise de Dados, Tabelas Dinâmicas, Funções Avançadas, Macros e Programação VBA - Passo a Passo

Aprenda com Júlio Battisti: Macros e Programação VBA no Excel 2010 Através de Exemplos Práticos e Úteis - Passo a Passo

 

[LIVRO]: Aprenda com Júlio Battisti: Macros e Programação VBA no Excel 2010 Através de Exemplos Práticos e Úteis - Passo a Passo

 

Autor: Júlio Battisti | Páginas: 1124 | Editora: Instituto Alpha

 

[LIVRO]: Aprenda com Júlio Battisti: Macros e Programação VBA no Excel 2010 Através de Exemplos Práticos e Úteis - Passo a Passo

Aprenda com Júlio Battisti: Excel 2010 - Curso Completo - Do Básico ao Avançado, Incluindo Macros e Programação VBA - Através de Exemplos Práticos

 

[A BÍBLIA DO EXCEL]: Aprenda com Júlio Battisti: Excel 2010 - Curso Completo - Do Básico ao Avançado, Incluindo Macros e Programação VBA - Através de Exemplos Práticos Passo a Passo

 

Autor: Júlio Battisti | Páginas: 1338 | Editora: Instituto Alpha

 

[A BÍBLIA DO EXCEL]: Aprenda com Júlio Battisti: Excel 2010 - Curso Completo - Do Básico ao Avançado, Incluindo Macros e Programação VBA - Através de Exemplos Práticos Passo a Passo

Todos os livros com dezenas de horas de vídeo aulas de bônus, preço especial (alguns com 50% de desconto). Aproveite. São poucas unidades de cada livro e por tempo limitado.

Dúvidas?

Utilize a área de comentários a seguir.

Me ajude a divulgar este conteúdo gratuito!

Use a área de comentários a seguir, diga o que achou desta lição, o que está achando do curso.
Compartilhe no Facebook, no Google+, Twitter e Pinterest.

Indique para seus amigos. Quanto mais comentários forem feitos, mais lições serão publicadas.

Quer receber novidades e e-books gratuitos?
›››

Novidades e E-books grátis

Fique por dentro das novidades, lançamento de livros, cursos, e-books e vídeo-aulas, e receba ofertas de e-books e vídeo-aulas gratuitas para download.



Institucional

  • Quem somos
  • Garantia de Entrega
  • Formas de Pagamento
  • Contato
  • O Autor
  • Endereço

  • Júlio Battisti Livros e Cursos Ltda
  • CNPJ: 08.916.484/0001-25
  • Rua Vereador Ivo Cláudio Weigel, 537 Universitário
  • Santa Cruz do Sul/RS
  • CEP 96816-208
  • Todos os direitos reservados, Júlio Battisti 2001-2017 ®

    [LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

    APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI