I have read all the articles suggested by both and some more, I have applied the principles that were missing to this database, I think I have resolved all, but I have an issue that I am not sure how best to deal with so I can move forward and would appreciate your guidance again. Unresolved from this process I have 6 tables where referential integrity cannot be enforced, 4 are linked tables and I believe that is acceptable because it is not possible, the other 2 are due to the existing tables having records that do not actually have a value in the field that links them via the PK/FK because they pre date the inception of the database and the PK identifier. I don't actually want to have them recorded in the database but I thought they could still be used as part of queries to pull complete reports based on other fields (the reports show these records), but is that acceptable? If not any thoughts on how I can make it acceptable?

I also applied ssanfu reasoning to the initial issue, and thank you it works well! Much appreciated.