Làm thế nào để thể hiện khóa ngoại trong sơ đồ ER?


7

Giả sử tôi có bảng 'Giao dịch' có cột 'ID khách hàng' (Khóa ngoài) và Bảng khách hàng có 'ID' (Khóa chính). Làm cách nào để hiển thị mối quan hệ giữa hai bảng và cho thấy 'ID khách hàng' là khóa ngoại của Bảng 'Giao dịch' là khóa chính trong bảng 'Khách hàng'?

Tôi đã googled câu hỏi này và cũng đã kiểm tra diễn đàn này cho truy vấn của tôi nhưng không thể tìm thấy một ví dụ chính xác với một sơ đồ giải quyết câu hỏi của tôi.

Hãy giải thích cho tôi, nếu có thể, với một sơ đồ.


Tôi đã tìm thấy liên kết sau đây nói rằng chúng ta chỉ có thể hiển thị Khóa ngoài trong Biểu đồ ER khái niệm. lucidchart.com/pages/ER-diagram-symbols-and-meaning . Xin vui lòng cho tôi biết làm thế nào tôi có thể làm điều đó.
MK Singh

Tôi đã học ở trường (!!) rằng các khóa chính có thể được biểu diễn bằng một gạch chân thẳng dưới (các) thuộc tính và (các) khóa ngoại với một đường chấm chấm
user1363989

Được chứ. Nhưng làm thế nào để tôi chỉ ra rằng khóa ngoại trong một bảng giống với khóa chính của bảng khác có tên khác nhau trong các bảng tương ứng của chúng (như được hỏi trong ví dụ trong câu hỏi về 'ID' và 'ID khách hàng') ?
MK Singh

Câu trả lời:


9

Sơ đồ ER ban đầu chỉ được sử dụng để đại diện cho mô hình ER. Mô hình ER không sử dụng khóa ngoại để thể hiện các mối quan hệ. Nó sử dụng các dòng giữa các hộp. Các dòng có một số loại chỉ báo cho cardinality ở đầu hoặc cả hai đầu. Đôi khi, một mối quan hệ sẽ được chỉ định riêng bởi một viên kim cương.

Ngày nay, hơn một nửa các sơ đồ ER trôi nổi xung quanh thực sự là các sơ đồ của một mô hình quan hệ chứ không phải của một mô hình ER. Một mô hình quan hệ có các khóa ngoại được bao gồm trong các bảng và chúng phục vụ để thực hiện các mối quan hệ mà mô hình ER xác định. Và một mô hình quan hệ sẽ có một bảng phụ, thường được gọi là "bảng nối" giữa hai bảng thực thể được liên kết bởi mối quan hệ nhiều-nhiều. Bảng nối này chứa hai hoặc nhiều khóa ngoại.

Có nhiều cách để thể hiện một mô hình quan hệ. Có lẽ đơn giản nhất là "Sơ đồ mối quan hệ" mà MS Access có thể tạo ra từ cơ sở dữ liệu đã hoàn thành. Điều này sẽ khá đầy đủ, nếu người xây dựng cơ sở dữ liệu đã xác định các khóa ngoại.

Có nhiều công cụ tinh vi hơn MS Access để tạo sơ đồ ở quy mô lớn hơn. Một số trong số này được sử dụng trước khi xây dựng cơ sở dữ liệu. Một số được sử dụng sau.


Hiện tại tôi chỉ đang làm một sơ đồ trên một tờ giấy. Bạn có thể vui lòng chỉ ra làm thế nào hai bảng trên (trong câu hỏi) có thể được mô tả trong sơ đồ mối quan hệ không?
MK Singh

Nếu bạn sẽ tìm kiếm trên "Giao dịch khách hàng sơ đồ ER", bạn sẽ nhận được rất nhiều hình ảnh hiển thị nhiều cách khác nhau để làm những gì bạn muốn.
Walter Mitty

1

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

Tôi thích định dạng này, sử dụng "chân quạ" để minh họa cho nhiều người tham gia


Tôi thích chân quạ cho sơ đồ ER là tốt. Đối với sơ đồ quan hệ, tôi thích đầu mũi tên. lưu ý rằng một chân quạ đi vào đầu "nhiều" của một dòng, trong khi một đầu mũi tên đi vào đầu "một" của một dòng.
Walter Mitty

0

Khi vẽ sơ đồ ER, tôi đã sử dụng quy ước đồ họa sau: Dán nhãn các đường quan hệ bằng (các) tên cột khóa ngoài, như vậy:

Ví dụ ERD

Điều này cho thấy rõ cột nào trong bảng con là khóa ngoại đối với bảng cha. Chỉ ra trạng thái khóa chính có thể được thực hiện bằng cách gạch chân thuộc tính được đề cập.

Điều có thể hữu ích hơn đây là quy ước đặt tên cho biết rõ khóa chính của bảng là gì (dễ dàng thực hiện nếu bạn sử dụng khóa thay thế theo quy ước) và cột khóa ngoài là gì.

Một số sơ đồ mô hình quan hệ cũng bao gồm nhãn tham gia khóa ở bên trái của tên cột trong danh sách các cột (ví dụ: "PK", "FK1", "FK2", ...) có thể giúp đặc biệt nếu bạn có khóa tổng hợp.


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.