Una secuencia se refiere a un conjunto de valores enteros únicos que se generan a pedido. Son una característica frecuente en muchos motores de base de datos. Esto se debe a que varios escenarios requieren que cada registro en la base de datos tenga un identificador único.
Discutamos el concepto de secuencias SQL en este tutorial.
Cómo funcionan las secuencias SQL
No hay una forma universal de describir cómo funcionan las secuencias. Esto se debe a que varios motores de base de datos los implementan de manera diferente.
Aprendamos cómo funciona esto.
Secuencias en mysql
Las secuencias en MySQL se implementan configurando el atributo Auto_Increment en una columna. En la mayoría de los casos, esta columna también se selecciona como la clave principal, ya que cada valor en la columna debe ser único.
Podemos ilustrar cómo usar una secuencia en MySQL como se muestra en la consulta a continuación:
-- MysqlLa consulta anterior crea una columna con una secuencia SQL utilizando la palabra clave Auto_Increment. Tenga en cuenta que también establecemos la restricción de clave principal en la columna.
Aunque agregar secuencias en MySQL es tan fácil como se ilustra anteriormente, hay algunos puntos a tener en cuenta:
Secuencia en PostgreSQL
En PostgreSQL, las secuencias son objetos definidos por el usuario unidos al esquema en el que se crean.
Para crear una secuencia en PostgreSQL, use la sintaxis como se muestra a continuación:
-- PostgresqlBien, ¿qué significa todo eso?? Permítanos dividirlo en secciones más pequeñas que podamos entender.
Crear secuencia
La primera parte es la secuencia de creación. Esto le permite crear una nueva secuencia si no existe. El nombre de la secuencia puede ser cualquier cosa que desee.
Como data_type
La cláusula AS le permite especificar el tipo de datos para la secuencia. PostgreSQL permite tipos de SmallInt, Int y Bigint. Si no desea identificar el tipo de datos, puede omitir esta cláusula, y PostgreSQL se debe por defecto a BigInt a BigInt.
Incrementar por
Esta cláusula especifica el valor que se agrega a la secuencia actual para crear un nuevo valor de secuencia. Por ejemplo, si la secuencia es 1,2,3,4,5, el valor de incremento es 1.
Si desea comenzar desde la parte superior y descender a medida que se agregan los registros, especifique un valor negativo al incremento por cláusula.
Por defecto, PostgreSQL utilizará el valor de incremento de 1.
MinValue
Esta cláusula define el valor mínimo para la secuencia. Si no se especifica ningún valor, PostgreSQL usará el valor predeterminado.
VALOR MÁXIMO
La cláusula MaxValue establece el valor máximo para la secuencia.
COMIENZA CON
Esta cláusula establece el valor de inicio para la secuencia. Si no se especifica ningún valor, el minvalue se usa para secuencias ascendentes, y MaxVule se usa para secuencias descendentes.
CACHE
Esta cláusula definirá cuántos números de secuencia debe ser preellocado y almacenado en la memoria. Esto permite un acceso más rápido. Por defecto, PostgreSQL utilizará un valor de 1, por lo tanto, no cache.
CICLO
La cláusula de ciclo le permite especificar la envoltura cuando los valores máximos o min se alcanzan en la secuencia. PostgreSQL usará Min y MaxValue respectivamente cuando se alcanza el límite si no se especifica el ciclo.
PROPIEDAD DE
Esta opción especifica con la cual la columna de tabla está asociada. Por lo tanto, si se cae la columna o la tabla, la secuencia también se elimina.
Si la secuencia no está asociada con ninguna tabla o columna, puede establecer la propiedad de Ninguno.
Para crear una secuencia simple en PostgreSQL, ejecute la consulta:
crear secuencia my_seqLa consulta anterior crea una nueva secuencia asociada con my_column en la tabla my_table.
Puede explorar más sobre las secuencias PostgreSQL en el recurso a continuación:
https: // www.postgresql.org/Docs/Current/SQL-CreateSequence.html
Secuencias en SQL Server
Al igual que PostgreSQL, las secuencias en SQL Server son objetos definidos por el usuario. Por lo tanto, usan sintaxis muy similar para secuencias en PostgreSQL. La única diferencia es la sintaxis.
La sintaxis de ejemplo es como se ilustra a continuación:
Crear secuencia [schema_name.] secuence_nameEn lugar de ninguno, SQL Server no usa ciclo ni caché.
Puede explorar más sobre las secuencias de SQL Server en el recurso a continuación:
https: // documentos.Microsoft.com/en-us/sql/t-sql/stementations/create-secuence-transact-sql?Ver = sql-server-ver15
Nota: Para los usuarios de la base de datos de Oracle, consulte el recurso a continuación
https: // documentos.oráculo.com/cd/b12037_01/servidor.101/b10759/Statements_6014.htm
Conclusión
Este artículo detallado cubrió secuencias SQL y cómo podemos usarlas en nuestras bases de datos. Estén atentos para más tutoriales.