Pemodelan data adalah proses mengembangkan representasi visual dari seluruh aplikasi perangkat lunak atau komponennya untuk mengkomunikasikan hubungan antara titik dan struktur data. Ini melibatkan tinjauan cermat persyaratan aplikasi dan database dan sebagai hubungan antara keduanya terkait operasi data inti - baca, tulis, dan perbarui.
Model data yang stabil dibuat dengan menilai pola penggunaan aplikasi dan menyelaraskan skema database dengannya. Oleh karena itu, desain skema membentuk model data Anda. Jika berhubungan dengan database relasional, Anda tidak dapat mengisi tabel Anda tanpa membuat skema tabel.
Istilah Kunci yang Perlu Diketahui
Sebelum Anda melanjutkan, berikut beberapa definisi dasar yang harus Anda ketahui:
- Koleksi - Koleksi adalah kumpulan dokumen di MongoDB. Ini setara dengan tabel di RDBMS.
- Dokumen - Dokumen adalah struktur yang terdiri dari pasangan file dan nilai. Ini setara dengan baris di RDBMS.
- Skema Database - Desain skema adalah arsitektur logis dan visual dari basis data yang dirancang untuk sistem manajemen basis data (DBMS).
Apa Perbedaan Pemodelan Data Di MongoDB?
Berkat fleksibilitas NoSQL, Anda tidak perlu membuat skema sebelum penyisipan data. Itu karena MongoDB mendukung bentuk dinamis dari skema database. Ini menghilangkan kebutuhan untuk mendesain skema Anda sebelumnya. Sebagai gantinya, Anda sekarang dapat menyimpan data Anda dan membuat penyesuaian sesuai dengan koleksi Anda.
Anda dapat menyimpan jenis data yang berbeda dalam bidang tertentu dari suatu koleksi dan bahkan dapat menambahkan bidang baru, memperbarui nilai bidang, dan menghapus bidang yang ada. Anda akan menemukan manfaat sebenarnya dari fleksibilitas ini saat Anda memetakan dokumen ke suatu objek atau entitas.
Umumnya, koleksi dan dokumennya mengikuti struktur yang serupa. Anda juga dapat "menerapkan" aturan validasi untuk dokumen koleksi Anda dengan menggunakan validasi skema.
Terkait: Mesin Database untuk Dipertimbangkan untuk Proyek Anda Berikutnya
Saat membuat model data, lihat bagaimana aplikasi Anda akan berinteraksi dengan database. Misalnya, jika akan memproses dokumen yang disisipkan baru-baru ini, sebaiknya gunakan koleksi yang dibatasi - koleksi dengan ukuran tetap yang mendukung operasi throughput tinggi.
Demikian pula, jika aplikasi Anda akan bekerja dengan operasi baca di sebagian besar waktu, Anda dapat menyetel indeks untuk mendukung kueri umum dan meningkatkan kinerja.
Secara tradisional, salah satu pertimbangan dalam membuat model data adalah bagaimana cara menyimpan data terkait. Database relasional menggunakan tabel untuk menyimpan data, di mana kunci utama dan asing digunakan untuk mengatur hubungan data.
Demikian pula, gabungan digunakan untuk mengakses dan menjalankan operasi pada beberapa tabel. Sebagai seseorang yang telah beralih ke MongoDB dari DBMS relasional, seperti SQL Server, Anda tidak akan menemukan gabungan di MongoDB. Itu karena MongoDB menyimpan data koleksi dengan mereferensikan data atau menyematkan data ke dalam koleksi.
Oleh karena itu, jika model data Anda menggunakan sepuluh tabel dalam database relasional, MongoDB memungkinkan Anda menggabungkannya dalam satu koleksi.
Jenis Model Data
Sekarang setelah Anda mengetahui cara kerja pemodelan data di MongoDB, mari kita pelajari jenis model data yang didukung oleh MongoDB. Biasanya, ini tergantung pada struktur dokumen Anda dan hubungan data aplikasi Anda.
Model Data Tersemat
Anda dapat menyematkan data dalam satu dokumen atau struktur di MongoDB. Juga disebut sebagai model data yang dinormalisasi, ini memanfaatkan potensi penuh dari dokumen kaya MongoDB. Misalnya, perhatikan contoh berikut: kami memiliki koleksi, siswa, berisi dokumen Matt. Dalam dokumen ini, kami telah menyematkan dua dokumen, detail kontak dan kelas.
{
"_id": "4aad66a4c13bb24f12gh199e",
nama: "Matt",
detail kontak: {
telepon: ”555-555-1234”
alamat email: “[email protected]”
},
nilai: {
subjek: “CS101”
skor: “B”
}}
Penyematan menyimpan detail yang relevan dalam dokumen atau catatan database yang sama. Dengan cara ini, Anda dapat meminimalkan kueri dan pembaruan yang diperlukan untuk melakukan operasi DB umum.
Kapan Anda harus menggunakan model data yang disematkan? Mereka berguna untuk meningkatkan kinerja operasi baca. Selain itu, mereka efektif untuk memproses pengambilan data dari satu catatan. Dengan model ini, Anda dapat menggunakan satu operasi tulis untuk memperbarui data terkait.
Namun, ada sesuatu yang perlu Anda ingat: embedding meningkatkan ukuran dokumen setelah dibuat. Dalam beberapa kasus, ini dapat memengaruhi kinerja tulis dan ada juga kemungkinan fragmentasi data karena ukuran dokumen yang membesar.
Terakhir, Anda dapat berinteraksi dengan dokumen yang disematkan menggunakan notasi titik dan menjelajahinya dengan mudah. Berikut sintaksnya:
field.nestedField: nilai
Untuk contoh di atas, Anda dapat mengakses dokumen bertingkat Anda dengan menulis kueri berikut:
db.students.find ({detail kontak: {telepon: "555-555-1234", alamat email: "[email protected]"}}). cantik ()
Model Data yang Dinormalkan (Referensi)
Model data yang dinormalisasi digunakan untuk membangun model hubungan satu ke banyak dan banyak ke banyak. Saat bekerja dengan model dokumen yang disematkan, akan ada kalanya Anda harus mengulang data. Di sinilah referensi berguna - mereka menangani redundansi. Berikut adalah cara kami menggunakan referensi untuk contoh di atas.
Kami telah membagi satu dokumen kami menjadi tiga dokumen dan sejak itu detail kontak dan kelas memiliki id dari Matt dokumen, Anda dapat memanggil mereka bila diperlukan.
siswa
{
_Indo:
nama pengguna: “Matt”
}
detail kontak
{
_Indo:
identitas pengguna:
email: “[email protected]”
telepon: ”555-555-1234”
}
kelas
Indo:
identitas pengguna: ,
subjek: “CS101”,
skor: “B”
}
Seperti yang Anda lihat, model data yang dinormalisasi membagi data menjadi beberapa koleksi dengan menggunakan referensi di antara koleksi yang lebih baru. Anda dapat memperbarui satu dokumen, yang akan memperbarui koleksi lainnya. Ini adalah cara yang efisien untuk memperbarui data dan sebagian besar digunakan saat data Anda sering mengalami perubahan.
Berikut adalah saat-saat ketika model data yang dinormalisasi adalah pilihan yang lebih bijak:
- Anda harus membuat model kumpulan data besar yang mengikuti hierarki tertentu.
- Anda harus merepresentasikan beberapa hubungan banyak ke banyak.
- Penyematan akan menyebabkan duplikasi data tanpa cukup menguntungkan kinerja baca Anda.
Sekarang Anda Dapat Memodelkan Data Di MongoDB dengan Mudah
Sekarang, Anda tahu bagaimana pemodelan data di MongoDB berbeda dari DBM relasional, terutama dalam hal skema. Anda juga telah mempelajari tentang jenis model data di MongoDB - dinormalisasi dan dinormalisasi - dan mempelajari kapan menggunakannya.
Dan ini baru permulaan; masih banyak lagi yang harus dipelajari tentang bagaimana MongoDB dapat mengatur data Anda.
Opsi edit adalah salah satu fitur Twitter yang paling sering diminta. Jadi mengapa perusahaan tidak mengizinkannya?
Baca Selanjutnya
- Pemrograman
- database
Berlangganan newsletter kami
Bergabunglah dengan buletin kami untuk mendapatkan tip teknologi, ulasan, ebook gratis, dan penawaran eksklusif!
Satu langkah lagi…!
Harap konfirmasi alamat email Anda di email yang baru saja kami kirimkan kepada Anda.