Limitaciones de la base de datos

Cada una de las columnas definidas en una tabla puede llevar asociada una limitación. SQLite soporta las siguientes: PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL y CHECK.

PRIMARY KEY, identifica de manera única cada fila de la tabla. Su valor se auto incrementa de manera automática y ha de ser no nulo.

FOREIGN KEY, hace referencia al valor contenido en otra tabla.

UNIQUE, fuerza a que valor no se repite en ninguna otra fila de la tabla.

NOT NULL, requiere que el valor sea distinto de nulo.

CHECK, requiere que se cumpla una determinada expresión lógica para insertar/actualizar el valor.

Algunos ejemplos pueden ser:

CREATE TABLE directores (
                         _id INTEGER PRIMARY KEY, 
                         nombre_dir TEXT, 
                         num_peliculas INTEGER, 
                         mail TEXT UNIQUE);

En este caso estamos creando la tabla directores, la cual consta de 4 columnas. La primera se trata de un entero definido como primary key, es decir, identifica a esa fila de manera única. La segunda columna es una cadena de texto que identifica el nombre del director. La tercera columna se trata de un entero que indica el número de películas realizadas y por último en la última columna se almacena la dirección de correo electrónico como una cadena de texto, la cual no puede repetirse en ninguna otra fila.

CREATE TABLE peliculas (
                        _id INTEGER PRIMARY KEY, 
                        nombre TEXT,  
                        precio REAL NOT NULL CHECK (precio>0),
                        descripcion TEXT,
                        dir_id integer not null,
                        foreign key (dir_id) references directores(_id));

En este caso estamos creando la tabla peliculas, la cual consta de 5 columas. La primera se trata de un entero definido como primary key, identifica a la fila de manera única. La segunda columna se define como una cadena de texto. La tercera se trata de un número en coma flotante mayor que cero, no siendo posible insertar un valor nulo. La cuarta columna es una cadena de texto sobre una descripción de la película y la quinta columna es un identificador  correspondiente al primary key de la tabla creada en el primer ejemplo (directores). De esta manera ambas tablas quedan relacionadas.