我正在日志类型的应用程序中跟踪一组医学图像,但在如何为我的记录建模时遇到了问题。问题在于,对于收集到的每组图像,都有两种相似但不同的记录有关给定扫描数据的方式:第一种是由扫描仪的研究协调员完成的,写下每幅图像的描述、顺序和评论,以及第二种方法是在一天左右后扫描实际图像的元数据,当它们传输给我们并可用时。两种模型(图像元数据和手写日志)大致相同(每个图像),但输入的时间不同。
我的问题是:我应该如何连接这两个模型?由于它们都是属于同一扫描的相同顺序,我可以以编程方式将它们匹配,但这似乎会带来很多开销,同时也不是很灵活。我可以将它们与一个连接表或一个外键连接起来,但这可能会导致一些内部不一致。我无法将它们建模为完全相同的模型,因为在手写日志中有一些行为类似于图像但不是图像的额外任务,并且它们没有图像或元数据。
只是僵化并以编程方式链接它们而不用任何键关联它们是否更好?该链接将取决于数据是否正确(但我想情况总是如此)。
既然你说总是有两种类型的数据,我会这样做
这可能会使用错误的术语,因为我不知道到底有什么可用,但我想您会明白的。
image (the data that is common to both scanes/images)
---------------------------
image_id
date
coordinator (the one that is inserted by hand)
---------------------
image_id (PrimaryKey and ForeignKey)
comment
description
order
[...]
metadata (that you get programmatically)
----------------------
image_id (PrimaryKey and ForeignKey)
{whatever data that is}
Run Code Online (Sandbox Code Playgroud)
这样,您就可以连接两个图像,但可以自由地对细节进行不同的建模。
此外,如果数据相似,您可以将元数据移动到单独的表中。这可能对以后的比较/收集/...有用。
metadata (that you get programmatically)
----------------------
image_id (PrimaryKey and ForeignKey)
metadata_id
metadata_description
-------------------------
metadata_id
description
name
{whatever the metadata is}
Run Code Online (Sandbox Code Playgroud)