Members, good afternoon! Faced the following problem: There is the following main table (lowered columns lowered)
Maintable
{ id_main (PK,Identity) id_operation (FK) } For each operation there is a different number of attributes.
For example:
- Buying a car => Contract number, car cost, etc.
- Renewal of the car => name of the owner, car number, etc.
The bottom line is that the parameters for almost every operation are different. (Some operations have the same par-ry)
When designing, I faced the dilemma of how best to do it:
- Create one additional table in which to store all attributes
- Create multiple tables for each operation.
- Simply all attributes to hammer in the main table.
The request will generate Linq, so in the first and third cases absolutely all columns will be unloaded (There will be ~ 25 and almost all nvarchar), and in the second there will be many Join'ov over empty fields.
What is the best way to do in terms of high performance and flexibility (new operations or attributes will be added)?