New answers tagged architecture
If the concurrent number of custom columns is finite and the limits are known ( e.g. no more than 10-20 Custom columns for String's, no more than x columns for integers etc.) You could use the base table with extra fields per datatype and instead of rebuilding the table every year create a view for that year including only the relevant custom columns and ...
Get yourself a good data model pattern book. Accept the fact that most relationships are many-to-many. Read up on table inheritance and the Party/Party Role model. Some starting points: An order has many line items, which belong to a product A product will probably belong to multiple categories A product will likely have more than one artist
Top 50 recent answers are included