我正在建立一个旅游平台,我计划拥有以下用户表:
USERS :id,username,password,email,first_name,last_name,description,picture_path
我的目标是拥有两组用户:
当旅行社登录时,我希望系统能够识别出他来自小组"旅游运营商"这样就可以向他展示不同的信息,就像他是“游客”的一部分一样。基。
我的问题:在我的数据库设计中实现这两个用户组的最佳方法是什么?
答案 0 :(得分:0)
这样做的一种简单方法是在USERS表中添加一个列,用于存储组的类型。例如:groupType
可以存储operator
或tourist
,并且根据该值,您可以在页面中显示或隐藏内容。
答案 1 :(得分:0)
你应该有UserCategories
表:
CREATE TABLE `UserCategories` (
UC_ID INT PRIMARY KEY AUTO_INCREMENT,
IC_Title VARCHAR(100)
)engine=innodb;
然后在您的users表中有一个名为CategoryID
的列,并在UserCategories
上引用UC_ID = CategoryID
表。
通过这种方式,您可以了解哪个类别用户属于operator
ID 1还是tourist
ID 2。
我这样做的方法是我会有另一个表调用Permissions
来引用UserCategories的权限。这样,您就可以自定义Tourists
应具有的访问权限。
<强>更新强>
SELECT COLUMN1, COLUMN2 ...
FROM users
INNER JOIN UserCategories ON UC_ID = CategoryID
INNER JOIN Permissions ON UC_ID = PCategoryID
WHERE Permission = 'update_data' OR Permission = 'delete_data'
或者您可以获取特定用户类别的所有权限,并查看当前登录的用户是否具有执行该操作的权限。