Гибрид NoSQL / RDBMS со ссылочной целостностью (удалить каскад)?

Существует ли база данных, которая дает вам преимущество ссылочной целостности и возможности использовать язык запросов SQL для запросов, но также позволяет свободно определять сущности в отношении их атрибутов данных, а также отношений между ними?

Например. возьмите модель типа RBAC, где у вас есть разрешения, пользователи, группы пользователей и роли. Сложная / гибкая модель может иметь следующие правила:

Роли могут иметь одно или несколько разрешений, а разрешение может принадлежать одной или нескольким ролям.Пользователи могут иметь одно или несколько разрешений, а разрешение может принадлежать одному или нескольким пользователям.Группы пользователей могут иметь одно или несколько разрешений, а разрешение может принадлежать одной или нескольким группам пользователей.Пользователи могут иметь одну или несколько ролей, а роль может принадлежать одному или нескольким пользователям.Пользовательские группы могут иметь одну или несколько ролей, а роль может принадлежать одной или нескольким пользовательским группам.Роли могут иметь одну или несколько ролей, а роль может принадлежать одной или нескольким ролям.

Для моделирования вышеизложенного в СУБД потребуется создание множества таблиц пересечений. В идеале все, что я хотел бы определить в базе данных, - это сами сущности (пользователь, роль и т. Д.), А также некоторые обязательные атрибуты. Тогда все остальное будет динамическим (т.е. не требуется DDL), например, Я мог бы создать пользователя с новым атрибутом, который не был предопределен. Я мог бы также создать отношения между объектами, которые не были предопределены, хотя база данных будет обрабатывать ссылочную целостность, как обычная СУБД.

Вышеперечисленное может быть достигнуто в некоторой степени в СУБД путем создания таблицы для хранения сущностей и другой таблицы для хранения связей и т. Д., Но это чрезмерно усложняет SQL, необходимый для выполнения простых запросов, и может также влиять на производительность.

Ответы на вопрос(5)

Ваш ответ на вопрос