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
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 )
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.