quinta-feira, 11 de fevereiro de 2010

Integridade no Banco de Dados


Olá Pessoal, beleza... estou devolta... 

Bom comecei este artigo pensando em falar sobre Constraints e Triggers, mas antes, deveria falar sobre o que é uma Integridade no Banco de Dados, então, resolvi preparar este artigo que descreve os tipos e exemplificar cada um deles. 

Vamos lá! Let's GO!!!

Integridade é fundamental! 

Quando vamos projetar um Banco de Dados, imaginamos as possíveis formas para que nossa aplicação grave os dados corretamente no Banco de Dados, mas as vezes, esquecemos de definir, a nível de banco, quais as validações que devem ser feitas para evitar inconsistências nos dados e que, futuramente, se tornariam dores de cabeça. 

Em um Banco de Dados, possuímos 3 formas de Integridade

- Integridade de Domínio 
- Integridade de Entidade 
- Integridade Referencial 


Integridade de Domínio 

Neste tipo de integridade, as validações ocorrem em cada campo de nossa tabela (ou entidade), como por exemplo se um campo deve aceitar valores Null ou apenas uma faixa de valores, por exemplo: 

Temos um campo Sexo, que só deve aceitar valores do tipo M ou F e, independente de nossa aplicação, não deverá aceitar outros valores. Com integridade de domínio, podemos fazer isto facilmente. 

Integridade de Entidade 

Já na integridade de entidade, temos validações um nível acima, onde definimos quais campos de nossa tabela são chaves primárias (PK) ou únicas (UK). 

Um exemplo de chave única é o campo de CPF que nunca pode se repetir. 

OBS: Geralmente chaves únicas são chamadas de chaves candidatas, pois são candidatas a chave primária, mas não são uma. 

Integridade referencial 

E por último, mas não menos importante, vemos a Integridade Referencial, onde criamos nossas referências a campos do tipo PK ou UK de outras tabelas, as famosas chaves estrangeiras FK. Lembre-se que eu não posso criar uma referência (relacionamento) de uma coluna se esta não for uma chave primária de outra tabela. 

Este tipo de integridade é fundamental para verificar se um dado será inserido de forma correta e, como é uma chave estrangeira, se este dado realmente existe.

Vamos tirar por exemplo uma tabela chamada PEDIDO e uma CLIENTE. Eu só posso adicionar um registro de PEDIDO se existir um CLIENTE relacionado a ele, e é assim que as verificações acontecem, no momento da inclusão ou alteração, o SGBD verifica se o registro existe e caso não, retorna um erro

Bom, vimos neste artigo um pouco sobre integridade no banco de dados, no próximo irei falar sobre como criar Constraints e Triggers possamos pôr em prática o que vimos hoje. 

Até a próxima.

Nenhum comentário:

Postar um comentário

 Copyright © 2008-2010 All Right Reserved - Todos os Direitos Reservados Elder Stroparo