Please excuse my question if it is a bad one - I am not a DBA...
I would like to model the following data:
Let's say that I have one column that is the row id as generated by a sequence. Let's also say that I have 3 columns: A, B & C
that have low data variability. Let's also say that I have 4 more columns I, II, III, IV
with high data variability.
As a concrete example, lets say that the values of A, B & C
can be any number between 1 - 50, and the values of I, II, III & IV
can take any textual data, as another example, any number between 1 - 1B.
The question:
Should I model a single table with columns: row_id, A, B, C, I, II, III, IV
. Or should I model two tables the first to contain the low variability data columns: row_id, A, B, C
and the second to contain the rest of the columns while referencing the row_id
of the first table: row_id, first_table_row_id, I, II, III, IV
.
I am using postgresql. What answer best fits that database? What answer is the generic best?
Also, there might not be a clear cut answer, if so, what are the pros and cons to each modeling scheme?