• It was just intended as a simple example of a common situation. If you prefer then think about the example where an Order must contain at least one Order Item, which is the same generic problem.

    The SQL committee thought the problem serious enough that they created a (not very good) workaround in the form of "deferrable" constraints, but that's a feature that isn't supported by SQL Server (no bad thing in my opinion, I'm not really a fan of deferrable constraints).

    It's interesting that virtually all data modelling languages (UML, ORM, IDEF1X for example) make the distinction between mandatory and optional references but SQL does not because for most practical purposes it has no way to implement the mandatory ones.