Indeks unik adalah indeks yang membantu menjaga integritas data dengan memastikan tidak ada baris data dalam tabel yang memiliki nilai kunci yang identik Show
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 NULLIndeks 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 unikPenting 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
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
Ini mengembalikan setiap dokumen dalam koleksi Kueri #2
Paket Ilmu Data Semua dalam Satu(360+ Kursus, 50+ proyek) Harga 360+ Kursus Daring. 50+ proyek. 1500+ Jam. Sertifikat yang Dapat Diverifikasi. Akses Seumur Hidup Ini adalah upaya untuk memasukkan catatan dengan kode yang sama Kode
Keluaran Penjelasan. Di sini, kami telah mengimplementasikan indeks unik untuk kunci "kode", jadi ketika kami mencoba menyimpan dokumen dengan kode yang ada, hasilnya adalah "kesalahan kunci duplikat" Batasan Unik untuk Nilai NullSaat kami menyimpan dokumen apa pun, kami menyimpan nilai untuk kunci masing-masing, dan disimpan sesuai pengindeksan. Namun jika kita mencoba untuk menyimpan dokumen yang tidak memiliki nilai atau data tertentu untuk kunci, untuk kunci yang tidak pasti, dokumen akan disimpan, dan nilai kosong akan disimpan sebagai nilai null dalam dokumen itu. Di MongoDB, hanya dokumen yang diizinkan untuk disimpan dengan satu bidang indeks yang hilang Contoh untuk Menerapkan Kendala UNIK di MongoDBMenerapkan Batasan Unik pada dokumen terpisah untuk tidak menyimpan nilai yang sama untuk kunci indeks, dalam dua dokumen berbeda Contoh 1Kami akan mencoba memasukkan dan menyimpan dokumen dengan nilai duplikat. Kami memiliki koleksi bernama educba, yang akan kami periksa dengan metode find. db. pendidikan. menemukan() Kode
Keluaran Seperti yang Anda lihat pada gambar di atas, kami memiliki koleksi bernama educba, dan dokumen tersebut memiliki satu "_id" unik default dan dua kunci lagi. Kami sekarang akan menerapkan batasan unik pada "Nama", yang akan menjadikannya unik, bukti penyisipan duplikat Kode
Keluaran Menggunakan > db. pendidikan. createIndex( { “Nama”. 1 ,{ unik. true} ) kami telah menerapkan batasan unik dari kunci Nama. Dalam pesan balasan kami memiliki "ok" dan detail lainnya. Sekarang mari kita coba memasukkan satu dokumen baru dan kemudian memasukkannya kembali dengan nilai yang sama. Lihat tangkapan layar di bawah ini untuk hasil yang tepat Kode
Keluaran Permintaan Pertama. Permintaan di atas akan berhasil dimasukkan. Kemudian kami mencoba memasukkan kueri yang sama, mis. e. dokumen yang sama dengan nilai yang sama, tetapi menghasilkan kesalahan yang menyatakan, "istilah". “Pengumpulan kesalahan kunci duplikat E11000. tes. indeks pendidikan. Nama_1 dup kunci. {. \”Sulaksh\” }””. Ini membuat batasan unik kami berhasil diterapkan pada bidang Nama Contoh #2Kami sekarang akan menerapkan batasan nilai unik pada Kunci, yang menyimpan Nilai Email. Kami akan memperbarui dokumen kami untuk menambahkan bidang lain dengan email. Kami kemudian akan menambahkan indeks lain di bidang email, agar tidak menyimpan id email yang sama untuk banyak dokumen Kode
Keluaran Kami tidak akan mencoba menyisipkan dokumen dengan nama yang berbeda tetapi id email yang sudah ada di dokumen lain. Harapannya adalah operasi penyisipan tidak akan berfungsi dan melalui kami kesalahan nilai duplikat. Kami memiliki dokumen lain dengan nama yang sedikit berbeda. Sanket1, untuk tujuan pengujian, dan sekarang kami akan mencoba memperbarui dokumen dengan email. sanket@email. com Kode
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 KesimpulanMenerapkan 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 DirekomendasikanIni 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 – Apakah indeks unik?KEY atau INDEX mengacu pada indeks non-unik normal. Nilai yang tidak berbeda untuk indeks diperbolehkan, sehingga indeks dapat berisi baris dengan nilai identik di semua kolom indeks
Apakah kolom indeks unik?Indeks unik memastikan kolom kunci indeks tidak berisi nilai duplikat apa pun . Indeks unik dapat terdiri dari satu atau banyak kolom. Jika indeks unik memiliki satu kolom, nilai dalam kolom ini akan unik. Jika indeks unik memiliki banyak kolom, kombinasi nilai dalam kolom ini unik.
Apa perbedaan antara unik dan nonIndeks unik berbeda dari indeks tidak unik dalam menegakkan keunikan nilai atribut yang diindeks untuk objek yang dilampirkan ke indeks . Misalnya, Anda mungkin ingin mengisi objek Orang ke dalam dua indeks, yang unik pada atribut "email", dan yang tidak unik pada atribut "nama belakang".
Apa yang benar tentang indeks di MongoDB?Indeks mendukung eksekusi kueri yang efisien di MongoDB . Tanpa indeks, MongoDB harus melakukan pemindaian koleksi, mis. e. pindai setiap dokumen dalam koleksi, untuk memilih dokumen yang cocok dengan pernyataan kueri. |