Closed. This question is opinion-based。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
                        
                        5年前关闭。
                                                                                            
                
        
我正在建立一个旅游平台,并计划有以下用户表:


  用户:ID,用户名,密码,电子邮件,名字,姓氏,描述,图片路径


我的目标是拥有两组用户:


旅游经营者
游客


当旅行社登录时,我希望系统识别出他来自“旅行社”组,以便将不同的信息显示给他,就像他是“旅行者”组的一部分一样。

我的问题:在数据库设计中实现这两个用户组的最佳方法是什么?

最佳答案

您应该具有UserCategories表:

 CREATE TABLE `UserCategories` (
    UC_ID INT PRIMARY KEY AUTO_INCREMENT,
    IC_Title VARCHAR(100)
 )engine=innodb;


然后,在用户表中有一个名为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'


或者,您可以获取特定用户类别的所有权限,然后查看当前登录的用户是否具有执行该操作的权限。

09-10 02:56
查看更多