Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cơ sở dữ liệu SQL với số cột thay đổi

Mô hình cơ sở dữ liệu

Về cơ bản, bạn cần một many-to-many mối quan hệ giữa Tác giả và Ấn phẩm, vì một tác giả có thể viết nhiều ấn phẩm và một ấn phẩm có thể được viết bởi nhiều tác giả.

Điều này yêu cầu bạn phải có 3 bảng.

  • Tác giả - thông tin chung về mọi tác giả (không có edition_id)
  • Xuất bản - thông tin chung về mọi xuất bản (không có author_id)
  • AuthorPublication - các cột author_idpublication_id đó là các tham chiếu đến bảng AuthorPublication .

Bằng cách này, bạn không ràng buộc một tác giả cụ thể với một ấn phẩm, nhưng bạn có thể có nhiều tác giả hơn và điều tương tự theo cách khác.

Ghi chú bổ sung

Nếu bạn muốn phân biệt vai trò của các tác giả trong ấn phẩm cụ thể, bạn cũng có thể thêm một số cột như id_role đó sẽ là một tham chiếu đến một bảng từ điển nêu tất cả các vai trò có thể có đối với một tác giả. Bằng cách này, bạn có thể phân biệt giữa các tác giả hàng đầu, đồng tác giả, v.v. Bằng cách này, bạn cũng có thể lưu trữ thông tin về những người xử lý bản dịch của cuốn sách, nhưng có lẽ sau đó bạn nên thay đổi tên của Author đến một cái gì đó ít cụ thể hơn.

Thứ tự xuất hiện

Bạn có thể đảm bảo sắp xếp đúng thứ tự các tác giả của mình bằng cách thêm một cột trong AuthorPublication mà bạn sẽ tăng riêng cho mỗi Publication . Bằng cách này, bạn sẽ có thể bảo quản đơn đặt hàng khi bạn cần.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL THAM GIA TRÁI bằng cách sử dụng MAX &GROUP BY trên bảng đã tham gia?

  2. Hiểu về kích thước lưu trữ cho kiểu dữ liệu MySQL TEXT

  3. error (đối tượng 'datetime.datetime' không có thuộc tính 'split') trong django 1.11.4

  4. Giá trị chuỗi không chính xác:'\ xF0 \ x9F \ x8E \ xB6 \ xF0 \ x9F ...' MySQL

  5. Node Mysql không thể yêu cầu truy vấn sau khi gọi thoát