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
).