Una sequenza si riferisce a una serie di valori interi unici generati su richiesta. Sono una caratteristica prevalente in molti motori di database. Questo perché vari scenari richiedono che ogni record nel database abbia un identificatore univoco.
Discutiamo il concetto di sequenze SQL in questo tutorial.
Come funzionano le sequenze SQL
Non esiste un modo universale per descrivere come funzionano le sequenze. Questo perché vari motori di database li implementano in modo diverso.
Impariamo come funziona.
Sequenze in mysql
Le sequenze in MySQL sono implementate impostando l'attributo Auto_InCrement in una colonna. Nella maggior parte dei casi, questa colonna è anche selezionata come chiave primaria poiché ciascun valore nella colonna deve essere univoco.
Possiamo illustrare come usare una sequenza in MySQL come mostrato nella query seguente:
-- MysqlLa query sopra crea una colonna con una sequenza SQL utilizzando la parola chiave Auto_InCrement. Si noti che impostiamo anche il vincolo della chiave primaria sulla colonna.
Sebbene l'aggiunta di sequenze in MySQL sia facile come illustrato sopra, ci sono alcuni punti da notare:
Sequenza in PostgreSQL
In PostgreSQL, le sequenze sono oggetti definiti dall'utente legati allo schema in cui vengono creati.
Per creare una sequenza in PostgreSQL, utilizzare la sintassi come mostrato di seguito:
-- PostgresqlOk, cosa significa tutto questo? Permettici di scomporlo in sezioni più piccole che possiamo capire.
Creare sequenza
La prima parte è la sequenza di creazione. Ciò consente di creare una nuova sequenza se non esiste. Il nome della sequenza può essere tutto ciò che desideri.
Come data_type
La clausola AS consente di specificare il tipo di dati per la sequenza. PostgreSQL consente tipi Smallint, Int e Bigint. Se non si desidera identificare il tipo di dati, puoi saltare questa clausola e PostgreSQL sarà impostata predefinita a Bigint.
Incremento di
Questa clausola specifica il valore aggiunto alla sequenza corrente per creare un nuovo valore di sequenza. Ad esempio, se la sequenza è 1,2,3,4,5, il valore dell'incremento è 1.
Se si desidera iniziare dall'alto e scendere quando vengono aggiunti i record, specificare un valore negativo per l'incremento per clausola.
Per impostazione predefinita, PostgreSQL utilizzerà il valore di incremento di 1.
Minvalue
Questa clausola definisce il valore minimo per la sequenza. Se non viene specificato alcun valore, PostgreSQL utilizzerà il valore predefinito.
Maxvalue
La clausola MaxValue imposta il valore massimo per la sequenza.
INIZIA CON
Questa clausola imposta il valore iniziale per la sequenza. Se non viene specificato alcun valore, il minvalue viene utilizzato per le sequenze ascendenti e Maxvule viene utilizzato per sequenze discendenti.
Cache
Questa clausola definirà quanti numeri di sequenza devono essere preallocati e memorizzati in memoria. Ciò consente un accesso più rapido. Per impostazione predefinita, PostgreSQL utilizzerà un valore di 1 quindi non cache.
CICLO
La clausola del ciclo consente di specificare l'involucro quando i valori max o min sono raggiunti nella sequenza. PostgreSQL utilizzerà rispettivamente Min e MaxValue quando viene raggiunto il limite se il ciclo non specificato.
POSSEDUTO DA
Questa opzione specifica con cui è associata la colonna della tabella la sequenza. Quindi, se la colonna o la tabella viene eliminata, la sequenza viene anche eliminata.
Se la sequenza non è associata a nessuna tabella o colonna, è possibile impostare il di proprietà di nessuno.
Per creare una sequenza semplice in PostgreSQL, eseguire la query:
Crea sequenza my_seqLa query sopra crea una nuova sequenza associata a my_column nella tabella my_table.
Puoi esplorare di più sulle sequenze di PostgreSQL nella risorsa seguente:
https: // www.Postgresql.Org/Docs/Current/SQL-Createsequence.html
Sequenze in SQL Server
Come PostgreSQL, le sequenze in SQL Server sono oggetti definiti dall'utente. Pertanto, usano una sintassi strettamente simile per le sequenze in PostgreSQL. L'unica differenza è la sintassi.
La sintassi di esempio è come illustrato di seguito:
Crea sequenza [Schema_Name.] sequence_nameInvece di nessuno, SQL Server non utilizza ciclo e nessuna cache.
Puoi esplorare di più sulle sequenze di server SQL nella risorsa seguente:
https: // docs.Microsoft.com/en-us/sql/t-sql/istruzioni/create-sequence-transact-sql?Visualizza = SQL-Server-Ver15
NOTA: per gli utenti del database Oracle, controlla la risorsa di seguito
https: // docs.oracolo.com/cd/b12037_01/server.101/b10759/istruzioni_6014.htm
Conclusione
Questo articolo dettagliato ha riguardato le sequenze SQL e come possiamo usarle nei nostri database. Resta sintonizzato per altri tutorial.