0

我有一张动物表:

动物
ID 名称
1 狗
2 猫
3 兔子

每只动物都有一个投资组合,因此我有两种定义数据库表的方法。

方法一:

投资组合
ID AnimalId 日期
1 1 01/01/2001
2 2 20/03/2009
3 3 05/03/2009
4 1 01/04/2005

方法二:

DogPortfolio
Id 日期
1 01/01/2001
2 01/04/2005

CatPortfolio
ID 日期
1 20/03/2009

RabbitPortfolio
ID 日期
1 05/03/2009

哪种方法更可取?请记住,这是一个人为的示例,实际上我将为每个投资组合存储约 10k 行数据。

4

1 回答 1

1

我当然会选择方法1。

因为每种动物的投资组合都是相同的,所以它们应该放在一张桌子上。如果 Dog 投资组合与 rabbit 投资组合不同,那么您可能需要考虑类似于方法 2 的方法。

方法 1也可以扩展,因此您可以添加 1 行

4 鱼

结构的其余部分继续工作。使用方法 2,每次将一行添加到您的动物表时,您都必须创建一个表(例如 FishPortfolio)。

几乎每次您想出一个涉及在运行时创建永久存储表的解决方案时,这都是一个糟糕的主意。

确保在索引中同时包含 PortfolioID 和 AnimalID。

于 2010-04-21T12:34:01.807 回答