本节介绍转储配置中“添加转储表”的操作以及注意事项。
1. iHyperDB转储将关系数据库中的表分为两种类型,窄表或宽表;
?窄表指该表的一行数据只包含一个Tag点的记录;
?宽表指该表的一行数据可以包含多个相关Tag点的记录。
2. 如果转储报警记录到关系数据库中,则只能转储为窄表。我们将报警记录属性分为两个部分,基本属性为表必须有的字段;可选属性为用户自行决定是否存在的字段。具体限制如下表:
属性名 |
属性类型 |
表字段类型 |
|
基本属性 |
报警点名 |
char[128] |
兼容63中文的字符串,建议不小于varchar(384) |
开始时间 |
HDTime(nSec,nMsec) |
长度不小于20的字符串 || 关系数据库支持DataTime类型 |
|
可选属性 |
结束时间 |
HDTime(nSec,nMsec) |
长度不小于20的字符串 || 关系数据库支持DataTime类型 |
报警优先级 |
uint8 |
数值型(兼容1字节无符号整型) || 长度不小于4的字符串 |
|
源值 |
char[1000] |
兼容报警点源点值的字符串,建议不小于varchar[1000] |
|
报警条件 |
char[128] |
建议大于varchar[128] |
|
是否确认 |
uint8 |
数值型(兼容1字节无符号整型) || 长度不小于4的字符串 |
|
确认时间 |
HDTime(nSec,nMsec) |
长度不小于20的字符串 || 关系数据库支持DataTime类型 |
|
确认类型 |
uint8 |
数值型(兼容1字节无符号整型) || 长度不小于4的字符串 |
|
确认者 |
char[32] |
兼容15中文的字符串,建议不小于varchar(96) |
|
是否恢复 |
uint8 |
数值型(兼容1字节无符号整型) || 长度不小于4的字符串 |
|
源点名 |
char[128] |
兼容63中文的字符串,建议不小于varchar(384) |
|
注释 |
char[256] |
兼容127中文的字符串,建议不小于varchar(768) |
|
注释者 |
char[32] |
兼容15中文的字符串,建议不小于varchar(96) |
|
注释时间 |
HDTime(nSec,nMsec) |
长度不小于20的字符串 || 关系数据库支持DataTime类型 |
|
报警类型 |
uint8 |
数值型(兼容1字节无符号整型) || 长度不小于4的字符串 |
3. 如果转储其他数据(非报警数据)到关系数据库中为窄表,我们将数据属性分为两个部分,基本属性为表必须有的字段;可选属性为用户自行决定是否存在的字段.具体限制如下:
属性名 |
属性类型 |
表字段类型 |
|
基本属性 |
Tag点名 |
char[128] |
兼容63中文的字符串,建议不小于varchar(384) |
时间戳 |
HDTime(nSec,nMsec) |
长度不小于20的字符串 || 关系数据库支持DataTime类型 |
|
数据值 |
int8 |
数值型(兼容1字节无符号整型) || 长度不小于5的字符串 |
|
int16 |
数值型(兼容2字节无符号整型) || 长度不小于7的字符串 |
||
int32 |
数值型(兼容4字节无符号整型) || 长度不小于12的字符串 |
||
fioat32 |
浮点型(兼容4字节浮点型) || 建议不小于varchar(40) |
||
float64 |
浮点型(兼容8字节浮点型) || 建议不小于varchar(40) |
||
int8(digital) |
同int8 |
||
string |
建议不小于varchar(1000) |
||
数据质量 |
uint16 |
数据值(兼容2字节无符号整型) || 建议不小于varchar(8) |
4.如果转储其他数据(非报警数据)到关系数据库中为宽表,则表中应当有字段和时间戳属性匹配.允许用户配置时选择特定Tag点的数据质量和数据值,宽表对数据质量、时间戳、数据值属性的限制与窄表对着三个属性的限制相同。