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

một bài báo trên nhiều danh mục

Bạn cần ba bảng:

  • Một bảng cho các bài viết articles
  • Một bảng cho các danh mục articles
  • Một bảng liên kết các bài viết với các danh mục, chúng tôi có thể gọi nó là categories_per_article . Bảng này thường được gọi là Bảng kết nối hoặc bảng liên kết .

Dữ liệu mẫu:

ARTICLES
ID | Name | Description
1  | Fuzz | A fuzzy three
2  | Bizz | A five that means bizznezz

CATEGORIES
ID  |  Name 
1   |  Prime numbers
2   |  Multiples of five
3   |  Smaller than four

CATEGORIES_PER_ARTICLE
ID | ARTICLE_ID | CATEGORY_ID
1  | 1          | 1
2  | 1          | 2
3  | 1          | 3
4  | 2          | 1

Bạn sẽ thấy rằng bài viết 1 (Fuzz) có ba danh mục và bài viết 2 (Bizz) chỉ có danh mục 1. Chúng tôi gọi đây là mối quan hệ nhiều với nhiều (hoặc n-to-n, ví dụ như trong ER hoặc UML), vì bài viết 1 có nhiều danh mục và danh mục 1 được nhiều bài viết sử dụng.

Bạn có thể thực hiện tất cả các truy vấn có thể bằng cách sử dụng lược đồ này - vui lòng hỏi trong phần nhận xét để biết các ví dụ cụ thể (như How do I get all articles which have categories 1 and 3 but not 2 ).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lặp lại n lần mà không cần sử dụng một thủ tục được lưu trữ

  2. PDO trả về các cột số nguyên dưới dạng Chuỗi trong PHP5.4

  3. Nối hai bảng, so khớp một cột có nhiều giá trị

  4. Làm cách nào để trả lại dữ liệu được tìm nạp từ MySQL vào tệp php dưới dạng JSON?

  5. MySQL tương đương với mô-đun dblink của PostgreSQL?