一个系统的多个与单个数据库

时间:2012-11-30 21:59:21

标签: php mysql database cakephp database-design

我是一个非常新的php开发人员,我正在为教育机构开发我的第一个系统,它包含员工,管理,学生,学生表现和付款细节。

我不确定数据库中最好的方法是什么。我是应该为所有数据使用单个数据库还是需要为所提到的包含创建多个数据库。

您对此有何看法?

3 个答案:

答案 0 :(得分:4)

目前还不清楚数据库的开头是什么意思:

  • 是一个数据库中的架构吗?
  • 是一个非群集的实例吗?
  • 是一个有多个实例的集群吗? 或者它是合乎逻辑的,你并不是真的在询问数据存储机制的物理特性。

假设要求源于学校工作分配,一个数据库,一个模式和多个表就足够了。

如果您需要考虑高可靠性,冗余,故障转移 - 这将是一个完全不同的答案,最有可能建议多个数据库实例。

如果您关注高规模,那将是另一个答案,可能建议集群数据库环境。

简而言之,您的要求是什么,有多少记录,有多少用户,在长时间内或数天内将数据库关闭有多重要?

答案 1 :(得分:2)

包含多个表的单个数据库最好,imo。

所以,一个名为" institute"的数据库或者广泛包含数据的东西。 在其中,您有一个用于每个用户,性能和付款的表。用户应包含指定用户是员工,管理员还是学生的行。付款和执行应包含链接到用户ID的字段。

答案 2 :(得分:2)

具有许多表的单个数据库可以。它也将更加便携,因为一些低成本主机可能只给你一个数据库或为另一个数据库增加价格(现在很少)。它肯定会更实用,因为所有的SQL都会更简单。

您可能使用另一个数据库的一个原因是,如果您克隆第一个数据库并使用它来向编辑人员显示网站内容的更新,然后才能向公众显示。我的意思是当管理员或编辑者写新帖子或更新信息时,将其插入db1。该站点的副本可以显示预览读取db1,然后管理员按下发布按钮,您所要做的就是使用一条sql指令将db1克隆到db2。通过这种方式,您可以使用“临时”站点来测试条目,并为其他人提供公共站点。当然,你也可以使用重复的表格,但在这种情况下,两个dbs对我来说感觉更干净,更简单。