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

Nhận xét về vấn đề thiết kế cơ sở dữ liệu nhiều bảng

Bạn có thể tạo một bảng khác CommentableEntity (mặc dù gọi nó là một cái gì đó tốt hơn). Mỗi hàng trong bảng của bạn (Articles , Recipes v.v.) sẽ có tham chiếu đến một hàng duy nhất trong bảng này. Bảng thực thể có thể có type trường để chỉ ra loại thực thể (để hỗ trợ nối ngược).

Sau đó, bạn có thể có Comment bảng tham chiếu đến CommentableEntity , theo kiểu chung chung.

Vì vậy, ví dụ, bạn sẽ kết thúc với các bảng sau:

Articles
-----------------
Article_id
CommentableEntity_id (fk, unique)
Content
....

Recipes
-----------------
Recipe_id
CommentableEntity_id (fk, unique)
Content
....

CommentableEntity
-----------------
CommentableEntity_id (pk)
EntityType (e.g. 'Recipe', 'Article')

Comment
-------
Comment_id (pk)
CommentableEntity_id (fk)
User_id (fk)
DateAdded
Comment 
...etc...

Bạn có thể thêm bản ghi CommentableEntity mỗi khi bạn thêm Bài viết / Công thức, v.v. Tất cả mã xử lý nhận xét của bạn phải biết là CommentableEntity_id - nó không quan tâm đến loại thứ gì.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tôi nên sử dụng nguồn dữ liệu tổng hợp nào cho Spring 3.1.0, Hibernate 4.0.1.Final và MySQL 5.1?

  2. Quá trình giết MySQL là người dùng không có đủ điểm PHP

  3. Yếu tố quyết định ứng viên có đủ tốt cho BCNF không?

  4. Thực thi tập lệnh / lệnh Shell từ MySQL Trigger / Stored Procedure

  5. Mysql Làm cách nào để bạn tạo một chỉ mục được phân cụm?