I think you have 2 questions:
Should you mark fields as non-empty?
Yes, assuming you never intend for a valid string to have a null value in this field. Think that non-null is the simplest type of constraint you can put in a field. Database restrictions help ensure data consistency while meeting expectations.
Shouldn't the default values ββfor null fields?
Only if there is an obvious default value. For example, in the Paid field of the invoice table, the default value may be 0 (false). In the general case, this works the other way around: if the field has a default value, then it should also be non-zero.
Do not create default values ββonly for default values ββ- if the field should not be null, but there is no universal default value, then leave it. This ensures that any INSERT statements must provide a value for this field.
David source share