如何为具有角色的服务管理系统设计数据模型

时间:2017-12-05 12:49:23

标签: database database-design

我正在尝试管理角色,但我陷入了角色管理。我正在研究仆人管理系统。我的系统,用户和管理员都有仆人

我创建了一个角色表并管理角色表

user table
-----------
user_id   user_name   user_pass
  1          abc        xyz

这是我的角色表

role table
-----------
r_id  r_name
  1   customer
  2   servant
  3   admin

并管理角色表

manage role table
------------------
r_id  u_id
  1    1
  1    2
  2    3

现在问题是我有一个雇用表我想看看哪个用户雇用了哪个仆人

hire table
----------
c_id , s_id

表示雇佣表的最佳方式是什么,因为我想看看哪个客户通过id雇用了哪个服务员?

1 个答案:

答案 0 :(得分:0)

首先:无需重新发明轮子。

在数据建模领域,我们为您的问题提供了一些模式:

基于上下文的访问控制(CBAC)
以数据为中心的安全性 自由访问控制(DAC)
基于图形的访问控制(GBAC)
基于格的访问控制(LBAC)
强制访问控制(MAC)
基于组织的访问控制(OrBAC)
基于角色的访问控制(RBAC)
基于规则集的访问控制(RSBAC)
基于属性的访问控制(ABAC)

我提议使用 RBAC(基于角色的访问控制)

现在:
在项目中应用RBAC后,您有两种方法可以将RBAC数据用于项目表:

  1. 如果您想保存执行某项操作的用户(例如,租用),只需将user_id作为外键添加到该表中。
  2. 如果用户有多个角色,只需将user_idrole_id作为外键添加到该表中。
  3. 到最后一个问题:只需将他们的id作为外键添加到新表中。