Ini pada dasarnya adalah pertanyaan tentang apa itu entitas yang lemah? Kapan kita harus menggunakannya? Bagaimana mereka harus dimodelkan?
Apa perbedaan utama antara entitas normal dan entitas lemah? Apakah entitas yang lemah terkait dengan objek nilai saat melakukan Desain Berbasis Domain?
Untuk membantu menjaga pertanyaan pada topik di sini adalah contoh yang diambil dari Wikipedia yang dapat digunakan orang untuk menjawab pertanyaan ini:
Dalam contoh OrderItem
ini dimodelkan sebagai entitas yang lemah, tapi saya tidak bisa mengerti mengapa itu tidak dapat dimodelkan sebagai entitas normal.
Pertanyaan lain adalah bagaimana jika saya ingin melacak riwayat pesanan (yaitu perubahan dalam statusnya) apakah itu entitas yang normal atau lemah?
OrderItem
tergantung padaOrder
karena tidakorderItems
ada yang bisa ada tanpa menjadi milikorder
, tetapi saya tidak dapat melihat mengapa saya tidak dapat menggunakanItemLineNumber
untuk hanya mengidentifikasi item ?! Sebenarnya saya mungkin hanya membuatItemLineNumber
otomatis dihasilkanint
untuk memastikan keunikan dan menggunakan kunci asingorderID
untuk menghubungkan kedua entitas bersama ?!