if you're building an application for a private individual's personal use,
you can tailor the UI to their skill level and personal preferences if you
choose. but if you're building an application that will be used in a
business, it's a bad idea to gear the UI to any specific person - because
tomorrow that person may not be there (even in good economic times), and
somebody else may be doing the work.
also, your question is two-pronged. Required fields reflect business rules
that are being enforced by the table structure. Input masks are a tool to be
used (or not) to control the user's interaction with the data - *in forms*,
btw, since users should never see a table.
i can only suggest 1) that you analyze the process your database will
support, to make sure that the tables are properly structured and related,
and meet the business needs for data storage, and 2) that you read as much
as you can, and study as many "sample" or "demo" dbs as you can get ahold
of, to get a feel for how experienced developers design their UIs. it's an
art; everybody brings different ideas, opinions, and experiences to it, so
no single answer is going to be the "final word" on the subject. generally
speaking, you're aiming to meet several goals: protect data integrity, help
the user do it right the first time, make the task easier to do rather than
harder to do.
hth