我正在用PHP创建一个多用户/公司Web应用程序。 MySQL的。我很想知道构建数据库的最佳实践是什么。
这个网络应用程序将有数百家公司和数千名用户,因此需要强大。每家公司都无法看到其他公司的数据,只有他们自己的数据。我们将主要存储文本数据,每个公司可能只有几MB。
目前,该数据库包含14个表(对于一个样本公司)。
将所有公司及其用户的数据放在一个数据库中并为每个公司创建一个唯一的公司ID是否更好?
或:
将每个公司的数据放在自己的数据库中并为我添加的每个新公司创建一个新的数据库和表集是不是更好?
每种方法的优点和缺点是什么?
谢谢,
斯蒂芬
答案 0 :(得分:7)
如果所有不同的公司都使用单个Web应用程序,除非您有非常特殊的需要或理由使用单独的数据库(听起来不像您这样做),那么您绝对应该使用单个数据库。
您的应用程序将负责仅向正确的经过身份验证的用户显示正确的信息。
答案 1 :(得分:3)
多个数据库将成为维护的噩梦。对于每个新公司,您必须创建和管理每个公司。如果您对一个架构进行了更改,则必须对14 +。
进行更改成千上万的用户和成千上万的应用程序根本不应该构成问题,只要您使用的是真正的数据库而不是Access或类似的东西。
答案 2 :(得分:2)
单个数据库是关系方式。从这个角度来看,一个方面是数据库收集有关数据库使用情况的统计数据并大量使用它。如果你把事情分开,那么你将会在自己的脚下开枪,因为统计数据将会分散。
答案 3 :(得分:2)