W jaki sposób zaprojektować tagi

Witam. Zastanawiam się, w jaki sposób zaprojektować system tagów.
Sprawa wygląda tak, że mam system notatek. Właściwie CRUD i nic więcej. I teraz chciałbym do tego dodać system tagów - ułatwiających wyszukiwanie (wyszukiwanie po tagach, segregowanie). Do jednej notatki mogłoby być przydzielonych kilka tagów (proste pole, gdzie przecinkami wymienia się tagi).

Jednym z pomysłów, na który wpadłem, to model Tag + model Note (z odpowiadającymi sobie tablicami) + tablica crossująca (has many belongs to many?). Ale czy takie rozwiązanie nie wygeneruje za dużo rekordów? Może są jakieś inne metody wykonania czegoś takiego?

1 Like

Ewentualnie jeszcze https://github.com/blotto/rocket_tag
Jeśli bardzo chcesz to implementować z palca, to możesz podejrzeć obydwa rozwiązania (AATO, rocket_tag). Myślę, że do tematu można podejść jeszcze w inny sposób, wykorzystując postgresowego arraya http://www.postgresql.org/docs/9.4/static/arrays.html

O, akurat używam Postgresa. Całkiem fajne rozwiązanie, zapoznam się z nim. Dzięki.