Computer >> Máy Tính >  >> Lập trình >> MySQL

Giảm thiểu sơ đồ ER

Tuyên bố vấn đề

Biểu đồ ER là biểu diễn bằng hình ảnh của các bảng khác nhau và các mối quan hệ giữa chúng. Sơ đồ ER chúng ta có thể giảm số lượng cơ sở dữ liệu.

Bản số một đối một

Hãy để chúng tôi xem xét sơ đồ dưới đây với một đối một -

Giảm thiểu sơ đồ ER

Sơ đồ ER trên đại diện cho 3 thực thể -

  • Thực thể nhân viên có 2 thuộc tính là emp_name. emp_id là khóa chính
  • Thực thể công ty có 2 thuộc tính là cmp_name. cmp_id là khóa chính
  • Khóa chính của thực thể Công việc có thể là emp_id hoặc cmp_id
  • Chúng tôi không thể kết hợp 3 bảng thành một bảng duy nhất có thể hợp nhất Công việc thành Nhân viên hoặc Công ty. yêu cầu tối thiểu 2 bảng trong kịch bản một đối một.

Một đến nhiều bản số

Chúng ta hãy xem xét sơ đồ dưới đây với một đến nhiều bản số -

Giảm thiểu sơ đồ ER

Trong sơ đồ ER này, nhân viên có thể làm việc cho một công ty nhưng công ty có thể có nhiều nhân viên như vậy. Sơ đồ ER trên đại diện cho 3 thực thể -

  • Thực thể nhân viên có 2 thuộc tính là - emp_id và emp_name. emp_id là khóa chính
  • Thực thể công ty có 2 thuộc tính là - emp_id và cmp_name. cmp_id là khóa chính
  • Chúng tôi không thể đặt cmp_id làm khóa chính vì nhiều nhân viên có thể làm việc cho cùng một cmp_id. Tuy nhiên, chúng ta có thể kết hợp bảng Nhân viên và Công việc. Do đó, yêu cầu tối thiểu 2 bảng trong một đến nhiều kịch bản số lượng.

Nhiều đến nhiều bản số

Chúng ta hãy xem xét sơ đồ dưới đây với một đến nhiều bản số -

Giảm thiểu sơ đồ ER

Trong sơ đồ ER này, nhân viên có thể làm việc cho nhiều công ty, một công ty có thể có nhiều nhân viên như vậy. Sơ đồ ER trên đại diện cho 3 thực thể -

  • Thực thể nhân viên có 2 thuộc tính là - emp_id và emp_name. emp_id là khóa chính
  • Thực thể công ty có 2 thuộc tính là - emp_id và cmp_name. cmp_id là khóa chính
  • Không giống như ví dụ trước, không thể hợp nhất bảng Công việc với Nhân viên hoặc Công ty. Nếu chúng ta cố gắng hợp nhất nó thì nó sẽ tạo ra dữ liệu dư thừa.