我应该在数据库中为相同的列使用单独的表吗?

时间:2013-12-26 01:39:11

标签: mysql database entities

如果我有3个实体:

  • 故事
  • 博客
  • 文章

让我们说这些实体具有相同的属性或列。我应该将这些3合1实体结合起来吗? 并且想象每行(1行)包含大量数据。它在性能方面更好吗?

我目前正倾向于分开,因为我可以想象将来为其中一个实体添加另一个专栏。如果性能明智,那么如果它们包含许多大数据,它们是否更好?

2 个答案:

答案 0 :(得分:1)

如果所有三个表都是同等地创建并且索引相同,那么没有理由说性能会有所不同。但是如果表格不会发生根本变化,那么出于维护原因,我会将它们放在同一个表格中 - 使用可空字段。

答案 1 :(得分:0)

  

并且假设这些实体具有相同的属性或列。   我应该将这些3合1实体结合起来吗?想象一下每一行(1   row)包含大量数据。是否在性能方面更好?

在此声明中您说“这些实体具有相同的属性或列”然后......

  

我目前正倾向于分开,因为我可以想象添加   这些实体之一的未来的另一栏。

你说你将只为其中一个添加列(你在阳光下有点下雨)然后它们会有不同的属性/列,当然它们是不同的实体。但如果所有这些都具有相同的属性,(根据我的知识和我将要做的),我将只是将它们组合起来,并有另一个列“类别”,它将识别写入是文章,博客还是故事并制作另一个表格“WriteupCategory”,我需要添加另一个类别:D

尽可能使您的数据库最终/永久并正常化,花费很多时间。如果您更改数据库的表/列,则需要更改所有相关模块:添加,编辑/删除,报告等等。

(我不是亲,但这是我从学校XD学到的)