Une séquence fait référence à un ensemble de valeurs entières uniques qui sont générées à la demande. Ils sont une caractéristique répandue dans de nombreux moteurs de base de données. En effet, divers scénarios nécessitent chaque enregistrement de la base de données pour avoir un identifiant unique.
Discutons du concept de séquences SQL dans ce tutoriel.
Comment fonctionnent les séquences SQL
Il n'y a pas de moyen universel de décrire comment fonctionnent les séquences. En effet, divers moteurs de base de données les implémentent différemment.
Laissez-nous savoir comment cela fonctionne.
Séquences dans MySQL
Les séquences de MySQL sont implémentées en définissant l'attribut Auto_inCment dans une colonne. Dans la plupart des cas, cette colonne est également sélectionnée comme clé principale car chaque valeur de la colonne doit être unique.
Nous pouvons illustrer comment utiliser une séquence dans MySQL comme indiqué dans la requête ci-dessous:
-- MysqlLa requête ci-dessus crée une colonne avec une séquence SQL en utilisant le mot-clé Auto_inCmenment. Notez que nous définissons également la contrainte de clé primaire à la colonne.
Bien que l'ajout de séquences dans MySQL soit aussi simple que l'illustré ci-dessus, il y a quelques points à noter:
Séquence dans PostgreSQL
Dans PostgreSQL, les séquences sont des objets définis par l'utilisateur liés au schéma dans lequel ils sont créés.
Pour créer une séquence dans PostgreSQL, utilisez la syntaxe comme indiqué ci-dessous:
-- PostgresqlD'accord, qu'est-ce que tout cela signifie? Nous permettre de le décomposer en sections plus petites que nous pouvons comprendre.
Créer une séquence
La première partie est la séquence de création. Cela vous permet de créer une nouvelle séquence si elle n'existe pas. Le nom de séquence peut être tout ce que vous souhaitez.
Comme data_type
La clause AS vous permet de spécifier le type de données pour la séquence. PostgreSQL permet des types SmallInt, INT et BigInt. Si vous ne souhaitez pas identifier le type de données, vous pouvez ignorer cette clause et PostgreSQL sera par défaut.
Incrément de
Cette clause spécifie la valeur ajoutée à la séquence actuelle pour créer une nouvelle valeur de séquence. Par exemple, si la séquence est 1,2,3,4,5, la valeur d'incrément est 1.
Si vous souhaitez commencer par le haut et descendre au fur et à mesure que les enregistrements sont ajoutés, spécifiez une valeur négative à l'incrément par clause.
Par défaut, PostgreSQL utilisera la valeur d'incrément de 1.
Mine
Cette clause définit la valeur minimale de la séquence. Si aucune valeur n'est spécifiée, PostgreSQL utilisera la valeur par défaut.
VALEUR MAX
La clause maxvalue définit la valeur maximale de la séquence.
COMMENCE AVEC
Cette clause définit la valeur de début de la séquence. Si aucune valeur n'est spécifiée, le minvalue est utilisé pour les séquences ascendantes et Maxvule est utilisé pour les séquences descendantes.
Cache
Cette clause définira le nombre de numéros de séquence à préalder et stockés en mémoire. Cela permet un accès plus rapide. Par défaut, PostgreSQL utilisera une valeur de 1 d'où aucun cache.
CYCLE
La clause de cycle vous permet de spécifier l'enveloppement lorsque les valeurs max ou min sont atteintes dans la séquence. PostgreSQL utilisera respectivement Min et MaxValue lorsque la limite est atteinte si le cycle n'est pas spécifié.
Appartenant à
Cette option spécifie avec laquelle la colonne de table la séquence est associée. Par conséquent, si la colonne ou la table est supprimée, la séquence est également supprimée.
Si la séquence n'est associée à aucune table ou colonne, vous pouvez définir la propriété de None.
Pour créer une séquence simple dans PostgreSQL, exécutez la requête:
créer une séquence my_seqLa requête ci-dessus crée une nouvelle séquence associée à My_Column dans le tableau my_table.
Vous pouvez explorer plus sur les séquences postgresql dans la ressource ci-dessous:
https: // www.postgresql.org / docs / courant / sql-créatesequence.html
Séquences dans SQL Server
Comme PostgreSQL, les séquences de SQL Server sont des objets définis par l'utilisateur. Par conséquent, ils utilisent une syntaxe étroitement similaire pour les séquences dans PostgreSQL. La seule différence est la syntaxe.
L'exemple de syntaxe est comme illustré ci-dessous:
Créer une séquence [schéma_name.] Sequence_nameAu lieu d'aucun, SQL Server n'utilise aucun cycle et aucun cache.
Vous pouvez en explorer plus sur les séquences de serveur SQL dans la ressource ci-dessous:
https: // docs.Microsoft.com / en-us / sql / t-sql / instructions / create-séquence-transact-sql?View = SQL-Server-Ver15
Remarque: Pour les utilisateurs de la base de données Oracle, consultez la ressource ci-dessous
https: // docs.oracle.com / cd / b12037_01 / serveur.101 / b10759 / instructions_6014.htm
Conclusion
Cet article détaillé couvrait les séquences SQL et comment nous pouvons les utiliser dans nos bases de données. Restez à l'écoute pour plus de tutoriels.