Refactor database to use better inheritance for comparisons/templates and corresponding attributes to reduce number of functions needed for similar functionality.
Upsides:
quicker to add functionality common to child tables
reduction in number of functions
Downsides:
no way to know type or row without joining on all child tables (or storing additional information)
removing from child table doesn't remove from parent without trigger
hard to enforce disjoint (row should only belong to one child table)
slightly increased storage (id's also stored in child tables)
attributes may not all be in same table (spread across parent and child), so constraints may be more difficult
Refactor database to use better inheritance for comparisons/templates and corresponding attributes to reduce number of functions needed for similar functionality.
Upsides:
Downsides: