I do not have a university degree or college certificate. I learned to build databases by doing. There are the various normal forms, 1st, 2nd, 3rd, etc. But sheesh some of the terms used are not intuitive.
To me it comes down to even simpler rules. And these aren't all of them.
You use a field for only one purpose. For example you don't put in 12/31/99 in a date field to mean that there is never an expiry. You have a separate field that means never expiry.
One of my favourite mottos is "When in doubt add another table."
This Worse Than Failure posting illustrates why - The Omni ID