NoSQL / RDBMS-Hybrid mit referentieller Integrität (Löschkaskade)?

Ist da draußen eine Datenbank, die Ihnen den Vorteil der referenziellen Integrität und die Möglichkeit bietet, eine SQL-Sprache zum Abfragen zu verwenden, aber Entitäten auch in Bezug auf ihre Datenattribute und die Beziehungen zwischen ihnen lose definiert zu lassen?

Z.B. Nehmen Sie ein RBAC-Modell mit Berechtigungen, Benutzern, Benutzergruppen und Rollen. Ein komplexes / flexibles Modell kann die folgenden Regeln enthalten:

Roles kann eine oder mehrere Berechtigungen haben und eine Berechtigung kann zu einer oder mehreren Rollen gehörenBenutzer können eine oder mehrere Berechtigungen haben und eine Berechtigung kann einem oder mehreren Benutzern gehören. Benutzergruppen können eine oder mehrere Berechtigungen haben und eine Berechtigung kann einer oder mehreren Benutzergruppen gehören.enutzer können eine oder mehrere Rollen haben und eine Rolle kann einem oder mehreren Benutzern gehöre Benutzergruppen können eine oder mehrere Rollen haben und eine Rolle kann zu einer oder mehreren Benutzergruppen gehören.Rollen können eine oder mehrere Rollen haben und eine Rolle kann zu einer oder mehreren Rollen gehören

Um das Obige in einem RDBMS zu modellieren, müssten viele Schnittstellentabellen erstellt werden. Im Idealfall möchte ich in der Datenbank nur die Entitäten selbst (Benutzer, Rolle usw.) sowie einige obligatorische Attribute definieren. Alles andere wäre dann dynamisch (d. H. Keine DDL erforderlich), z. Ich konnte einen Benutzer mit einem neuen Attribut erstellen, das nicht vordefiniert war. Ich könnte auch eine Beziehung zwischen Entitäten erstellen, die nicht vordefiniert wurden, obwohl die Datenbank die referenzielle Integrität wie ein normales RDBMS handhaben würde.

Das oben Genannte kann in einem RDBMS bis zu einem gewissen Grad erreicht werden, indem eine Tabelle zum Speichern von Entitäten und eine andere zum Speichern von Beziehungen usw. erstellt wird. Dies verkompliziert jedoch die SQL, die zum Ausführen einfacher Abfragen erforderlich ist, und kann auch Auswirkungen auf die Leistung haben.

Antworten auf die Frage(10)

Ihre Antwort auf die Frage