Semantic Binary Model

A database model proposed by Dr Naphtali David Rishe.


(Some chapters of the book are much more readable in the Postscript files than in HTML.)

From the second reference above:

The semantic binary database model represents information of an application's world as a collection of elementary facts of two types: unary facts categorizing objects of the real world and binary facts establishing relationships of various kinds between pairs of objects.

The distinction needs to be made between representation model and database model. Because not every represenation is automatically a database. Most of the discussion below argues about the virtues and relevancy of Semantic Binary Model for database. Was it only targeting database technology, or was database model just one example of more general representation priciple? Answer to this question will make many of these arguments irrelevant. For example, Relational Algebra mostly applies to database technology as a tool, not as representation theory. On the other hand, binary relations are in a very foundation of some mathematical represenations like Allegories. Comparing the two makes no sense in this broader context.

One of the major advantages of the relational database model, as compared to the network and hierarchical models, was the independence of the logical data from the physical aspects of data storage. The semantic models went one step forward towards the independence of the actual information from its logical data representation. Among the semantic advantages of the semantic binary model relative to the RelationalModel are the following:

It miraculously solves every problem in an Oo programmer's mind.

Oh, don't worry; I can create more problems. ;->

This looks like a restatement of the entity-relationship modelling scheme. These mappings are well known, but it is nice to see them in one place.

You're pretty quick at minimizing significant work of others who didn't think along what you already know :) It is not a restatement of entity relationship. This is a complete database model, thought out in every little detail.

As Rishe already says in the introduction, several semantic models do exist that have a high similarity. CostinCozianu

Yes, but it doesn't say that OO == relational, just that they are similar.

This is very interesting indeed. Unless, Rishe's model is somehow flawed, which I don't think is the case, it can be deducted from there that ObjectRelationalImpedanceMismatch does not exist. Indeed Rishe's SemanticBinaryModel is everything OO people have ever dreamed of in a database. And Rishe's semantic binary model and the relational model are equivalent, up to an isomorphism. -- CostinCozianu

That is not true, at least not in the normal sense. Rishe's model includes all the elements from every model. As such it is a superset of the relational and object-oriented (among other) models. This does not make relational and OO models equivalent, it just allows for a mapping between the two. Most automatic persistence layers use a similar intermediate representation which allows interconversion. Without exception, however, additional metadata/metafunction needs to be included to guide the transformation i.e. the intermediate representation will include more information than any more specific representation.

Well, in case you really don't get it why they are isomorphic, it is because a binary database schema is a relational database schema by the force of nature. A binary relation is a relation , it's just as simple as that. 'I disagree, a subset by definition does not include all of a superset otherwise they are not distinct -- RIH'

A relational binary schema is necessarily a relational schema. However, a SemanticBinaryModel schema is not necessarily a relational schema. So technically, the SemanticBinaryModel is incommensurable with the full RelationalModel. But in practice it is easy to translate between relational binary and relational n-ary schemas, so the SemanticBinaryModel can effectively be viewed as a superset of the RelationalModel. -- DavidSarahHopwood

On the reverse side, every relational schema can be expressed as a binary schema without any loss of information. 'I agree, a superset by definition includes all of a subset. Do you see where I'm coming from? -- RIH'

A more extensive discussion needs to be made about domain (types) and constraints. It's doing injustice to the subject to treat it the form of this html page, but if you read TheThirdManifesto, and use a little bit of imagination and mathematical thinking, you'll see they are equivalent up to an isomorphism. -- CostinCozianu

Perhaps we are stuck on the definition of impedance mismatch. It is usually a measure of the effort needed to convert between two representations. An infinite mismatch is possible, but is a degenerate case. -- RichardHenderson

Well, about the conversion effort as a measure of ObjectRelationalImpedanceMismatch, I'll move the discussion in a page that will specifically deal with the subject. It does not belong to SemanticBinaryModel.

As you wish but it might clear up the confusion. No-one is claiming an isomorphism is impossible yet your arguments seem to depend on this.

Okay. Here's a quick check. See the chapter:

This is where Rishi levers in OO database coverage. It isn't mentioned before this, and I suspect it is in addition to the original SB model. I think it may be fixable but the presentation is incomplete so it is hard to say.

Specifically, the display() procedure seems to be associated with some global context. I would expect the method to be associated with the objects (person and student-object respectively). This is not indicated and therefore this is not OO, or am I missing something? It wouldn't be hard to fix, but the whole treatment of OO seems tentative. That is not to say that the mapping can't be done, just that there seem to be holes in the explanation. Using Pascal doesn't help either. -- RichardHenderson.

I agree that Rishe's treatment of OO issues is in a tentative stage. However, this does not diminish the value of the SemanticBinaryModel he proposes. As a matter of fact, I believe the model is absolutely complete and useful without addressing the OO dynamic method (function) dispatching issues, as they do not belong to the database domain. Still, there are valid execution models along the lines Rishe is proposing. See ParametricPolymorphism. -- CostinCozianu

About the generality of binary relations vs n-ary relations: see (note that this is talking about the binary relational model rather than the SemanticBinaryModel, but the comments about binary and n-ary relations still apply). Also see PrincipleOfLeastPower.

The "semantic" parts of the SemanticBinaryModel are indeed more general than the RelationalModel, and in useful ways. The approach to object-oriented features needs work (and there has been more work on this since 1992). In any case, the book is well worth reading. -- DavidSarahHopwood

OK, I'm browsing through Rishe's online book []. Near the beginning of Chapter 3 ("From the Semantic to the Relational Model") he talks about "Time Invariant Attributes and Keys" (section 3.1), and says this:

     [there are no time-invariant attributes in the real world]
     ... Thus, time-invariance is
     defined only in implementational restrictions. Such  restrictions
     are   unavoidable   in   the  relational  database  design.   The
     methodology of relational schema design that is  presented  below
     has  among  its  goals the minimization of the negative effect of
     such implementational restrictions.

I also saw something similar about time-invariant keys in his early paper, referenced at the top of this wiki page. This is somewhat of a misrepresentation of the relational model, isn't it? Perhaps there's an implied but missing discussion about "relational schema restrictions required in order to simulate object identity"? -- DanMuller

The issue here is whether use of (at least some) time-invariant keys is in practice unavoidable in relational database design. Certainly the use of time-invariant arbitrary IDs as keys (exactly as in Example 3.4) seems to be very common. --dh

First, I didn't see a qualification of "in practice" anywhere, but rather a bald statement. He makes somewhere (perhaps in the original paper) the point that real-world "keys" are rarely invariant, then claims that time-invariant keys are necessary [in the RelationalModel].

His argument seems to be overstated and not well-supported in some respects. However, IIUC he would argue that (using the terms from AutoKeysVersusDomainKeys):

The claim that time-variant DomainKey?s cause problems seems to be based on the idea that if we change a DomainKey? of some "abstract object", we generally want existing references to the object to stay pointing to it, and that this is automatically the case in a SemanticBinaryModel database but difficult in a relational one. (We would have to change all instances of the DomainKey? in all tables as a transaction.) --dh

Furthermore, time-invariance of surrogate keys is not necessary unless you're storing references to the data outside the database -- which imposes a requirement from outside of the relational model. Even with surrogate keys, it's perfectly possible to update them along with all foreign keys, and in fact it's not uncommon to "compact" automatically generated numeric keys occasionally.

Updating natural keys is similarly straightforward. If the "key" of a real-world object and the key of the datatabase "object" which represents it are both changed, then the database object is still correctly associated with its real-world counterpart. So time-invariance of keys in the relational model is avoidable, unless he's applying some additional, non-relational requirement that I missed.

But what is a "key" in the real world changes over time. For example, crime or spy investigators may look at several different aspects of a person's life to determine if they are the same person or not. Names and SSNs can change, so they may look at where they lived, where they worked, etc. But a computer cannot run those kinds of studies for every matching exercise. An assigned ID simply makes a more UsefulLie much of the time. (AutoKeysVersusDomainKeys)

I'm not sure how this comment is relevant? If your application needs to deal with such issues, then a surrogate key makes perfect sense -- I wasn't arguing against surrogate keys. But that still doesn't address time-invariance. There's no particular reason within the relational model that surrogate keys have to be time-invariant. What is Rishe thinking of that leads him to assert so clearly that adding time-invariance restrictions is unavoidable in implementations of relational databases?

Anybody want to give an EssExpression based example?

Hmmm, this page is pretty thready. Having reread the book plus more recent info, and noting that noone references Rishe's work except Rishe and his best friends, I think we can say that Rishe's work is strangely underconstrained in some areas (why Binary? oh yes, we have 'offerings' to cover higher order relationships), and he overconstrains others to damn them (whats wrong with autokeys in rdB's?). Furthermore he shoehorns in extra things as they appear (OO makes a mess of categories, but he puts them in anyway).

So, I judge the SBM to be pretty weak. Sorry, but if it was truly distinct, and added power, it would be out there leaving Larry in the dust. Or there's a conspiracy. Or we're all very very dumb.

Of course if we remove the binary constraint (possibly a hangover from ER modelling), and express 'semantic' as 'named relation', then we have the named relational model which isn't nearly as zingy.

If I get round to it I'll edit this page down to remove the topics covered better elsewhere. Fell free, anyone, to jump in and correct my obvious dumbitude. --RichardHenderson

It's true that hardly anyone references Rishe's work, but I don't think that's particularly relevant. There doesn't need to be a conspiracy for any model to get ignored. (Look at the ActorsModel, for instance; that's an example of an excellent model that would solve many real-world problems being mostly ignored for 30 years.)

Anyway, there are other semantic database models that are more often referenced, and IMHO Rishe's work is a reasonable introduction to semantic databases in general.

Why do you say being binary makes it underconstrained? That's a constraint -- but not a particularly important one. It's done just as a simplification, AFAICS.

N-ary semantic models don't look much like the named relational model at all. Semantic models have categories, category constraints, and (essentially) ObjectIdentity. If you mean that semantic models can be simulated in the relational model (named or otherwise), so what? That's a TuringTrap; any reasonable data model can simulate any other. -- DavidSarahHopwood


EditText of this page (last edited December 3, 2011) or FindPage with title or text search