Indeks unik adalah indeks yang membantu menjaga integritas data dengan memastikan tidak ada baris data dalam tabel yang memiliki nilai kunci yang identik
Saat Anda membuat indeks unik untuk tabel yang ada dengan data, nilai dalam kolom atau ekspresi yang terdiri dari kunci indeks diperiksa keunikannya. Jika tabel berisi baris dengan nilai kunci duplikat, proses pembuatan indeks akan gagal. Ketika indeks unik ditentukan untuk sebuah tabel, keunikan diberlakukan setiap kali kunci ditambahkan atau diubah dalam indeks. Penegakan ini mencakup penyisipan, pembaruan, pemuatan, impor, dan integritas set, untuk beberapa nama. Selain menegakkan keunikan nilai data, indeks unik juga dapat digunakan untuk meningkatkan kinerja pengambilan data selama pemrosesan kueri.
Indeks non-unik tidak digunakan untuk menerapkan batasan pada tabel yang terkait dengannya. Sebagai gantinya, indeks non-unik digunakan semata-mata untuk meningkatkan kinerja kueri dengan mempertahankan urutan terurut dari nilai data yang sering digunakan
Menyertakan dan mengecualikan kunci NULL
Indeks unik dan non-unik dapat dibuat sehingga kunci tidak dimasukkan ke dalam objek indeks ketika semua kolom atau ekspresi kunci adalah nol. Mengecualikan kunci null dapat menghasilkan penyimpanan yang lebih baik dan pengoptimalan kinerja untuk kasus di mana Anda tidak ingin kueri mengakses data yang terkait dengan kunci null. Untuk indeks unik, pemberlakuan keunikan data tabel mengabaikan baris di mana kunci indeks adalah nolPerbedaan antara primary key atau unique key constraint dan indeks unik
Penting untuk dipahami bahwa tidak ada perbedaan yang signifikan antara primary key atau unique key constraint dan indeks unik. Untuk menerapkan konsep batasan kunci primer dan unik, pengelola basis data menggunakan kombinasi indeks unik dan batasan NOT NULL. Oleh karena itu, indeks unik tidak memberlakukan batasan kunci primer sendiri karena mengizinkan nilai nol. Meskipun nilai null mewakili nilai yang tidak diketahui, dalam hal pengindeksan, nilai null diperlakukan sama dengan nilai null lainnya
Oleh karena itu, jika indeks unik terdiri dari satu kolom, hanya satu nilai nol yang diperbolehkan-lebih dari satu nilai nol akan melanggar batasan unik. Demikian pula, jika indeks unik terdiri dari beberapa kolom, kombinasi nilai dan nol tertentu hanya dapat digunakan satu kali
Kendala Unik MongoDB memastikan bahwa bidang yang diindeks di dalamnya, tidak menyimpan nilai duplikat untuk bidang yang sama, yaitu. e. , memastikan keunikan bidang. Secara default, MongoDB menerapkan batasan unik ini pada kolom “_id”, saat memasukkan data baru. Salah satu tanggung jawab utama adalah memastikan tidak ada data duplikat yang disimpan dalam satu kunci. Kami juga memiliki batasan di sini, seperti MongoDB tidak akan dapat membuat indeks unik pada bidang tertentu, jika koleksi entah bagaimana telah menyimpan data apa pun yang akan melanggar fitur batasan unik untuk indeks
Sintaksis
Sekarang kita telah memahami apa Unique Constraint di MongoDB, mari kita pelajari sintaks standar untuk menulis metode Unique ini
db.collection_name.createIndex( {field_name : 1} , {unqiue : true} )
Mulai Kursus Ilmu Data Gratis Anda
Hadoop, Ilmu Data, Statistik & lainnya
Penjelasan. Sekarang, seperti yang Anda lihat pada sintaks di atas, kami telah membuat indeks sederhana, yang berarti data yang disimpan dalam koleksi akan diindeks dan menambahkan argumen dengan “{unqiue. true}” mengimplementasikan batasan unik
Bagaimana Kendala UNIK bekerja di MongoDB?
Indeks Unik memungkinkan penyisipan dan penyimpanan nilai dalam dokumen ke dalam koleksi JIKA tidak ada dokumen lain dalam koleksi yang sama dengan kunci dan nilai indeks yang sama. Kendala unik dapat diimplementasikan pada indeks majemuk. Ini membantu MongoDB untuk menerapkan keunikan saat menggabungkan nilai kunci indeks. Kendala Unik atas beberapa dokumen terpisah dimungkinkan di MongoDB, dan ini merupakan fungsi penting untuk menghindari penyimpanan nilai yang sama untuk kunci yang diindeks dalam dokumen yang berbeda
Kendala Unik di MongoDB hanya akan mengizinkan satu dokumen dengan nilai yang sama untuk kunci yang diindeks. Jika kami mencoba memasukkan nilai yang sama untuk satu kunci yang diindeks, itu akan menghasilkan kesalahan
Kueri #1
db.code.find()_
Ini mengembalikan setiap dokumen dalam koleksi
Kueri #2
db.code.insert( { name:”kumar”, city:“Pune”, code:19 } )
Paket Ilmu Data Semua dalam Satu(360+ Kursus, 50+ proyek)
sanket@gmail.com” }})_
Permintaan di atas akan bertujuan untuk mencari catatan dengan Nama. Sanket1 dan akan memperbarui catatan dengan menambahkan id email ke dokumen, di sini $set akan menambahkan bidang untuk dokumen
Keluaran
Seperti yang Anda lihat pada tangkapan layar di atas, ketika kami mencoba memperbarui catatan dengan bidang Nama yang berbeda, emailnya sama dengan satu dokumen yang ada. Itu memberi kami kesalahan tulis, yang berarti terjadi kesalahan saat menulis dokumen. Kesalahan menyatakan "pengumpulan kesalahan kunci duplikat. tes. indeks pendidikan. kunci duplikat email_1”. Kesalahan menunjuk ke masalah dan membuat semuanya jelas untuk kita pahami. Seperti dalam kasus kami, email dengan nilai “sanket@email. com” digandakan, sudah disimpan, jadi tidak akan disimpan lagi karena pengindeksan unik di kolom email. Jika Anda ingin tahu, saya telah menggunakan pembaruan dengan $get untuk menambahkan bidang lain untuk catatan yang ada
Gunakan Kasus untuk contoh ini. Apakah Pendaftaran Pengguna Baru di mana kami harus memastikan bahwa satu id email tidak digunakan untuk membuat banyak akun
Kesimpulan
Menerapkan Kendala Unik akan membatasi database dari menyimpan nilai duplikat untuk kunci yang diindeks sama untuk membungkusnya. Fitur ini membantu dalam menyimpan dokumen dengan keunikan. Kami mempelajari dan memahami sintaks yang diikuti dengan cara kerjanya. Kemudian kami menerapkan batasan unik dengan contoh dan memahaminya masing-masing bersama dengan tangkapan layar
Artikel yang Direkomendasikan
Ini adalah panduan untuk MongoDB Unique. Di sini kita membahas pengantar, bagaimana cara kerja Unique dan contoh untuk pemahaman yang lebih baik. Anda juga dapat membaca artikel terkait lainnya untuk mempelajari lebih lanjut –