我试图想出一个关系模型和数据库实现,但仍然遇到这个问题。但我甚至不知道该怎么称呼它!对于改进标题的建议将不胜感激。实现关系数据模型:此表的约束是什么?
我试图将问题归结为基础知识。
简单的例子:
这里的MySQLWorkbench图:
正如你所看到的,的问题都与Atom
表。
概要的期望的目标:
- 我需要存储用于蛋白质
- 我可以具有数据的一些原子的,或没有原子
- 我不中的特定原子数据我不希望能够插入垃圾数据 - 我想要数据库的限制,以防止这种情况
什么我不确定:
- 是否应该有一个
Atom
表 - 它看起来像Atom_ref
和Residue
之间的连接会产生蛋白质的所有原子 - 但我也需要将数据存储有关原子
概要的问题:
- 每个原子需要一个残基,以及atom_ref
- 但因为残余物与residue_ref相关的atom_ref只能是相关的一个(与residue_ref)atom_ref的
- 不知道如何将残留的residue_ref与atom_ref的residue_ref匹配
我“已经到目前为止已经试过:
- 的
Atom_ref
的PK增加的Atom
的PK - 但随后的residue_ref可能不匹配Residue
- 变化
Residue.rr_name
到PK的一部分 - 违反了域语义
我知道这是一个问题的解释很差,我想弄清楚如何更清楚地解释了!改进建议比欢迎!
这里的主要问题是能够在简单的句子,这个问题域来解释。真的,这就是它。所以开始像:'残留是...'; '蛋白质含有...'; '残留类型是..'。等等。例如你的句子:* ...每个原子需要一个残基... *这是正确的吗?原子是否需要残留物? –
@DamirSudarevic - 你是对的,我努力试图完整而准确地解释这一点,我相信我失败了。任何改善问题的建议,将不胜感激。 –
@MattFenwick:尝试用简单的术语来解释你的模型(忘记'_ref'或其他可能掩盖他人的东西)。你会如何向小孩解释这一点?蛋白质可以有许多残基,残基属于一种蛋白质。对?一个残基可以有许多原子,一个原子属于一个残基。对? (这就是3个表格:Protein,Residue,Atom所描述的)。那里还有什么? –