Whether a column is NULL or NOT NULL depends on your business rules. Is the data required? Then the column should have a NOT NULL constraint. Is the data optional? Then the column should have a NULL constraint. The constraint enforces the business rule. Oracle does not determine the business rules for you. That is up to you.
If you add these new columns, the intial value for the column will be NULL unless you also specify a DEFAULT value for the column. If you do not specify a default value, then you will not be able to set this column as NOT NULL due to the conflict. You can't tell it to be NOT NULL and then let it be NULL because you did not provide a default.
Let your business rule determine the constraint type and then handle it appropriately when you add the column to the table.
Dig Deeper on Oracle database design and architecture
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.