我的数据库中有一个名为enterprise的表。如果企业向我公司表达了自己的需求,企业就会成为我们的前景。之后,如果企业接受我公司的建议,我们将签署合同,企业成为我们的客户。
现在,我已经创建了3个表,分别是企业表、展望表、客户端表。
那么,我应该如何设计数据库呢?
发布于 2010-02-19 21:39:49
一种方法是拥有一个表Companies,以及您已经拥有的三个表。这三个表都有字段CompanyId,该字段有一个外键结构将其链接到companies表。这种设计的优点是,您必须将公司信息保存在一个地方,并且没有重复。
另一种方法是在公司表中有一个字段,将它们标记为企业、潜在客户或客户。
您应该选择哪种设计在很大程度上取决于不同类的信息。如果从继承的角度考虑(即客户就是潜在客户就是企业),那么company表就足够了。但是,如果信息量很大,并且三个类中的每个类的信息都不同,那么第一种方法会更好。
但是,您应该始终尝试将信息保存在一个位置,即一个字段/表(=完全标准化)。在某些情况下,出于性能原因,您可能会偏离这一原则,但请记住,这也意味着更高的维护开销-当一个值发生变化时,您必须更新n个表。
https://stackoverflow.com/questions/2296526
复制相似问题