El administrador de base de datos SQLite viene equipado con un amplio conjunto de características en una pequeña biblioteca de software - menos de 350KB . Esto se logra la eficiencia , en parte, a través de compromisos en sus tipos de datos , por ejemplo , es compatible con los campos BLOB número entero , carácter y pero no ENUM . Puede solucionar la limitación ENUM y lograr gran parte de la misma funcionalidad mediante la explotación de otras características de SQLite y mediante una programación cuidadosa aplicación . ENUM Tipo de datos
Al crear una enumerado, o ENUM , tipo de datos , puede definir una lista de valores de datos aprobados. Por ejemplo , una tabla de clasificación de las películas de datos incluye un número de estrellas, de cero a cuatro - ninguna película consigue una calificación de diez estrellas , no importa lo bueno que es , y no recibe una calificación negativa , no importa lo malo que es . Puede utilizar un ENUM para el campo número de estrellas de la tabla, dándole el valor de los números enteros del cero al cuatro. Algunos lenguajes de programación , incluyendo Java y administradores de bases de datos SQL, como MySQL y Oracle incluyen el tipo de datos ENUM , aunque no es parte del estándar SQL 92 .
SQL Campo Restricciones
< br >
Aunque SQLite no ofrece un tipo de datos ENUM , puede agregar una propiedad llamada una restricción de comprobación a un campo, lo que obligó a que acepte valores de una lista restringida . Por ejemplo , digamos que usted configura un campo de Estado y desea restringir sus valores al conjunto de dos caracteres abreviaturas de estado de Estados Unidos. Cuando se crea la tabla en SQLite, configure el campo de estado como un tipo CHAR y luego agrega una restricción de comprobación que lista las abreviaturas 50 estados. SQLite soporta restricciones de comprobación partir de la versión 3.3.0 , antes de esa versión , SQLite analiza las restricciones , pero no las hizo cumplir . Si se agrega una restricción a una tabla que ya tiene datos , SQLite no comprueba los valores existentes . Si un usuario intenta agregar valores a la tabla que no se incluyen en las restricciones, SQLite genera una condición de error , el bloqueo de la transacción.
SQL declaraciones
Como una prueba más para garantizar que las tablas de datos obtienen los valores correctos , crear sentencias SQL SELECT que buscan estos valores. Por ejemplo , la siguiente sentencia SELECT busca registros clasificación de películas que tienen un número incorrecto de Estrellas:
SELECT COUNT ( *) DE movie_ratings estrellas DONDE NO EN ( 0,1,2,3,4 ) < br >
devuelve un valor distinto de cero si encuentra registros que tienen grados de la estrella se encuentran fuera del rango de cero a cuatro. Utilice las pruebas como ésta para verificar que las tablas tienen los valores correctos . Si encuentra registros con datos incorrectos , examinar las restricciones de comprobación de valores faltantes o adicionales.
Programa lógico
Además de sentencias SQL , la lógica de los programas de aplicación pueden también comprobar los valores de los datos que entran en las bases de datos SQLite . Por ejemplo, cuando los usuarios escriben información en una máscara de entrada de datos , la lógica de la pantalla pone a prueba cada valor y muestra un mensaje que pide al usuario corregir los datos incorrectos.