Ich sehe da am ehesten Oracle und im Nocost Bereich Postgres.
Beide verfügen über mächtige Programmierfähigkeit und Typenfähigkeiten.
Auch wenn ich Dich so verstanden habe, dass Du die nur indirekt (über
SQL) nutzen willst. Im Notfall wären noch anonymous blocks einsetzbar.
Clientseitig kann man natürlich beliebiges
SQL zusammensetzen und "viel" erreichen. Ich stelle mir das allerdings an zentraler Stelle serverseitig "schöner" vor, halt nicht so basisdemokratisch.
Unabhängig von der Programmierung sehe ich auf jeden Fall JSON bzw. konkret JSONB als Typ bei Postgres.
Alternativ noch Key/Value Implementierungen.
M.E. kann man Variable:Wert:Typ aber sehr gut und dynamisch mit JSON(B) abfackeln (plus andere nicht unerhebliche Themen wie Indizierung, Konvertierung, ..)
Meine Vorstellung würden entgegen einer clientseitigen Implementierung in Richtung Interfacing auf
DB Seite gehen. Also ein Set von Views, Schemata, vlt ein paar SP und definierte JSON Strukturen, mit denen Du die "Tabellen" definierst und baust, die Deine gewünschten Abfragen ermöglichen.
P.S.: Cast/Typisierungs Möglichkeiten bei Postgres würde ich als "herrlich" bezeichnen.