its also possible to have multiple foreign keys pointing to the same table
eg table orders
say you have an order process that requires you to track who raised the order, who authorised it, and who actually placed the order. depending on how you modelled that it may require 3 person ID's in the order header all pointing to the same table.
if its required by the business processes, its required in the model. its easier, more straightforward to build such constraints/rules int eh db than to delegate such rules to the applciation software/front end