Bagaimana Membuat Relasi Antar Tabel Dengan Menggunakan Database Mongodb

4 min read Jul 18, 2024
Bagaimana Membuat Relasi Antar Tabel Dengan Menggunakan Database Mongodb

Cara Membuat Relasi Antar Tabel Menggunakan MongoDB

MongoDB adalah database NoSQL yang populer dan dikenal dengan fleksibilitas dan skalabilitasnya. Meskipun MongoDB tidak memiliki konsep tabel seperti database relasional tradisional, kita dapat membuat relasi antar data dengan menggunakan beberapa strategi. Berikut beberapa cara untuk membuat relasi antar data di MongoDB:

1. Reference

Strategi yang paling umum adalah reference. Dalam metode ini, kita menyimpan reference (ID) dari dokumen terkait dalam dokumen lain. Misalnya, jika kita memiliki koleksi "users" dan "posts", kita dapat menyimpan ID pengguna dalam dokumen "posts" untuk menunjukan siapa yang membuat postingan tersebut.

// Koleksi Users
{
  "_id": ObjectId("64474f994799e133b51276a9"),
  "name": "John Doe",
  "email": "[email protected]"
}

// Koleksi Posts
{
  "_id": ObjectId("64474fa04799e133b51276aa"),
  "title": "My first post",
  "content": "This is my first post.",
  "author": ObjectId("64474f994799e133b51276a9") // Reference ke User
}

Dalam contoh ini, "author" di dokumen "posts" adalah reference ke dokumen "users" dengan ID "64474f994799e133b51276a9".

2. Embedded Documents

Strategi ini melibatkan penyisipan embedded documents (dokumen yang tertanam) dalam dokumen lain. Ini berguna untuk menyimpan data terkait yang tidak terlalu banyak. Misalnya, kita bisa menyimpan informasi detail pengguna langsung di dalam dokumen "posts".

// Koleksi Posts
{
  "_id": ObjectId("64474fa04799e133b51276aa"),
  "title": "My first post",
  "content": "This is my first post.",
  "author": {
    "name": "John Doe",
    "email": "[email protected]"
  }
}

Dengan menggunakan embedded documents, kita tidak perlu melakukan query tambahan untuk mendapatkan informasi tentang penulis.

3. Array of References

Jika sebuah dokumen memiliki hubungan "one-to-many" atau "many-to-many" dengan dokumen lain, kita dapat menggunakan array of references. Ini memungkinkan satu dokumen memiliki referensi ke banyak dokumen lainnya.

// Koleksi Users
{
  "_id": ObjectId("64474f994799e133b51276a9"),
  "name": "John Doe",
  "email": "[email protected]"
}

// Koleksi Posts
{
  "_id": ObjectId("64474fa04799e133b51276aa"),
  "title": "My first post",
  "content": "This is my first post.",
  "authors": [
    ObjectId("64474f994799e133b51276a9") // Reference ke User
  ]
}

Dalam contoh ini, "authors" adalah array yang berisi references ke beberapa dokumen "users".

Kesimpulan

MongoDB menyediakan fleksibilitas untuk membuat relasi antar data dengan berbagai cara. Pilihan metode terbaik tergantung pada kebutuhan dan struktur data Anda. Menggunakan referensi sangat cocok untuk hubungan "one-to-many" dan "many-to-many", sedangkan embedded documents lebih cocok untuk hubungan "one-to-one" dengan data yang relatif kecil.