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

MySQL tự động tăng giữa các bảng

Có vẻ như bạn muốn phân biệt các danh mục và chủ đề trong hai bảng riêng biệt, nhưng id của cả hai đều được tham chiếu trong một bảng khác likes để tạo điều kiện cho người dùng thích một danh mục hoặc một chủ đề.

Những gì bạn có thể làm là tạo một bảng siêu thực thể với các loại phụ categoriestopics . Khóa tự động tăng dần sẽ được tạo trong bảng siêu thực thể và chỉ được chèn vào một trong hai bảng loại phụ (dựa trên việc đó là một danh mục hay một chủ đề).

Các bảng kiểu con tham chiếu đến siêu thực thể này thông qua trường tự động tăng dần theo mối quan hệ 1:1.

Bằng cách này, bạn có thể chỉ cần liên kết bảng siêu thực thể với likes bảng chỉ dựa trên một cột (có thể đại diện cho một danh mục hoặc một chủ đề) và không có id trong bảng kiểu con sẽ có cả hai.

Dưới đây là một ví dụ đơn giản về cách bạn có thể mô hình hóa điều này:

Mô hình này sẽ cho phép bạn duy trì mối quan hệ giữa các danh mục và chủ đề, nhưng có cả hai thực thể được khái quát hóa trong superentity bảng.

Một ưu điểm khác của mô hình này là bạn có thể trừu tượng hóa các trường phổ biến trong các bảng kiểu con thành bảng siêu cấp. Ví dụ:giả sử rằng categoriestopics cả hai đều chứa các trường titleurl :bạn có thể đặt các trường này trong superentity bảng vì chúng là các thuộc tính chung của các kiểu con của nó. Chỉ đặt các trường cụ thể cho bảng kiểu con VÀO bảng kiểu con.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 4 cách để kiểm tra kiểu dữ liệu của cột trong MySQL

  2. MySQL Trigger - xóa sau khi cập nhật

  3. Sử dụng một truy vấn duy nhất để lấy từ nhiều bảng

  4. mysqldump:Lỗi 2020:Có gói lớn hơn byte 'max_allowed_packet' khi kết xuất bảng

  5. Cách kết nối với cơ sở dữ liệu mysql trong phonegap