Cómo usar la clave primaria en SQLite

Cómo usar la clave primaria en SQLite
SQLite es un sistema de gestión de bases de datos, que se utiliza para administrar los datos de la base de datos relacional al igual que MySQL, también contiene muchas restricciones, como clave única, primaria y clave extranjera, como otras bases de datos.

Entonces, ¿qué son las limitaciones y cómo funcionan en SQLite?? Este artículo es una guía completa sobre las restricciones y sobre cómo usar la restricción clave principal en SQLite.

¿Cuáles son las limitaciones en SQLite?

Las restricciones son los principios, según los cuales los datos del mismo tipo de datos se insertan en la tabla, organiza la estructura de la columna y también garantiza la confiabilidad de los datos que se almacenan en la tabla. Hay muchas limitaciones, algunas son:

  • Clave primaria
  • Clave externa
  • Restricción única
  • Restricción predeterminada
  • Verifique la restricción

¿Cuál es la clave principal en SQLite?

Una clave principal es la columna única de la tabla, que garantiza que las entradas insertadas en la columna deben ser únicas y también se usa para referirse a la clave extranjera de otras tablas. La tabla se puede crear sin usar la clave primaria, pero si la tabla está usando la clave primaria, solo se puede asignar una clave principal a la tabla. Las claves primarias son muy esenciales cuando se crean una base de datos que tiene una variedad de tablas y para crear relaciones entre las diferentes bases de datos, se utiliza la clave principal.

Una clave principal debe seguir estas reglas:

  • La columna de la clave primaria no se puede definir con el valor nulo
  • Los datos insertados en las filas de la columna de la clave primaria deben ser únicos
  • La clave principal debe denominarse la clave extranjera particular de otra tabla
  • La tabla puede contener solo una clave principal

Una clave principal no puede ser un valor nulo en las bases de datos, pero en el caso de SQLite, se le puede asignar un valor nulo, debido a la "supervisión de codificación de larga data".

Una tabla debe tener solo una clave principal, pero se pueden definir varias columnas en una sola clave primaria, cuando se usan múltiples columnas como una clave primaria única, entonces se denomina clave primaria compuesta.

¿Cuántas formas de agregar una clave principal a cualquier tabla en SQLite?

Hay dos formas de asignar una clave primaria al crear una tabla, que son:

  • A la columna única de una tabla
  • A las múltiples columnas de una tabla

Cómo crear una tabla que asigne una clave principal a una columna en SQLite

Podemos crear una tabla asignando una clave principal a una sola columna, su sintaxis general será:

Crear tabla table_name (column_name1 Clave principal no nulo, column_name2 );

La explicación de esta sintaxis es como:

  • La cláusula de la tabla de creación se usa para crear una tabla
  • Escriba el nombre de la tabla en lugar de table_name
  • Escriba el nombre de la columna en lugar de column_name1, y también escriba su tipo de datos
  • Use una cláusula de clave primaria, si está asignando la columna como clave primaria, y también definala como nula o no nula
  • Escriba el nombre de segunda columna reemplazando column_name2

Para entenderlo, considere un ejemplo: creamos una tabla de estudiantes de la escuela, con las identificaciones de estudiante únicas, nombradas (std_id) y los nombres de los estudiantes, nombrados (std_name). En esta tabla, los nombres de los estudiantes pueden ser los mismos, pero las identificaciones de los estudiantes no pueden ser las mismas, por lo que asignamos la clave principal a std_id como:

Crear table School_students (Key primaria STD_ID Integer No NULL, STD_NAMES);

Se ha creado la tabla de School_Students, que tiene una sola columna como clave principal.

Cómo crear una tabla que asigne una clave principal a varias columnas en SQLite

Podemos crear una tabla asignando una clave principal a varias columnas, su sintaxis general será:

Crear tabla table_name (column_name1 , column_name2 , column_name3 , Clave primaria (column_name1, column_name2));

En la sintaxis anterior, definimos la clave principal al final de la declaración, con los nombres de la columna entre paréntesis que se incluirán en la clave principal.

Una vez más, para comprender esto, consideramos un ejemplo de una tabla Employes_Data, lo crearemos con tres columnas que son Emp_id, Emp_Name y Emp_Dep, y después de esto asignamos Emp_id y Emp_Name como clave principal:

Crear tabla empleados_data (Emp_id Integer, Emp_name Text, Emp_Dep Text, Emp_name Key primario (emp_id, emp_email));

La tabla se ha creado con la clave principal que tiene dos columnas.

Cómo agregar una clave principal a la tabla existente en SQLite

No podemos agregar una clave principal a la tabla existente en SQLite usando la cláusula alter, pero para asignar una clave principal a una tabla en SQLite, seguiremos los pasos:

  • La restricción de la clave extranjera debe verificarse
  • Cambiar el nombre de la tabla a algún otro nombre
  • Cree una nueva tabla que tenga la misma estructura, que se creó antes
  • Copie los datos de esa tabla a esta tabla
  • Eliminar la tabla renombrado
  • Al final, encienda las limitaciones de la clave extranjera

Tenemos una tabla en una base de datos, llamada Students_Data, que no tiene una clave primaria y su contenido se puede mostrar usando:

Seleccionar * de Students_Data;

Para asignar la "ID" una clave principal, ejecutaremos los siguientes comandos:

Pragma extranjero_keys = apagado;
Comenzar la transacción;
Alter table students_data renombre a new_students_data;
Crear tabla Students_Data (ID Integer no es la clave primaria nula, el texto de nombre no nulo, la asistencia de asistencia no nulo);
Insertar en students_data select * de new_students_data;
Table de sueldo new_students_data;
COMPROMETERSE;
Pragma extranjero_keys = on;

Para verificar si la clave principal se asigna a la columna nombrada, ID, ejecute el comando:

Pragma table_info ([standers_data]);

La clave principal se ha asignado con éxito a la tabla Students_Data.

Cómo eliminar la restricción de clave principal en SQLite

Al igual que otras bases de datos, no podemos eliminar la restricción mediante el uso de los comandos de caída y alter, para eliminar las restricciones de clave primaria, debemos seguir el mismo procedimiento que optamos por agregar la restricción a una tabla existente y redefinir la estructura de la tabla sin definir un primario Clave para cualquier columna. Consideremos el ejemplo anterior nuevamente de agregar una clave primaria, y eliminamos la clave primaria como:

Pragma extranjero_keys = apagado;
Comenzar la transacción;
Alter table students_data renombre a new_students_data;
Crear tabla Students_Data (ID Integer no nulo, texto de nombre no nulo, Integer de asistencia no nulo);
Insertar en students_data select * de new_students_data;
Table de sueldo new_students_data;
COMPROMETERSE;
Pragma extranjero_keys = on;

Conclusión

Una clave principal es muy útil especialmente para establecer relaciones de una tabla con otros, ya que una clave extranjera siempre se refiere a la clave principal de la tabla, además, una tabla tiene solo una clave principal, pero sus campos pueden ser uno o más de uno. En este artículo, hemos discutido cómo se usa la clave principal en SQLite y también discutimos con ejemplos de cómo se asigna una clave principal a una o más columnas, así como a la tabla que ya está existente sin una clave primaria.