Кто-нибудь может помочь?
Я хочу создать хорошую реляционную модель для управления разрешениями.
В настоящее время у меня есть таблица «Пользователи» и другие таблицы, например «Клиенты, поставщики».
Пользователю необходимы разрешения на просмотр, редактирование, создание в любом из клиентов, поставщиков.
Я буду использовать эти таблицы в EF, чтобы решить, какой доступ имеет пользователь и какая погода отображать форму или нет и т. Д.
Моя оригинальная модель выглядит следующим образом, хотя я думаю, что это неправильно, поскольку ничего не говорится о разрешениях.
Пользователи
UsersCustomers (содержит связь между пользователями и клиентами)
UsersSuppliers (содержит отношение между пользователями и поставщиками)
Клиенты (таблица клиентов)
Поставщики (таблица поставщиков).
Хотя это работает, то есть, например, оно связывает пользователя с клиентом ... Это просто кажется неправильным.
Я думал о том, чтобы поместить промежуточную таблицу, называемую Permissions, которая будет иметь Id и UserId, который связывал бы пользовательскую таблицу. Тогда я мог бы связать разрешения для таблицы, как
PermissionsCustomers (вместо UsersCustomers), которые будут содержать отношение между персиденцией и клиентами.
Я думаю, что это не совсем оптимальный дизайн. Как только эта схема будет правильной, будет также отсутствовать таблица для назначения типа разрешения, которое пользователь имеет для Клиента, т.е. редактирование, создание или только просмотр и т. Д.
Я хотел бы услышать некоторые отзывы или пример сильной модели, которая существует, которая функционирует следующим образом.
Что касается клиентов, поставщиков, это всего лишь 2 примера, будет намного больше таблиц, таких как deliveryLocation, accountsLedger и т. Д.
Было бы замечательно, если бы я мог сделать запрос, который гласил бы: «Показать мне все разрешения, которые есть у пользователя X», в настоящее время с моими настройками мне придется запрашивать каждую промежуточную таблицу отдельно.
Я бы использовал это через ORM-подобную структуру сущностей.
Немного потерян со структурой реляционной модели.
Заранее спасибо.