不同的用户角色,每个在一个表中

时间:2013-03-04 10:36:59

标签: database database-design entity-relationship erd

在我的数据库中,我有管理员,商家和司机。 它们共享许多属性,如名称/电子邮件/电话/凭证......等 因此,我设计数据库的方式是一个名为“users”的表格,以及每个角色[admin,merchant,driver]的表格,其中共享属性存储在users表中。 我的问题是我必须为每个角色维护一个ID,例如[driver_id,merchant_id]并将其链接到user_id或仅依赖于user_id并将用户类型存储在users表中?

1 个答案:

答案 0 :(得分:0)

根据您在数据库上运行的查询类型,您可以有几个不同的选项。如果您要查询用户表而不需要特定于角色的表中的信息,那么只需将用户类型(即角色)存储在users表中。

但是,如果您要包含管理员,商家或驱动程序表中的特定于角色的信息,那么包含唯一的merchant_idadmin_id或{可能会有所帮助{1}}在用户表中指定一个角色,同时在适当关联的表中充当ID。

在数据库建模软件中绘制图表有助于识别应用程序中不同数据块之间的关系,从而更好地设计表和属性。