Có thể có một thực thể trong sơ đồ ER mà không có mối quan hệ?


8

Tôi đang tạo một sơ đồ ER cho một bài tập lớp và tôi tự hỏi liệu có thể tạo một thực thể không có mối quan hệ trực tiếp với bất kỳ thực thể nào khác hay không, và chỉ cần sử dụng các khóa ngoại để kết nối chúng. Sơ đồ dưới đây minh họa những gì tôi muốn làm

nhập mô tả hình ảnh ở đây

Về cơ bản, sơ đồ của tôi bắt đầu trở nên thực sự phức tạp và sẽ thật tuyệt nếu tôi không phải duy trì kết nối giữa mọi thực thể.

FWIW, tôi đang sử dụng ký hiệu Chân của Chen và Crow, nếu có bất kỳ trợ giúp nào.

Câu trả lời:


13

Một sơ đồ ER chỉ đơn thuần là một công cụ hỗ trợ bạn phát triển. Một sơ đồ ER thậm chí không theo ủy quyền yêu cầu bạn hiển thị tất cả các thực thể trong hệ thống.

Vì vậy, để trả lời câu hỏi của bạn theo một lộ trình: Hoàn toàn có thể chấp nhận được khi có một thực thể trên sơ đồ không có mối quan hệ với bất kỳ thực thể nào khác. Xem xét một bảng cài đặt được sử dụng bởi một ứng dụng đơn giản để lưu trữ các cài đặt cho chương trình. Nó sẽ không cần bất kỳ thực thể khác để làm công việc của mình. Nhưng nó vẫn sẽ là một đối tượng tồn tại trong phạm vi của kho dữ liệu.

Vì vậy, để trả lời câu hỏi của bạn bằng một lộ trình khác: Bạn có thể hiển thị nhiều hoặc ít sơ đồ trên sơ đồ ER theo yêu cầu để hiển thị thông tin bạn đang cố gắng trình bày. Nhưng nếu bạn chọn bỏ qua một mối quan hệ vì mục đích rõ ràng, sẽ vẫn có ý nghĩa khi ghi chú rằng R bị bỏ qua. Cá nhân tôi sẽ -{#}có một số trong các vòng tròn liên quan cho mỗi thực thể, với chú thích cho # đó ở cuối trang. Theo cách đó, những người đọc khác sẽ không phải hỏi liệu có nên có mối quan hệ khác hay không.

Đó là giá trị 0,05 đô la của tôi trên bất kỳ cách nào. Vấn đề ở đây là đây là một phần của phong cách. Một số người sẽ nói với bạn rằng bạn luôn phải đặt các mối quan hệ (ví dụ như sếp của bạn có thể yêu cầu điều đó, và điều đó sẽ thổi phồng lời khuyên của tôi). Nhưng sự thật cuối cùng là những gì trong cơ sở dữ liệu.


"Một sơ đồ ER thậm chí không theo ủy quyền yêu cầu bạn hiển thị tất cả các thực thể trong hệ thống" - hơn nữa đối với các hệ thống phức tạp, điều rất phổ biến là không có sơ đồ ER cho từng bộ phận thay vì cố gắng bao quát mọi thứ . Nếu một thực thể có các liên kết đến các thực thể không có trong sơ đồ hiện tại, bạn nên bao gồm một thực thể hoặc chú thích "giả", như được đề xuất ở trên. Cũng có thể tồn tại cùng một thực thể trong nhiều sơ đồ trong tập hợp, nếu quy ước đặt tên của bạn rõ ràng thì rõ ràng đây là trường hợp bạn đã thực hiện nó.
David Spillett

1
Bạn nên chỉnh sửa câu trả lời để làm cho phản hồi như thế này rõ ràng hơn
jcolebrand

Tôi không hoàn toàn chắc chắn rằng nó bổ sung lợi ích cốt lõi cho câu trả lời hoặc nên giữ nguyên như một chú thích - tôi thường để người trả lời ban đầu chỉnh sửa phần bổ sung nếu họ muốn trong những trường hợp như vậy. Rất vui được chỉnh sửa bản thân nếu bạn muốn.
David Spillett

1
Không, tiếp tục và chỉnh sửa nó. Đây là một trang web cộng đồng, bạn đang thêm chi tiết tốt.
jcolebrand

4

Do thực tế là hai thực thể "có liên quan" thông qua khóa ngoại, có mối quan hệ trực tiếp giữa chúng. Việc bạn có chọn biểu đồ mối quan hệ này theo cách thông thường hay không là tùy thuộc vào bạn, tuy nhiên sau đó tôi sẽ đề cập đến ký hiệu của bạn như một cái gì đó như, "Chen-Wilson" hoặc "Chân của Chris", vì nó không còn là "Chen" hay Crow's Foot . Tôi đồng ý với jcolebrand; chắc chắn ghi lại kết nối mối quan hệ bị thiếu để người hướng dẫn của bạn sẽ không nghĩ rằng bạn đã phạm sai lầm.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.