C'è un database là fuori che offre il vantaggio dell'integrità referenziale e la possibilità di utilizzare un linguaggio di tipo SQL per l'interrogazione, ma consente anche alle entità di essere definite in modo approssimativo rispetto ai loro attributi di dati e anche alle relazioni tra loro?NoSQL/RDBMS ibrido con integrità referenziale (elimina cascata)?
E.g. prendere un modello di tipo RBAC in cui sono presenti autorizzazioni, utenti, gruppi utenti & ruoli. Un modello complesso/flessibile potrebbe avere le seguenti regole:
- ruoli possono avere uno o più autorizzazioni e permessi possono appartenere a uno o più ruoli
- Gli utenti possono avere uno o più autorizzazioni e permessi possono appartenere a uno o più utenti
- utenti gruppi possono avere uno o più autorizzazioni e permessi possono appartenere a uno o più utenti Gruppi
- Gli utenti possono avere uno o più ruoli e un ruolo può appartenere a uno o più utenti
- utente I gruppi possono avere uno o più ruoli e un ruolo può appartenere a on e o più gruppi di utenti
- ruoli possono avere uno o più ruoli e un ruolo possono appartenere a uno o più ruoli
Per modellare quanto sopra in un RDBMS comporterebbe la creazione di un sacco di tavoli di intersezione. Idealmente, tutto ciò che vorrei definire nel database sono le entità stesse (Utente, Ruolo, ecc.) Oltre ad alcuni attributi obbligatori. Tutto il resto sarebbe quindi dinamico (cioè non è richiesto alcun DDL), ad es. Potrei creare un utente con un nuovo attributo che non era predefinito. Potrei anche creare una relazione tra entità che non sono state predefinite, sebbene il database gestisca l'integrità referenziale come un normale RDBMS.
quanto sopra può essere raggiunto in una certa misura in un RDBMS con la creazione di una tabella per memorizzare entità e un altro per memorizzare le relazioni, ecc, ma questo complica eccessivamente l'SQL necessario per eseguire query semplici e possono anche avere implicazioni sulle prestazioni.
+1 Ho cercato [qualcosa di simile] (http://stackoverflow.com/questions/3375779/object-oriented-relational-hybrid-database) anch'esso – NullUserException