我正在研究一个存储实验数据(拉曼光谱)及其元数据的PostgreSQL数据库.除了我们的样品的"正常"光谱之外,还必须获取并保存用于仪器校准目的的特殊光谱.
每次我进行实验时,我都会在表中创建一条新记录measurements,在此我指定measurement type相应的元数据(其他表的外键).
问题是,元数据类型的不同取决于measurement type:
sample_id从表中存储samplessubstancessource_id必须提供特殊标准化光源样品,物质和光源具有完全不同的属性,因此我们必须将它们保存在单独的表中,measurements通过外键链接到表中.我认为我的数据在这里有多态关系(如果我错了,请纠正我).
在当前设计中,存储在列measurementtype_id(突出显示为红色)中的值定义必须NULL编辑哪些外键(突出显示为黄色)以及哪些必须包含值.
我很确定这个设计违反了第三种常规形式.我们可以有一个场景,当错误类型的元数据与测量相关联时.如何确保数据完整性?不幸的是,到目前为止我找不到合理的解决方案......
database-design entity-relationship foreign-keys relationship database-normalization
我正在使用sublime text 3进行python开发。输入时,我已启用自动补全功能。我希望,当我键入一个对象名称后跟一个句点时,将弹出一个对象的方法/属性列表。不会发生,所以我按Tab。
import time
time.[TAB]
Run Code Online (Sandbox Code Playgroud)
现在发生了什么,简直是不可思议!.被替换self.,所以我最终得到
import time
timeself.
Run Code Online (Sandbox Code Playgroud)
我一直在寻找在所有的设置文件,我想包python completions,code intel和code complice,但他们没有禁止这种“特性”,这让我发疯!
最后,我找到了Jedi软件包,它为文本编辑器解决了此问题。但是我仍然在解释器窗口(package SublimeREPL)中遇到问题。顺便说一句,如果我同时安装Jedi和code complice,则REPL中的自动补全似乎效果更好,但是它提供了一些无关紧要的废话,例如%%!或%%HTML。是的,如果我按两次[TAB],我仍然会得到timeself.而不是time.!
有人知道发生了什么吗?.-> self.行为来自何处?如何禁用%%!东西?
我编写了一个用于实验室测量的 Python 应用程序,它通过不稳定的网络连接将数据保存到远程数据库中。当连接中断时,会弹出一个问题(我使用QMessageBox.question),询问用户是重复上次交易还是取消交易。
最近修改了应用程序以在夜间自主进行自动测量。不再有操作员点击默认选项“重试”!它应该在一段时间超时后自动选择,仍然让用户有机会做出其他选择。
这意味着,如果用户没有做出任何其他选择,我需要一个 QMessageBox 版本,它在超时过后单击默认按钮。
有类似的问题,但它是C++特定的。
python ×2
autocomplete ×1
foreign-keys ×1
pyqt4 ×1
relationship ×1
sublimerepl ×1
sublimetext3 ×1