English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Restricciones - son reglas impuestas a las columnas de datos de la tabla. Estas se utilizan para limitar los tipos de datos que pueden ingresar a la tabla. Esto asegura la precisión y fiabilidad de los datos en la base de datos.
Las restricciones pueden ser de nivel de columna o de nivel de tabla. Las restricciones de nivel de columna solo se aplican a una columna, mientras que las restricciones de nivel de tabla se aplican a toda la tabla.
A continuación, se presentan las restricciones comunes disponibles en SQLite.
NOT NULL Restricciones - aseguran que la columna no pueda tener valores NULL.
DEFAULT Restricciones - proporcionan un valor predeterminado para la columna si no se especifica.
UNIQUE Restricciones - aseguran que todos los valores en la columna sean diferentes.
Primary Key - identifica de manera única cada fila en la tabla de la base de datos./Registro.
CHECK Restricciones - aseguran que todos los valores en la columna cumplan con ciertas condiciones.
Por defecto, una columna puede almacenar valores NULL. Si no desea que una columna tenga valores NULL,则需要在此列上 definir este tipo de restricción para especificar que esta columna no permite NULL.
NULL es equivalente a no tener datos, representa datos desconocidos.
Por ejemplo, la siguiente sentencia SQLite crea una nueva tabla llamada COMPANY y agrega cinco columnas, de las cuales tres (ID, NAME y AGE) especifican que no aceptan NULL.
CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL );
Cuando la sentencia INSERT INTO no proporciona valores específicos, la restricción DEFAULT proporciona un valor predeterminado para la columna.
Por ejemplo, la siguiente sentencia SQLite crea una nueva tabla llamada COMPANY y agrega cinco columnas. Aquí, la columna SALARY se establece por defecto.5000.00, por lo tanto, si la sentencia INSERT INTO no proporciona un valor para esta columna, por defecto, esta columna se establecerá como5000.00。
CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL DEFAULT 50000.00 );
La restricción UNIQUE previene que dos registros tengan el mismo valor en una columna específica. Por ejemplo, en la tabla COMPANY, es posible que desee evitar que dos o más personas tengan la misma edad.
Por ejemplo, la siguiente sentencia SQLite crea una nueva tabla llamada COMPANY y agrega cinco columnas. Aquí, la columna AGE se establece como UNIQUE, por lo que no se pueden tener dos registros con la misma edad.-
CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL UNIQUE, ADDRESS CHAR(50), SALARY REAL DEFAULT 50000.00 );
La restricción PRIMARY KEY identifica de manera única cada registro en la tabla de base de datos. Puede haber más columnas UNIQUE, pero solo una clave primaria en la tabla. Es importante considerar la clave primaria al diseñar tablas de bases de datos. La clave primaria es un ID único.
Las utilizamos para referenciar filas de tablas. Al crear relaciones entre tablas, la clave primaria se convierte en clave foránea en otras tablas. Debido a la 'supervisión a largo plazo del código', la clave primaria en SQLite puede ser NULL. En otros sistemas de bases de datos no es así.
La clave primaria es un campo en la tabla que identifica de manera única cada fila en la tabla de base de datos/registros. La clave primaria debe contener valores únicos. Las columnas de clave primaria no pueden tener valores NULL.
Una tabla puede tener solo una clave primaria, que puede estar formada por un solo campo o múltiples campos. Cuando se utilizan múltiples campos como clave primaria, se denominanclave compuesta。
No se pueden tener dos registros con el mismo valor field(s) si la tabla define algún campo(s) de clave primaria en otra tabla.
Ya ha visto muchos ejemplos anteriormente, en los que creamos una tabla COMPANY con ID como clave primaria.
CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL );
Las restricciones CHECK permiten que se verifique la condición de los valores introducidos en los registros. Si el cálculo de la condición da false, el registro viola la restricción y no se ingresa en la tabla.
Por ejemplo, a continuación se muestra cómo SQLite crea una nueva tabla llamada COMPANY y agrega cinco columnas. Aquí, hemos agregado una columna CHECK con SALARY, por lo que no puede haber ningún SALARY 0.
CREATE TABLE COMPANY3( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL CHECK(SALARY > 0) );
SQLite admite un subconjunto limitado de ALTER TABLE. El comando ALTER TABLE de SQLite permite al usuario renombrar tablas o agregar nuevas columnas a tablas existentes. No se puede renombrar columnas, eliminar columnas o agregar o eliminar restricciones en la tabla.