2

我有一张表,我需要存储来自实验室的不同产品的样本分析数据。我有两个选择。我通常会使用选项#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+。谢谢!

4

1 回答 1

4

好吧,选项#2更加规范化。稍后添加其他测试会很容易。
另外,如果您有 50 多个测试,应用程序设计会更容易。

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

于 2013-02-07T03:04:50.857 回答