访问表设计 - 两个选项 - 哪个更好?

时间:2013-02-07 00:14:47

标签: database database-design ms-access-2007

我有一张桌子需要存储来自实验室的样本分析数据以用于不同的产品。我有两个选择。我通常会使用选项#1,但我想知道是否应该开始使用选项#2的版本。对于每个样本,即使是相同的产品,我每周都要求进行不同的测试,但有些是重复的,有些则不是。以下是我可以使用的选项...

选项#1

 SampleID     pH      Solids        Calcium        Nitrogen
 3755        4.2       20.6           15.8
 3756        4.35                     15.7           12.2

选项#2

 SampleID     TestID     TestValue
 3755           1         4.2
 3755           2         20.6
 3755           3         15.8
 3756           1         4.35
 3756           3         15.7
 3756           4         12.2

TestID将链接到具有testID号和测试名的表。选项#2将不会有空字段值,但会有更多行。选项#1会有很多空值,但每个样本的所有值都会在一行中。随着我对数据库的了解越来越多,我认为选项#2就是它们的全部内容。最后要注意的是,虽然我在上面的例子中有四个测试,但实际上是50+。谢谢!

1 个答案:

答案 0 :(得分:4)

嗯,选项#2更加规范化。之后添加其他测试很容易 此外,如果您有50多个测试,应用程序设计将更容易。

顺便说一句,我很想使用TestCode而不是TestID。代码将是测试的2-3个字母表示。它会占用更多的空间和空间。 CPU,但实际上两者都可以忽略不计。如果你不得不直接看表,那就更容易阅读。