GUID SQL Server

Guid Sql Server



Σε αυτήν την ανάρτηση, θα μάθουμε πώς να χρησιμοποιούμε τον τύπο μοναδικού αναγνωριστικού στον SQL Server. Θα χρησιμοποιήσουμε επίσης τις συναρτήσεις NEWID() και NEWSEQUENTIALID() για να δημιουργήσουμε τιμές GUID.

Τύπος Uniqueidentifier SQL Server

Αυτή είναι μια τιμή GUID 16 byte που χρησιμοποιείται σε μια στήλη ή μια τοπική μεταβλητή. Μπορείτε να δημιουργήσετε μια τιμή τύπου μοναδικού αναγνωριστικού χρησιμοποιώντας τις συναρτήσεις NEWID() και NEWSEQUENTIALID().

Μπορείτε επίσης να δημιουργήσετε μια τιμή GUID μετατρέποντας μια τιμή συμβολοσειράς στη μορφή xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx όπου x είναι ένα δεκαεξαδικό ψηφίο στην περιοχή από 0 – 9.







Λόγω της «τυχαιότητας» μιας τιμής GUID, είναι εγγυημένο ότι μια τιμή GUID μπορεί να είναι μοναδική σε μια βάση δεδομένων ή ακόμη και σε διακομιστές. Αυτό καθιστά έναν εξαιρετικό τύπο δεδομένων για τον μοναδικό προσδιορισμό μιας δεδομένης τιμής.



Λειτουργία SQL Server NEWID().

Η συνάρτηση NEWID() μας επιτρέπει να δημιουργήσουμε μια νέα μοναδική τιμή του τύπου μοναδικού αναγνωριστικού. Η σύνταξη είναι όπως φαίνεται:



ΑΛΛΑΓΗ ( )

Για παράδειγμα:





δήλωση @gid uniqueidentifier.
set @gid = CHANGE();
επιλέξτε το @gid ως gid.

Οι παραπάνω δηλώσεις θα πρέπει να επιστρέφουν μια τιμή GUID ως:

gid
873412E2-A926-4EAB-B99F-A1E47E727355

Λειτουργία SQL Server NEWSEQUENTIALID().

Αυτή η λειτουργία σάς επιτρέπει να δημιουργείτε μοναδικές τιμές GUID διαδοχικά. Λειτουργεί δημιουργώντας μια τιμή GUID που είναι μεγαλύτερη από το GUID που δημιουργήθηκε προηγουμένως.



Αυτό το καθιστά χρήσιμο για χρήση ως αναγνωριστικό σειράς, καθώς δημιουργεί τιμές διαδοχικά αντί να προσδιορίζει με μη αυτόματο τρόπο την επόμενη τιμή GUID χρησιμοποιώντας τη συνάρτηση NEWID().

Η σύνταξη της συνάρτησης είναι όπως φαίνεται:

NEWSEQUENTIALID ( )

Χρήση του SQL Server GUID ως αναγνωριστικού σειράς

Το ακόλουθο παράδειγμα δείχνει πώς να χρησιμοποιήσετε τη συνάρτηση newsequentialid() ως αναγνωριστικό γραμμής για μια δεδομένη στήλη.

δημιουργία καταχωρήσεων πίνακα (
id uniqueidentifier όχι null προεπιλεγμένο πρωτεύον κλειδί newsequentialid(),
όνομα_διακομιστή varchar(50),
server_address varchar(255) δεν είναι null,
compression_method varchar(100) προεπιλεγμένη 'κανένα',
size_on_disk float όχι null,
μέγεθος_συμπιεσμένος πλωτήρας,
total_records int όχι null,
ημερομηνία έναρξης_ημερομηνίας
)
εισάγετε
σε
ENTRIES(όνομα_διακομιστή,
server_address,
compression_method,
μέγεθος_στο δίσκο,
μέγεθος_συμπιεσμένο,
σύνολο_εγγραφών,
init_date)
αξίες
('MySQL','localhost:3306','lz77',90.66,40.04,560000,'2022-01-02')
('Redis','localhost:6307','Snappy',3.55,998.2,100000,'2022-03-19')
('PostgreSQL','localhost:5432','pglz',101.2,98.01,340000 ,'2022-11-11'),
('Elasticsearch','localhost:9200','lz4',333.2,300.2,1200000,'2022-10-08'),
('MongoDB','localhost:27017','Snappy',4.55,4.10,620000,'2021-12-12')
('Apache Cassandra','localhost:9042','zstd',300.3,200.12,10000000,'2020-03-21');

Στο παραπάνω παράδειγμα, ορίσαμε τη στήλη ID ως τον τύπο μοναδικού αναγνωριστικού και την προεπιλεγμένη τιμή ως την τιμή που δημιουργείται από τη συνάρτηση newsequentialid().

Ο πίνακας που προκύπτει είναι όπως φαίνεται:

επιλέξτε * από τις καταχωρήσεις.

Παραγωγή:

Αν και η χρήση τιμών GUID μπορεί να προσφέρει αυστηρή μοναδικότητα, μπορεί να είναι δύσκολο κατά τον εντοπισμό σφαλμάτων ή την επιλογή συγκεκριμένων τιμών.

συμπέρασμα

Σε αυτόν τον οδηγό, μάθατε για τον τύπο μοναδικού αναγνωριστικού στον SQL Server. Μάθατε επίσης πώς να δημιουργείτε τιμές GUID χρησιμοποιώντας τις συναρτήσεις NEWID() και NEWSEQUENTIALID().