Is this a requirement
No.
or just a best practice?
No.
Can a Parent be joined to a Child table on a field that has not been defined as a Foreign Key?
Yes.
Having said that please take into consideration that other RDBMS tecnologies e.g. Oracle's Star Transformation - call for defining FKs in the disabled/rely state for all navigation candidate columns. By doing that you are not enforcing the FK constraint but telling Oracle to initiate star-transformation when those columns are referenced in a query's predicate. This practice also calls for building bitmap indexes as opposed to traditional indexes 😉
_____________________________________
Pablo (Paul) Berzukov
Author of Understanding Database Administration available at Amazon and other bookstores.
Disclaimer: Advice is provided to the best of my knowledge but no implicit or explicit warranties are provided. Since the advisor explicitly encourages testing any and all suggestions on a test non-production environment advisor should not held liable or responsible for any actions taken based on the given advice.