Я хотел бы реализовать базу данных, содержащую иерархические данные аКЛSQL Server: Сохранение Иерархическая ACL данных
Мои таблицы
USERS
: idUser, имя пользователя, ...GROUPS
: idGroups, имя. ..GROUPSENTITIES
: idGroup, idChild, childType (1 пользователей, 2 из групп)ROLES
: idRole, имя ...ROLESENTITIES
: idRole, IsDeny, idChild, childType (1 пользователей, 2 из групп)Каждый пользователь может принадлежать к 0 или более групп
- Каждая группа может принадлежать 0 или более групп
- каждый пользователь и каждая группа может принадлежать 0 или более ролей и ролей может быть разрешен или запрещен
- Если явного отклонения обнаруживается, роль отрицается
Как хранить данные такого типа? Является ли мой дизайн правильным?
Возможно ли получить список пользователей со всеми разрешенными ролями?
Можете ли вы написать мне запрос (T-SQL основе) для экстракта этой информации из БД
заранее спасибо
не могли бы вы лучше объяснить? как насчет ролей? GROUPENTITIES является кросс-платформой для объединения GROUPS и USERS, а также GROUPS с GROUPS (если childType = 1, childId содержит userId, если childType = 2, тогда и childId содержит groupId). как я могу запросить эту структуру с помощью cte? – user2277672
извините, но не могу опубликовать DDL таблицы имя столбца название локализовано ... :( – user2277672