So, I guess the 10 -> 1500 growth is caused little-by-little from minutiae like introducing unique identifiers
Well, that's not quite what I wanted to convey. I don't see the problem as "underestimating the workload". I see the "problem" as something much deeper and more difficult to handle...
In the realm of interpersonal communication, we are all limited by our linguistic skills which are related to our mental models and our perceptive processes .
In other words, the language that we use for thinking and for expressing our thoughts in utterances or in writing is where many communication problems originate. (For starters, Google "the Sapir-Whorf hypothesis")
I see the issue of unique identifiers as being inextricably linked to the way we perceive and think about the world about us.
For example, I see a problem with your example :
Student with StudentID 1 has StudentName 'Anne Fischer'.
Let's examine the meaning of the term "Student" in the expression "Student with StudentID 1"?
In logic you would say something like "Each Student has a Name" (Yes I know that its more like "For each Student there is a Name such that...")
Now in this "Fact" you are referring to two "entity types" : Student and Name.
And, as Terry explains "A type is the set of all possible instances."
So, in an ORM tool, we need a mechanism for expressing the notion of "For Each" at the conceptual/semantic level.
And that is what I see as the purpose of the "reference ID".
Furthermore, I don't subscribe to the notion that a reference ID is an "artificial identifier".
The underlying point here is that in normal conversation, it is the unstated context within which the conversation takes place that serves to "mostly" disambiguate the meaning of a noun in normal conversation.
However, in my earlier banking story, the differences in meaning of the term "transaction" was one of the root causes of the 10>1500 problem. This problem was not disambiguated by the context because "everybody knew" what was meant by a "transaction"
Whilst training as a flying instructor, I studied the principle of "Primacy"
In general terms, Primacy means that once a person has learned (= associated) a term with a meaning then it is really very very hard to get the person to "unglue" his or her perception.(It seems to be hard-coded into your perceptive firmware). This is just one of the many things that a competent ORM consultant needs to be able to detect and to handle.
Detecting is the easy part, the difficulty comes in finding a diplomatic way to get the "domain expert" to see things in a different way.
Regarding the BBB, I'll ask Terry, if he wants to comment on
why the BBB do not use such kinds of examples?