nev*_*ame 12 database database-design
在我的网络应用程序中,我将有三种类型的帐户.
这三个应该是在单独的表中,还是在一个名为"account_type"的列中,我可以将其标记为User,Customer或Admin?
两者的利弊是什么?这是最好的做法吗?
谢谢
Dam*_*vic 18
在一般情况下,person可以是用户,客户和管理员-因此,我将开始与一个Person表列IsCustomer,IsUser,IsAdmin.后来(快速搜索),你可以决定添加单独的表 Admin,Customers,Users与FK的Person表.
编辑:
典型案例可能是:
通常,为客户和管理员提供单独的表应该可以加速任何管理员/客户相关的查询.
如果一个用户只能是一种类型,那么最好使用一个表和一个用于IsAdministrator的位字段等.
如果用户可以是多个帐户类型,那么您应该使用外键具有不同的表,
示例结构(数据类型是SQL Server,仅建议使用)
用户表
Roles table
User_Roles table