An ObjectOriented system forms a DirectedAcyclicGraph of functional and data relations.
An RDB forms an undirected graph; DatabaseNormalization tends to remove cyclic relations. Apart from the obvious fact that an RDB has no functional relations (ignoring StoredProcedures, triggers, etc), it's fair to think of an ObjectRelationalMapping as a projection; of classes as ordered patterns of relations.
Therefore,
Could we, PrologLanguage style, add semantics to an RDB until the work of programming classes could be reduced to the work of declaratively defining the tests they are to satisfy?
The advantage to that would be that, once the semantic relations were proved correct, many different systems could be automatically generated simply by defining PrologLanguage style FunctionalTestss. If the semantic RDB were well formed, no ReFactoring would be required of the OO projection.
This idea is more general than RailsScaffolding. Some procedural customization might be expected, but basically it's an attack on the fundamental of the OO paradigm - that classes must be coded procedurally. It is of course HalfBaked?.
Anyone know of a system that works like this?