【发布时间】:2013-08-05 07:02:56
【问题描述】:
作为一个提高我对 php、OOP 和 PDO 知识的个人项目,我将设计一个错误报告数据库,如 Atlassian Jira、fogbugz 等
我对数据库结构有基本的了解,但是我只使用过一个数据库。
在这个简化的场景中,假设我们将有以下表格:
- 用户
- 错误
- 项目
- 问题类型
- 优先级
我的第一个想法是每个公司都需要一个新的数据库,因为如果我将错误数据库与每个人的错误混合在一起,它会影响查询速度的返回。这可能会导致拥有大量数据库,因为这是一个新概念,我只是想看看是否有更好的方法。
我假设我将自动生成一个新数据库,其中包含上述 5 个表的默认填充字段,位于名为 db_company_56 的数据库下,其中 56 是公司的 ID。
用这么多数据库维护东西可能会有点混乱,我想知道有没有办法将它们存储在 phpadmin 的子文件夹下,从环顾四周我看不到明显的方法。那么我采取的路线是否合理,还是有更好的方法来做这样的事情?
如果你有更多的阅读材料,我可以自己搜索一下,那会很棒,我真的不知道在什么关键字下搜索。
【问题讨论】:
-
首先您需要正确使用术语。您只需要一个数据库,但需要几个表。
-
并且不要为不同的公司使用不同的表,而只使用您列出的结构并使用适当的索引。
-
您只需在表结构中包含一个
Company表即可。 -
或许你可以窥探现有软件的数据库结构,比如 Mantis bug tracker。
-
@str "你只需要一个数据库,但需要几个表。"我同意,但有时,为了监管政策,您必须将各种客户的数据保存为单独的数据库。作为一个个人项目,这可能不是问题......
标签: php mysql database database-design