MySQL - UUID (ID)

Halo teman-teman, para ahli basisdata masa depan! Hari ini, kita akan menyelam ke dalam dunia magis UUID di MySQL. Jangan khawatir jika Anda masih baru; pada akhir pelajaran ini, Anda akan bisa menciptakan UUID seperti seorang ahli!

MySQL - UUID

Fungsi UUID MySQL

Mari kita mulai dari dasar. UUID singkatan dari Universally Unique Identifier. Itu seperti memberikan setiap butir pasir di pantai nama yang unik. Bagus, kan?

Dalam MySQL, kita memiliki fungsi yang praktis bernama UUID() yang menghasilkan identifier unik bagi kita. Itu seperti memiliki jin yang memberikan Anda permintaan unik setiap kali Anda memanggilnya!

Berikut cara Anda menggunakannya:

SELECT UUID();

Ketika Anda menjalankan ini, Anda akan mendapatkan sesuatu yang seperti ini:

'123e4567-e89b-12d3-a456-426614174000'

Setiap kali Anda memanggil UUID(), Anda akan mendapatkan hasil yang berbeda. Itu seperti memutar dadu dengan triliun sisi!

Mengapa Menggunakan UUID?

Anda mungkin berpikir, " Mengapa harus kesulitan dengan string panjang dan rumit ini?" Well, bayangkan Anda menjalankan toko online besar. Anda perlu memastikan bahwa setiap pesanan memiliki nomor unik, bahkan jika dua pelanggan memesan pesanan pada saat yang sama. UUID menyelesaikan masalah ini secara indah!

Format UUID

Sekarang, mari kitauraikan struktur UUID. Itu bukan hanya campuran acak karakter; ada metode di dalam kegilaannya!

UUID adalah nomor 128-bit yang direpresentasikan sebagai 32 digit heksadesimal, ditampilkan dalam lima kelompok dipisahkan oleh tanda minus. Itu tampak seperti ini:

xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

Di mana:

  • x adalah digit heksadesimal (0-9 atau a-f)
  • M adalah versi UUID (1-5)
  • N adalah varian (8, 9, a, atau b)

Dalam MySQL, kita biasanya menggunakan UUID versi 1 atau 4.

UUID dalam Tabel Database

Mari kita gunakan pengetahuan UUID yang baru kita pelajari dalam tabel database nyata!

Bayangkan kita membuat tabel untuk perpustakaan untuk mencatat buku. Kita akan menggunakan UUID sebagai kunci utama:

CREATE TABLE books (
book_id CHAR(36) PRIMARY KEY,
title VARCHAR(100),
author VARCHAR(100),
publication_year INT
);

Sekarang, mari kita tambahkan buku ke perpustakaan kita:

INSERT INTO books (book_id, title, author, publication_year)
VALUES (UUID(), 'The MySQL Magician', 'Query Queen', 2023);

Setiap kali kita menjalankan pernyataan INSERT ini, kita akan menambahkan buku baru dengan ID unik yang terjamin. Tidak lagi khawatir tentang kunci ganda!

Memilih Buku dengan UUID

Untuk mengambil buku MySQL magis kita, kita dapat menggunakan:

SELECT * FROM books WHERE title = 'The MySQL Magician';

Ini akan memberikan kita sesuatu seperti ini:

book_id                               | title               | author      | publication_year
--------------------------------------+---------------------+-------------+------------------
f47ac10b-58cc-4372-a567-0e02b2c3d479  | The MySQL Magician  | Query Queen | 2023

Mengubah UUID

Sekarang, Anda mungkin berpikir, "Apakah saya dapat mengubah UUID setelah diciptakan?" Jawaban singkatnya adalah: Anda bisa, tapi Anda mungkin tidak seharusnya!

UUID dirancang untuk unik dan permanen. Mengubah mereka menghapus tujuannya. Namun, jika Anda benar-benar harus mengubah UUID (mungkin Anda membersihkan data tes), Anda dapat melakukan itu seperti ini:

UPDATE books
SET book_id = UUID()
WHERE title = 'The MySQL Magician';

Ini akan memberikan UUID baru ke bukunya. Tetapi ingat, dalam situasi dunia nyata, ini bisa menyebabkan berbagai macam masalah jika bagian lain sistem Anda merujuk ke UUID lama!

Fungsi dan Metode UUID

MySQL menyediakan beberapa fungsi untuk bekerja dengan UUID. Mari kita lihat mereka dalam tabel praktis:

Fungsi Deskripsi
UUID() Menghasilkan UUID baru
UUID_TO_BIN(uuid) Mengkonversi UUID dari format string ke biner
BIN_TO_UUID(uuid_bin) Mengkonversi UUID dari format biner ke string
IS_UUID(string) Memeriksa apakah string adalah UUID valid

Berikut adalah contoh singkat tentang bagaimana menggunakannya:

SELECT UUID() AS new_uuid,
UUID_TO_BIN(UUID()) AS binary_uuid,
BIN_TO_UUID(UUID_TO_BIN(UUID())) AS back_to_string,
IS_UUID(UUID()) AS is_valid_uuid;

Ini akan memberikan Anda UUID baru, representasinya dalam biner, biner dikonversi kembali ke string, dan konfirmasi bahwa itu UUID valid.

Kesimpulan

Dan begitu saja, murid-murid tercinta! Kita telah berjalan melalui negeri UUID, dari penciptaannya hingga penggunaannya dalam basisdata, dan bahkan menyusuri beberapa fungsi tingkat lanjut.

Ingat, UUID seperti salju - tidak ada yang sama (well, hampir - peluang duplikasi adalah sangat kecil). Mereka sempurna untuk memastikan keunikan di seluruh sistem distribusi, membuat mereka alat kuat dalam peralatan MySQL Anda.

Sekarang, saat Anda terus menjalankan petualangan MySQL Anda, Anda akan menemukan banyak penggunaan untuk UUID. Mereka sangat berguna dalam situasi di mana Anda memerlukan identifier unik tanpa otoritas sentral untuk memberikannya.

Terus latih, tetap bersemangat, dan sebelum Anda tahu, Anda akan menjadi ahli UUID dalam tim pengembangan Anda! Sampai jumpa lagi, selamat berquery!

Credits: Image by storyset