• The title change certainly reduced the awfulness, but what I see is a rather sloppy diagram and some code that maiht represent one possinle interpretation of it. What fields are the sources of which pointers? What fields are the destinations? Neither is at all clear.

    In what sense can the diagram be interpreted as a relational model? A relational model of some thing has to conform to relational principles, and the only way one can discover that this diagram does is to look at the SQL code provided and assume that the code determines what the diagram means. So the way to implement a relational model in SQL is to have a relational model in SQL and then draw a diagram representing (albeit rather sloppily) the table and constraints structure that that model represents and say that's the model the code was supposed to implement? Which is the cart and which is the horse here?

    I realised this is an ancient article, and I should have commented years ago. But someone else commented ealier today, and that drew my attention to it, so I commented now.

    Tom