【发布时间】:2011-04-30 01:22:36
【问题描述】:
我们的团队希望将我们的规范数据存储在数据库中。但是,我们在数据库设计方面需要一些帮助。
小组决定制定一个八页的规范,其中至少有一百个单一值的“空白”。几组值以表格格式显示。如果值为空白,则不适用于给定产品。每个字段都有一个特定的数据类型。具有以下数据类型的字段均表示:整数、小数、查找列表、文本、日期和布尔值。
数据库还应跟踪以前的修订。
从一般的角度来看,我应该如何设计我的数据库?
选项 1:一张或多张一对一表格
- 一个以“ID”和“Rev”为主键的大表。
- 活动修订为具有最新“批准”日期的修订。
- 如果字段数超过 DBMS 限制,请将表拆分为多个“一对一”字段,每个字段都以“ID”和“Rev”作为主键。
选项 2:实体值
- 主表(ID,Rev)
- 对于每种数据类型:
-
<data_type>_category 表描述该数据类型的每个字段 -
<data_type>_value 表(ID、Rev、类别、值),用于每个值的实例
-
选项?:你有什么想法......
注意:如果适用,我计划在整个项目(表单、表格、查询和报告)中使用 MS-Access。我们还有 SQL Server 和 MSDN 订阅,因此如果您强烈建议,这也是一个选项。
编辑:
- 这将是一个内部数据库。
- 我们有大约 150 个规范,我预计每个规范每年都会有一个新的修订。
- 我很可能会在出现问题时维护此数据库。
- 大约 5 人应该能够创建和更新规范和修订。
- 大约有 25 名员工将从该数据库中检索数据(打印报告、查找规范等)
EDIT2:(对 HansUp 的澄清)
- 我将重新考虑使用查找字段并考虑其他选项(创建另一个表、文本值等)
- “每个字段都将具有特定的数据类型”,我的意思是每个字段(或“空白”)都将具有相应的数据类型。例如,MAX_CHAMBER_PSI 始终为整数值,PERFORM_TEMPERATURE_TEST 始终为 Yes/No,REVISION_REASON 始终为字符串。
- 用户数量只是一个近似值。大约 5 个用户将拥有创建/更新权限,另外大约 25 个用户将只能读取数据。在 form_load 上,我只是打算根据登录的用户隐藏控件和更新属性。
EDIT3:总结:
我们设计了一份规格报告,其中包含大约 100 个字段,所有这些字段都依赖于 SpecID 和 Rev 来定义我们产品各种属性的可接受范围。
目前,规格是手写在报告上并存储在文件柜中。此外,每个规格的最新版本的副本都在每个测试台的活页夹中提供。
我应该如何对具有大约一百个属性的主键进行建模,这超出了 Microsoft Access 表中列的限制?
【问题讨论】:
-
thuis 本身似乎不是一个编程问题。你没有提到读/写比率或数据量......谁是“组......”?
-
@Steven:您基本上是在要求我们设计您的生产关键数据库,没有所有要求、使用知识、硬件等。我会发表评论,Access,如果编程不正确将不会适用于超过 4-5 个用户,如果您有大量数据,可能无法很好地扩展。
-
@Mitch:我只是根据所提供的信息寻找正确方向的指针......以及任何澄清......我可以去哪里寻求帮助?
-
这是一个开发人员始终在场的内部应用程序,还是您打算将其分发给另一家公司?
-
查看主要帖子编辑:内部,开发人员将出席
标签: sql-server database database-design ms-access ms-access-2007