a raczej kwestia optymalizacji...
bo należałoby ograniczyć ilość wywołań różnych funkcji... więc w zasadzie to najlepiej było by wykonywać wszystko przy wrzucaniu do bazy (i ew. przy edycji odwracać)
jednak osobiście aktualnie stosuję rozwiązania podobne do pomysłu Vengeance... chociaż zdaję sobie sprawę że przy dużych obciążeniach byłoby to niedopuszczalne