Mysql
 sql >> Baza danych >  >> RDS >> Mysql

jeden artykuł w wielu kategoriach

Potrzebujesz trzech stołów:

  • Jedna tabela na articles
  • Jedna tabela dla categories
  • Jedna tabela łącząca artykuły z kategoriami, możemy ją nazwać categories_per_article . Ta tabela często nazywana jest Tabelą połączeń lub tabelą skojarzeń .

Przykładowe dane:

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

Zobaczysz, że artykuł 1 (Fuzz) ma trzy kategorie, a artykuł 2 (Bizz) ma tylko kategorię 1. Nazywamy to relacja wiele-do-wielu (lub n-do-n, na przykład w ER lub UML), ponieważ artykuł 1 ma wiele kategorii, a kategoria 1 jest używana przez wiele artykułów.

Możesz wykonać wszystkie możliwe zapytania za pomocą tego schematu - możesz śmiało pytać w komentarzach o konkretne przykłady (takie jak 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. Które podejście jest szybsze w celu uzyskania wszystkich punktów POI z MySQL/MariaDB z PHP/Laravel?

  2. ASP.NET MVC 4 EF5 z MySQL

  3. Dlaczego nie wykorzystać czasu utworzenia rekordu jako klucza podstawowego?

  4. Przy imporcie MySQL:BŁĄD w wierszu 32769:Nieznane polecenie „\”

  5. Korzystanie z Oracle JDeveloper z MySQL Database Service na Oracle Cloud Platform, część 2