Đây cơ bản là một câu hỏi về các thực thể yếu là gì? Khi nào chúng ta nên sử dụng chúng? Chúng nên được mô hình hóa như thế nào?
Sự khác biệt chính giữa các thực thể bình thường và các thực thể yếu là gì? Các thực thể yếu có tương ứng với các đối tượng giá trị khi thực hiện Thiết kế hướng miền không?
Để giúp giữ câu hỏi về chủ đề ở đây là một ví dụ được lấy từ Wikipedia mà mọi người có thể sử dụng để trả lời những câu hỏi sau:
Trong ví dụ này OrderItem
được mô hình hóa như một thực thể yếu, nhưng tôi không thể hiểu tại sao nó không thể được mô hình hóa như một thực thể bình thường.
Một câu hỏi khác là nếu tôi muốn theo dõi lịch sử đặt hàng (tức là những thay đổi trong trạng thái của nó) thì đó sẽ là một thực thể bình thường hay yếu?
OrderItem
phụ thuộc vàoOrder
vì khôngorderItems
thể tồn tại mà không thuộc về mộtorder
, nhưng tôi không thể hiểu tại sao tôi không thể sử dụngItemLineNumber
để chỉ xác định một mặt hàng?! Trên thực tế tôi chỉ có thể tạoItemLineNumber
một ô tô được tạoint
để đảm bảo tính duy nhất và sử dụng khóa ngoạiorderID
để liên kết hai thực thể với nhau?!