Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

@gnat I read the accepted response to that question, and it resounds with my understanding of abstraction. But it doesn't resolve my question. In a nutshell, what is the difference between a model and an abstraction? Is one a superset of the other?
– mindplay.dkDec 15 '15 at 13:24

1 Answer
1

A model is definitely an abstraction if it is trying to represent real-world entities, in which case, of course you cannot have cars, trees, houses etc. living inside the computer, so obviously, you are abstracting.

But if the model is not trying to represent a real-world entity, and instead it is a one-to-one mapping to already abstract entities, then I think it can safely be called a model, without the need to add the "abstraction" part.

Does a model have to model a real-world entity? In this case, my domain is SQL, so the entities I'm modeling are Query, Condition, Join, etc. - even if those are already abstract entities (translating to an execution plan against physical data on a disk at a lower level) in terms of the domain I'm modeling, those are my entities, is that correct?
– mindplay.dkDec 15 '15 at 13:22

@mindplay.dk yes, of course, that's exactly what I am talking about, you may be modelling already abstract entities! so, you have a model, not an abstract model.
– Mike NakisDec 15 '15 at 20:33