化学反应ER图

问题描述 投票:0回答:3

我必须设计一个数据库来存储化学反应的数据。我有 3 个实体:化学、反应和条件。

我还设计了ER图。但它似乎并不完美。请指出以下ER图的缺陷并提出改进建议。

enter image description here

database database-design entity-relationship
3个回答
3
投票

反应和条件之间应该存在关系,因为反应发生在特定条件下,并且您还必须指定关系类型。


2
投票

在我看来,化学品、反应和条件之间的关系应该是三元关系,并且反应和化学品之间还应该有一种关系来代表所产生的化学品。以下是这样的说法:“化学物质在某些条件下会发生反应。该反应会产生化学物质。”

这是一种表示方式:

Ternary relation

但正如本网站http://www.databasedesign.co.uk/bookdatabasesafirstcourse/chap3/chap3.htm中的图3.8所描述的,这种关系可以进一步分解为二元关系的集合。这是最终的急诊室: Ternary relation using 2 binary relations

你的表格应该看起来像这样:

    CHEMICALS(chemicalId, ...)
    REACTIONS(reactionId, conditionId,...) [conditionId here represents the 1-M "UNDER"]
    CONDITIONS(confitionId, ...)
    CHEMICALS_REACT(reactionId, chemicalId) [This table represents the M-M "REACT"]
    REACTION_PROD_CHEM(reactionId, chemicalId) [This table represents the M-M "PRODUCE"]

-1
投票

建议任何想要这样做的人查看PubChem,因为它有丰富的信息和几乎详尽的化学品清单。

我要做的一件事是绘制试剂、条件(例如溶剂、压力、温度)、催化剂和中间产物,包括轻微的副反应。这可以让您弄清楚即使不在您的数据库中,事物也会如何反应。

我还建议使用半氧化还原/电化学值表和 ΔG 表,其中包括标准形成能和活化能。

您可能还希望有一个包含各种化学键强度的表格,特别是无数的碳-碳键(还有 C-S、C-O、C-N 键,因为有几种键可供选择)。化学家一直在寻找 pKa 和溶解度,因此这会很有帮助,因为它通常定义可能发生什么反应,特别是发生多少反应。我也会关注催化剂——它们做什么、如何做、什么条件影响它们,以及什么会毒害或更新它们。最后,电负性和电子壳层配置表会很方便。

© www.soinside.com 2019 - 2024. All rights reserved.