什么是我的数据库的最佳设计?

时间:2011-02-08 20:30:52

标签: sql database

6 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

在我看来,

如果你确定你永远不需要添加新的森林而且总是你;必须在这三者中进行选择,这是一个很好的解决方案,因为表之间没有连接,结果将被更快地检索。 但是因为数据库太小(只有两个表),所以没有任何区别。

答案 2 :(得分:0)

嗯,这实际上取决于您在此尝试解决的域名问题。

如果你是上帝:)你可以确保每个物种只存在于一个森林中,那么我认为你的设计没有错。越简越好。

但是,如果您将要在多个林中存在物种 OR 以后添加新林,那么您可能希望将其重构为{{表}和Forest表和Species表之间的联结表(多对多)。

答案 3 :(得分:0)

如果你对约束感到满意,为什么选择

  • 有一个整数主键
  • 对“name”
  • 没有唯一约束

答案 4 :(得分:0)

以下是我在描述中发现令人困惑的内容。

首先你说,My database will only contain a few species and the forest(s) in which they can be found,你似乎只允许一个物种居住的森林。但后来你说,I'll make sure that each species only lives in one of these three [forests]。现在它似乎让你真正想要的东西感到困惑。

当这一点结束时,我将能够告诉你是否需要endemic列,因为如果你让每个物种只生活在一个森林中,那将会自动生成它们所有地方病,不是吗?

另外,回到你说的地方,'我会确定......',你的意思是你不打算将其作为数据库设计的一部分来实现吗?

答案 5 :(得分:0)

我会做得很好。只是因为你知道要求不会改变,并不代表他们不会!对于你所知道的一切*当你完成项目并采用适当的方法可能会产生重大影响时,可能会出现新的要求!

对于相对较小的牌桌,速度差异可以忽略不计。

如果这是一个学校项目,那么,如果老师要查看你的解决方案,他们几乎肯定希望看到一个“正确”的方法。或至少说明为什么你没有按正常方式做到这一点。

(*)在这种情况下,您可能真的知道要求不会蠕变,但在现实生活中的编码工作中,他们几乎总是这样做!