I have a table with 50 odd columns of integer type and another 20 narrative columns of type varchar2(4000). What would be the ideal design for this?
- Option 1
- Have all the columns in the same table
- Option 2
- Split the row. Have a separate table for the narrative, 20 columns for the narratives and one column referencing the primary key to the main table.
- Option 3
- Put the narratives in a separate table. However instead of one column for each narrative it would have one column for narrative type and one for the narrative (going down versus across).
Any help would be greatly appreciated.
Definitely Option 3. You might also want to apply the same logic to the 50 integer columns, if they too are "sort of all the same type of thing."
Dig Deeper on Oracle and SQL
Related Q&A from Rudy Limeback
Read SQL expert Rudy Limeback's advice for counting combinations in a table with SQL's GROUP BY clause Continue Reading
Read about the Mimer Validator, a tool used to verify your SQL code, in this tip from SQL expert Rudy Limeback. Continue Reading
Read an example of an SQL case expression from our SQL expert Rudy Limeback. Continue Reading