我们的小组希望将我们的规范数据存储在数据库中。但是,我们需要在数据库设计方面提供一些帮助。
该小组决定制定一份8页的规范,其中至少有100个单一值的“空白”。以表格格式显示几组值。如果值为空,则不适用于给定的产品。每个字段都有一个特定的数据类型。具有以下数据类型的字段均表示为:整数,小数,查找列表,文本,日期和布尔值。
数据库还应跟踪以前的修订。
从一般的角度来看,我该如何设计数据库?
选项1:一个或多个一对一表
选项2:实体价值
<data_type>
_类别表,描述该数据类型的每个字段<data_type>
_每个值实例的值表(ID,Rev,类别,值)选项?:你想出任何想法......
注意:如果适用,我计划对整个项目(表单,表格,查询和报告)使用MS-Access。我们还有SQL Server和MSDN订阅,所以如果你强烈建议,这也是一个选项。
修改
EDIT2:(HansUp的澄清)
EDIT3:摘要:
我们设计了一个包含~100个字段的规范报告,所有字段都依赖于SpecID和Rev来定义我们产品的各种属性的可接受范围。
目前,规范是手工编写的,并存放在文件柜中。此外,每个测试台的活页夹中都提供了每个规格的最新版本的副本。
如何使用大约一百个属性建模主键,这超过了Microsoft Access表中列的限制?
答案 0 :(得分:1)
我会推荐实体价值方法,根据我的经验,尝试以“简单”的方式做这种事情(设计扁平数据结构很容易,但数据处理起来并不容易)。 / p>
看看Duane Hookum's At Your Survey database template。我自己没有用它,但我已经看过它的详细讨论了,似乎他使用了这种方法。
答案 1 :(得分:1)
我的建议是选择#1选项。 #2将会变得更复杂一些,而且对你的情况来说可能是不必要的。如果你让每个用户定义他自己的字段,那么#2可能是合理的,但是我没有从你的描述中得到它。
您的规范只是一个包含100个字段的实体。将其建模为100个“场对象”的“容器”是一种过度杀伤。