SQLite es un RDBMS, que se utiliza para administrar los datos de la base de datos, que se coloca en las filas y columnas de la tabla. Esta reseña nos ayuda a comprender qué es una restricción única en SQLite, así como en cómo funciona en SQLite.
¿Cuál es la restricción única en SQLite?
Una restricción única asegura que los datos en la columna deben ser únicos, lo que significa que no hay campos de la misma columna que contienen valores similares. Por ejemplo, creamos una columna, correo electrónico y la definimos con la restricción única para que garantice que ningún correo electrónico insertado en la columna sea el mismo que el otro registro de la columna.
¿Cuál es la diferencia entre la restricción clave única y principal en SQLite?
Ambas restricciones, clave primaria y única aseguran que no se insertara ninguna entrada duplicada en la tabla, pero la diferencia es; La tabla debe contener solo una clave principal, mientras que la restricción única se puede usar para más de una columna en la misma tabla.
Cómo se definirá la restricción única en SQLite
La restricción única se puede definir en la columna única o en las múltiples columnas en SQLite.
Cómo se definirá la restricción única a una columna
Una restricción única se puede definir como una columna, mediante la cual puede garantizar que ningún valores similares pueda ingresar en ningún campo de esa columna. La sintaxis general de definir la restricción única en una columna es:
Crear tabla table_name (column1 dataType único, column2 dataType);La explicación de esto es:
Para comprender esta sintaxis, considere un ejemplo de creación de una tabla para estudiantes_data que tienen dos columnas, una es de std_id y la otra es de st_name, fueron definir la columna, std_id, con la restricción única para que ninguno de los estudiantes pueda haber tenido STD_ID similar como:
Crear tabla Students_Data (STD_ID Integer único, texto STD_NAME);Inserte los valores usando:
Insertar en valores de studing_data (1, 'John'), (2, 'Pablo');Ahora, agregaremos otro nombre de estudiante donde el STD_ID es 1:
Insertar en valores de studing_data (1, 'Hannah');Podemos ver desde la salida, generó el error de insertar el valor de std_id porque se definió con la restricción única, lo que significa que ningún valor puede duplicarse con los otros valores de esa columna.
¿Cómo se define la restricción única para múltiples columnas?
Podemos definir múltiples columnas con la restricción única, lo que asegura que no haya duplicación de los datos insertados en todas las filas al mismo tiempo. Por ejemplo, si tenemos que elegir ciudades para un viaje a tres grupos de personas (A, B y C), no podemos asignar la misma ciudad a los tres grupos, esto se puede hacer utilizando la restricción única.
Por ejemplo, estos tres escenarios pueden ser posibles:
Grupo A | Grupo_b | Grupo_c |
---|---|---|
Florida | Florida | Bostón |
Nueva York | Florida | Florida |
Florida | Florida | Florida |
Pero el siguiente escenario no es posible si estamos utilizando las restricciones únicas:
Grupo A | Grupo_b | Grupo_c |
---|---|---|
Florida | Florida | Florida |
La sintaxis general del uso de la restricción única a las múltiples columnas es:
Crear tabla table_name (column1 dataType, column2, único (columna1, columna2));La explicación de esto es:
Para comprender esto, consideraremos el ejemplo anterior y ejecutaremos el siguiente comando para crear una tabla de trip_data:
Crear tabla Trip_data (Group_A Text, Group_B Text, Group_C Text, Unique (Group_A, Group_B, Group_C));Insertaremos los valores de asignar sus ciudades:
Insertar en valores trip_data ('Florida', 'Florida', 'Boston'), ('Nueva York', 'Florida', 'Florida'), ('Florida', 'Florida', 'Florida');Ahora, insertaremos la misma ciudad en todas las columnas de Trip_Data:
Insertar en valores trip_data ('Florida', 'Florida', 'Florida');Podemos ver desde la salida, no se permite la duplicación de los datos en todas las columnas que están definidas por la restricción única y el error generado de la restricción única falló.
Cómo agregar la restricción única a la tabla existente
En SQLite, podemos agregar la restricción utilizando el comando alter, por ejemplo, tenemos una tabla studings_data con columnas std_id, std_name, queremos agregar una restricción std_id a la tabla, standers_data:
Cómo soltar la restricción única a la tabla existente
Al igual que otras bases de datos, no podemos eliminar la restricción utilizando los comandos de caída y alter, para eliminar las restricciones únicas que debemos seguir el mismo procedimiento que optamos por agregar la restricción a una tabla existente y redefinir la estructura de la tabla.
Considere nuevamente el ejemplo anterior y elimine las restricciones únicas:
Pragma extranjero_keys = apagado;Conclusión
La restricción única se usa en las bases de datos para restringir la duplicación de los valores insertados en los campos de la tabla al igual que la restricción clave principal, pero hay una diferencia entre ambos; Una tabla solo puede tener una clave principal, mientras que una tabla puede tener columnas de clave únicas más de una. En este artículo, discutimos qué es una restricción única y cómo se puede usar en SQLite con la ayuda de ejemplos.