I reviewed a "database application"and found it by large to consists of flat tables containing name-value pairs. Relations are not existing as DDL but by use of helper tables providing "pointers" to other table and column names providing referential informations. These relations are resolved at runtime via generic functions.
The meta code of a generic function providing "relations" between entities looks like
FUNCTION Translate (Element)
LOCAL c, t, r
SELECT Table, Column
INTO t, c
FROM Translator
WHERE Item = $Element
SELECT $c
INTO $r
FROM $t
WHERE Name = $Element
RETURN $r
END FUNCTION
and in the above example, would be resolved to
Translate "Ele1" ==> "Bar"
Translate "Ele2" ==> NULL
Translate "Ele3" ==> "Bar2"
These "relations" are of course incomplete as not all "values" of table "catalog" are referenced, on the other hand rows can be easily added to a catalog with new referencing tables created and linked into the application by "just" adding table and column names to the "Translator" table. Needless to say that I am unable to develop an ER model for this application nor do I think that such would make sense at all.
Questions:
is there a technical term in literature for this approach/concept?
is there a theoretical concept describing this way of storing data ad creating "functional/adhoc/indirect" dependencies? (I may not want to call this "relations")
would it be better to describe the above in terms of a "design pattern"?