O gerente de banco de dados SQLite embala uma característica extensa colocado em uma biblioteca de software pequena - menos de 350KB . Ele consegue essa eficiência em parte através de compromissos em seus tipos de dados , por exemplo , suporta campos inteiros , caracteres e BLOB , mas não ENUM . Você pode contornar a limitação ENUM e atingir grande parte da mesma funcionalidade através da exploração de outros recursos do SQLite e através de programação de aplicativo cuidado. ENUM Tipo Dados
Quando você cria uma enumerados, ou ENUM , tipo de dados , é possível definir uma lista de valores de dados aprovados. Por exemplo, uma tabela de dados de avaliações de filmes inclui um número de estrelas, de zero a quatro - nenhum filme recebe uma classificação de dez estrelas, não importa o quão bom ele é , e ninguém recebe uma avaliação negativa , não importa o quão ruim é . Você pode usar um ENUM para o campo classificação por estrelas da mesa , dando-lhe os valores dos números inteiros de zero a quatro. Algumas linguagens de programação , incluindo gerentes de banco de dados Java e SQL como MySQL e Oracle incluem o tipo de dados ENUM , embora não seja uma parte do padrão SQL 92 .
SQL Campo Restrições
< br >
Embora SQLite não oferecer um tipo de dados ENUM , você pode adicionar uma propriedade chamada uma restrição de verificação a um campo, forçando-o a aceitar valores de uma lista restrita . Por exemplo , digamos que você criou um campo de estado e quiser restringir os seus valores para o conjunto de dois caracteres abreviações de estado dos Estados Unidos. Quando você cria a tabela no SQLite , você configura o campo de estado como um tipo CHAR e depois adicionar uma restrição de verificação que lista as abreviações de estado 50 . SQLite suporta restrições de verificação a partir da versão 3.3.0 , antes que a versão , SQLite analisado restrições , mas não aplicá-las. Se você adicionar uma restrição a uma tabela que já tem dados SQLite não verifica os valores existentes. Se um usuário tenta adicionar valores à tabela que não estão incluídos nas restrições , SQLite gera uma condição de erro , o bloqueio da transação.
Instruções SQL
Como um teste adicional para garantir que as tabelas de dados obter os valores certos, criar instruções SQL SELECT que olhar para estes valores . Por exemplo, a seguinte instrução SELECT procura por registros de classificação de filme que têm um número incorreto de estrelas :
SELECT COUNT ( *) FROM movie_ratings ONDE NÃO estrelas EM ( 0,1,2,3,4 ) < br >
ele retorna uma contagem diferente de zero se ele encontrar registros que têm classificações de estrelas que se encontram fora da faixa de zero a quatro. Use testes como este para verificar se as tabelas têm valores corretos. Se você encontrar registros com dados incorretos , examine as restrições de verificação de valores ausentes ou extras.
Programa Logic
Além de instruções SQL , a lógica em programas aplicativos podem também verificar os valores de dados que entram no banco de dados SQLite . Por exemplo, como os usuários digitam informações em um formulário tela de entrada de dados , a lógica da tela testa cada valor e exibe uma mensagem solicitando ao usuário para corrigir dados incorretos.