Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 面向集团和企业的用户管理系统方法_Php_Mysql_User Management - Fatal编程技术网

Php 面向集团和企业的用户管理系统方法

Php 面向集团和企业的用户管理系统方法,php,mysql,user-management,Php,Mysql,User Management,我正在创建一个用户管理系统,需要您的建议 3个实体: 使用者 坚定的 团体 每个用户将属于一家公司。 某些用户(并非全部)可能属于组。 集团是公司的组合。(例如,一个集团中有3家公司) 数据将根据用户的公司或集团显示,如果用户属于公司(但不是集团),则将显示公司级别数据。如果用户属于集团,则将显示集团级别数据(例如3家公司的数据) 我下面提到的方法是否正确 CREATE TABLE `user_account` ( `id` int(11) NOT NULL AUTO_INCREMENT,

我正在创建一个用户管理系统,需要您的建议

3个实体:

  • 使用者
  • 坚定的
  • 团体
  • 每个
    用户
    将属于一家
    公司
    。 某些用户(并非全部)可能属于
    集团
    公司
    的组合。(例如,一个集团中有3家公司)

    数据将根据用户的
    公司
    集团
    显示,如果
    用户
    属于
    公司
    (但不是
    集团
    ),则将显示
    公司
    级别数据。如果
    用户
    属于
    集团
    ,则将显示
    集团
    级别数据(例如3家公司的数据)

    我下面提到的方法是否正确

    CREATE TABLE `user_account` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `firm` varchar(45) DEFAULT NULL, # each user belong to a client firm
      `group` varchar(45) DEFAULT NULL, # some users may belong to client group
      `name` varchar(45) DEFAULT NULL, 
      `username` varchar(15) NOT NULL, # USER ID
      `password` varchar(255) NOT NULL,
      `email` varchar(40) NOT NULL,
      `account_creation_date` datetime DEFAULT NULL,
      `active` tinyint(1) DEFAULT '1',
      `token_code` varchar(255) DEFAULT NULL, # for password recovery
      `token_creation_date` datetime DEFAULT NULL, # for password recovery
      PRIMARY KEY (`id`),
      UNIQUE KEY `username_UNIQUE` (`username`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    CREATE TABLE `permission` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `user_id` int(11) DEFAULT NULL, # FOREIGN KEY user_account.user_name
      `association` varchar(45) DEFAULT NULL, # Firm or Group
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    

    我不会这么做的。用户属于公司。公司属于集团。一家公司可以属于多个集团吗?请注意,组是一个保留字,这使得它成为表/列标识的一个令人恼火的选择。您可能明智地使用实体(人员、公司、组)和关系来设计它。你可以读一下。您可能会发现MySQL工作台是一个有用的设计工具。专业提示:在设计桌子时,再小心也不为过。在编程时,你每花一分钟的努力就可以节省你的时间。
    group
    ,你是对的。我现在使用的模式有一个同名的表。让我发疯。几乎疯狂到让所有匈牙利人称之为
    group\u t
    @草莓每个公司都属于某个集团,但一个公司不可能属于多个集团。如果你不是这样做的,那么你认为最好的方法是什么?基本上是:一张用户表和一张公司表。