使用PHP/MySQL优化数据库/登录过程

使用PHP/MySQL优化数据库/登录过程,php,mysql,data-structures,application-design,Php,Mysql,Data Structures,Application Design,我目前正在开发一个小型网络应用程序。我为不同的部门创建了这个。例如,让我们假设:市场营销、人力资源和销售使用它 目前,我为每个部门提供了3个完全不同的目录: http://mydomain.com/hr http://mydomain.com/marketing http://mydomain.com/sales 每个目录(部门)都有自己的MySQL数据库和表 我有几个问题,希望能更有效地创建: 1) 有时,我会有一个用户可以访问两个或更多的部门。例如,用户可以同时访问人力资源和市场营销

我目前正在开发一个小型网络应用程序。我为不同的部门创建了这个。例如,让我们假设:市场营销、人力资源和销售使用它

目前,我为每个部门提供了3个完全不同的目录:

 http://mydomain.com/hr
 http://mydomain.com/marketing
 http://mydomain.com/sales
每个目录(部门)都有自己的MySQL数据库和表

我有几个问题,希望能更有效地创建:

1) 有时,我会有一个用户可以访问两个或更多的部门。例如,用户可以同时访问人力资源和市场营销。我不想让该用户创建两个不同的帐户。如何将其“绑定”到一个数据库中

2) 另外,如果我有一个用户可以访问这两个“区域”,那么如何“引导”该用户在这两个部门之间进行切换呢

3) 最后,对于不同的目录,有没有更有效的方法?每个目录本质上都是相同的代码,只是有一些小改动

这是我从来没有做过的事情,所以用“正确”的方式来帮助创建它会很好。特别是当它很小的时候,如果我最终把它扩展到其他部门

谢谢

  • 与其他公司一样,您的公司可能有一个地方存储所有员工信息。您应该在web应用程序上应用相同的原则,这意味着您应该为所有拥有特权信息的员工建立一个中央数据库,以便您可以定义员工对每个部门的访问权限

  • 如果您应用上述原则(一个数据库供所有包含隐私信息的用户使用),那么将用户重定向到其他部门应该是非常容易的,如果这是您在这里提出的问题的话

  • 你应该把你的项目分成更小的部分,这样你就可以确定你的项目的核心部分,并在所有部门之间共享这个部分。有很多方法可以做到这一点,但是为每个部门复制粘贴代码是没有效率的,它会在以后妨碍您。即使有三个部门,将粘贴更改复制到每个部门也是很繁琐的。还要注意,如果您为部门使用单独的数据库,您将无法在部门之间共享数据(至少不能以一种友好、优雅的方式)

  • 您应该做的是将编程语言放在一旁几个小时/天,然后编写一些关于该项目的设计文档。它不必太详细,只要足够让你看到它是多么模块化,你可以做什么,不应该做什么,使它更模块化

    说到这里,你应该等待更多的答案,因为我不像其他人那么专业,所以:-)并原谅我的英语不好