2010-05-27 72 views
4

我正在设计一个数据库捕获临床试验数据。数据由两个人独立输入两次,结果必须匹配。什么是最好的数据库工具来实现最佳结果。任何人都有类似的经历?数据库设计建议想要:双重数据输入

您的帮助非常感谢。

谢谢。

+0

此问题与编程无关。可能这属于superuser.com。 – 2010-05-27 20:46:11

回答

1

您是在设计一个数据库,还是将数据输入数据库的应用程序?

如果你只是希望在数据库中,我将捕获的以下信息:

1) user A item X entered data 
2) user A userID 
3) user A intem X entered date/time 

4) user B item X entered data 
5) user B userID 
6) user B intem X entered date/time 

那么我的结论是有包含的字段

-- entering userID 
-- entry date 
-- entry data (double value) 
I'd also assign it a unique ID for the entry 
--entryID (autoinc) 
一种叫做“数据点”

然后,我会指出,有一些所谓的“数据审判”有两个的这些东西叫做“数据项”

如果我认为这个数字条目每个数据审判可能是3次验证,而不是2,我可能会改变我的设计,但一开始我想给我的“数据审判”的定义如下:

-- data trial name 
-- data trial creation date 
-- user creating data trial (userID) 
-- data entry 1 (dataPointID) 
-- data entry 2 (dataPointID) 
-- entries verified (boolean) 
and give each of these a unique ID also 
-- data trial ID (autoinc) 
+0

谢谢你的快速回答,Zak。回答你的问题:我正在设计整个数据库。这意味着,我可以完全控制我想要使用的任何工具。此外,除了图片中的2个数据录入人员之外,还有另一层检查:数据管理员负责处理结果以查找任何可能的问题并向所有相关方发送查询。 – john 2010-05-27 20:54:38

+1

非常欢迎。这听起来像你需要做一些事情:1)记录将用于捕获和验证数据的过程,以及你可以进入的过程的各种状态。 2)设计捕获两者的数据库数据和过程的当前状态(数据已经过验证,是否返回给数据输入人员等) 3)编写一个快速应用程序(可能是基于Web的)以帮助用户正确执行过程。您可以将Excel电子表格与相关字段交给他们,但这并不能真正实施这些标准。 – Zak 2010-05-27 21:01:39

0

如果你正在寻找一个良好的数据库工具,您应该考虑使用实体关系设计器来建模您的数据库,例如Case Studio或Embarcadero ER/Studio。

0

数据库不是为了解决这个问题而设计的。双输入是一个应用程序问题,违反标准化。我将执行一个验证字段,以表明数据已经过验证,并且是否失败。我可能会包含一个包含每组输入条目的审计表。

应用程序需要一个查找函数来确定这是第一个条目还是后续条目。有一些与此相关的设计问题。

  • 验证无法找到第一个条目。
  • 如何纠正数据,如果它不符合验证。
  • 如何处理应验证的未验证数据。
+1

双入口不违反标准化。假设两个条目是可识别的(通过用户名?),那么只要您避免非关键依赖关系,没有理由为什么合适的设计不应该在BCNF/5NF中。 – sqlvogel 2010-05-27 21:14:39

+0

如果数据不一致,请考虑重复输入。你是男性(入门1),女性(入门2)。您没有unambiguos结果。主表不应该有这两个值的列,这将违反标准格式。数据录入历史记录将会是一个正常形式的有效弱表。 – BillThor 2010-05-28 21:32:19

1

(我不能添加评论...)添加到扎克的回答,如果有过多少人会进入这些值(说跳转从两到三个,像扎克说)我有任何疑问倒是打破了数据输入1和2(两者dataPointIDs)到另一个表中有两列:

--data trial id 
--data entry id 

这样理论上你就可以有许多不同的用户 插入数据,然后将数据试用表将包含只有关于试验的元数据,而不是“业务逻辑”,每个试验只有2个数据条目。

如果不同的试验包含不同数量的数据值,则可以使用类似的设置。