CreateTable-GBase.sqlbook 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. -- SQLBook: Code
  2. # GBase创建 tACACompareItems
  3. CREATE TABLE tACACompareItems
  4. (
  5. ItemID SERIAL NOT NULL,
  6. ItemName VARCHAR(64) NOT NULL,
  7. ItemEnable BOOLEAN NOT NULL,
  8. RoadCount INTEGER DEFAULT 0,
  9. SilentEnable BOOLEAN NOT NULL,
  10. SilentThreshold INTEGER DEFAULT 0,
  11. SilentDuration INTEGER DEFAULT 0,
  12. SilentSensitivity INTEGER DEFAULT 0,
  13. OverloadEnable BOOLEAN NOT NULL,
  14. OverloadThreshold INTEGER DEFAULT 0,
  15. OverloadDuration INTEGER DEFAULT 0,
  16. OverloadSensitivity INTEGER DEFAULT 0,
  17. PhaseEnable BOOLEAN NOT NULL,
  18. PhaseThreshold FLOAT DEFAULT 0,
  19. PhaseDuration INTEGER DEFAULT 0,
  20. PhaseSensitivity INTEGER DEFAULT 0,
  21. PRIMARY KEY (ItemID)
  22. );
  23. COMMENT ON TABLE tACACompareItems IS 'ACA对比项表';
  24. -- 字段注释
  25. COMMENT ON COLUMN tACACompareItems.ItemID IS '对比项ID';
  26. COMMENT ON COLUMN tACACompareItems.ItemName IS '对比项名称';
  27. COMMENT ON COLUMN tACACompareItems.ItemEnable IS '对比项是否启用';
  28. COMMENT ON COLUMN tACACompareItems.RoadCount IS '对比通道数';
  29. COMMENT ON COLUMN tACACompareItems.SilentEnable IS '是否启用静音';
  30. COMMENT ON COLUMN tACACompareItems.SilentThreshold IS '静音阈值';
  31. COMMENT ON COLUMN tACACompareItems.SilentDuration IS '静音持续时间';
  32. COMMENT ON COLUMN tACACompareItems.SilentSensitivity IS '静音灵敏度';
  33. COMMENT ON COLUMN tACACompareItems.OverloadEnable IS '是否启用过载';
  34. COMMENT ON COLUMN tACACompareItems.OverloadThreshold IS '过载阈值';
  35. COMMENT ON COLUMN tACACompareItems.OverloadDuration IS '过载持续时间';
  36. COMMENT ON COLUMN tACACompareItems.OverloadSensitivity IS '过载灵敏度';
  37. COMMENT ON COLUMN tACACompareItems.PhaseEnable IS '是否启用反相';
  38. COMMENT ON COLUMN tACACompareItems.PhaseThreshold IS '反相阈值';
  39. COMMENT ON COLUMN tACACompareItems.PhaseDuration IS '反相持续时间';
  40. COMMENT ON COLUMN tACACompareItems.PhaseSensitivity IS '反相灵敏度';
  41. -- 创建索引(如需要)
  42. -- CREATE INDEX idx_tACACompareItems_ItemName ON tACACompareItems (ItemName);
  43. -- SQLBook: Code
  44. #删除 tACACompareItems
  45. DROP TABLE IF EXISTS "EQM_CESHI".tACACompareItems;
  46. -- SQLBook: Code
  47. #创建 tACACompareItemRoad
  48. #这里设置了级联删除,当 tACACompareItems 表中的某个对比项被删除时,tACACompareItemRoad 中对应的通道也会被删除。
  49. CREATE TABLE tACACompareItemRoad
  50. (
  51. ItemID SERIAL NOT NULL,
  52. RoadNum INTEGER NOT NULL,
  53. RoadName VARCHAR(64) NOT NULL,
  54. RoadRecordEnable BOOLEAN NOT NULL,
  55. SoundCardName VARCHAR(64),
  56. SoundCardPCMName VARCHAR(64),
  57. ChannelID INTEGER,
  58. ChannelName VARCHAR(64),
  59. PRIMARY KEY (ItemID, RoadNum),
  60. FOREIGN KEY (ItemID) REFERENCES tACACompareItems(ItemID)
  61. ON DELETE CASCADE
  62. );
  63. -- 表注释
  64. COMMENT ON TABLE tACACompareItemRoad IS '对比项通道表';
  65. -- 字段注释
  66. COMMENT ON COLUMN tACACompareItemRoad.ItemID IS '对比项ID';
  67. COMMENT ON COLUMN tACACompareItemRoad.RoadNum IS '通道编号,1是主通道,其他对比通道依次向后排';
  68. COMMENT ON COLUMN tACACompareItemRoad.RoadName IS '通道名称';
  69. COMMENT ON COLUMN tACACompareItemRoad.RoadRecordEnable IS '通道录音是否启用';
  70. COMMENT ON COLUMN tACACompareItemRoad.SoundCardName IS '声卡名称';
  71. COMMENT ON COLUMN tACACompareItemRoad.SoundCardPCMName IS '声卡PCM通道名称,使用这个名称打开录音通道';
  72. COMMENT ON COLUMN tACACompareItemRoad.ChannelID IS '频道ID';
  73. COMMENT ON COLUMN tACACompareItemRoad.ChannelName IS '频道名称';
  74. -- SQLBook: Code
  75. #创建ACA的系统配置表,使用Key获取存储的值,值内容是一个JOSN字符串
  76. CREATE TABLE tACADetectPeriod
  77. (
  78. ItemID INTEGER NOT NULL,
  79. IsDetect BOOLEAN NOT NULL, -- 是否检测
  80. WeekType INTEGER NOT NULL,
  81. CDate VARCHAR(32),
  82. TimeStart VARCHAR(32) NOT NULL,
  83. TimeEnd VARCHAR(32) NOT NULL,
  84. ApplySlient BOOLEAN NOT NULL, -- 是否应用静音
  85. ApplyOverload BOOLEAN NOT NULL, -- 是否应用超载
  86. ApplyPhase BOOLEAN NOT NULL, -- 是否应用反相
  87. ApplyNoise BOOLEAN NOT NULL, -- 是否应用噪音
  88. FOREIGN KEY (ItemID) REFERENCES tACACompareItems(ItemID)
  89. ON DELETE CASCADE
  90. );
  91. -- 表注释
  92. COMMENT ON TABLE tACADetectPeriod IS '检测计划表';
  93. -- 字段注释
  94. COMMENT ON COLUMN tACADetectPeriod.ItemID IS '对比项ID';
  95. COMMENT ON COLUMN tACADetectPeriod.IsDetect IS '是否检测,1表示检测日期,0表示非检测日期';
  96. COMMENT ON COLUMN tACADetectPeriod.WeekType IS '检测计划的星期,1-7表示周一到周日,8表示特殊日期,也就是非检测日';
  97. COMMENT ON COLUMN tACADetectPeriod.CDate IS '检测计划的日期';
  98. COMMENT ON COLUMN tACADetectPeriod.TimeStart IS '检测计划的开始时间';
  99. COMMENT ON COLUMN tACADetectPeriod.TimeEnd IS '检测计划的结束时间';
  100. COMMENT ON COLUMN tACADetectPeriod.ApplySlient IS '是否应用静音检测';
  101. COMMENT ON COLUMN tACADetectPeriod.ApplyOverload IS '是否应用超载检测';
  102. COMMENT ON COLUMN tACADetectPeriod.ApplyPhase IS '是否应用反相检测';
  103. COMMENT ON COLUMN tACADetectPeriod.ApplyNoise IS '是否应用噪音检测';
  104. -- 创建索引
  105. CREATE INDEX idx_tACADetectPeriod_ItemID ON tACADetectPeriod (ItemID);
  106. -- SQLBook: Code
  107. #创建系统配置表格
  108. CREATE TABLE tACASystemConfig (
  109. PKID SERIAL NOT NULL,
  110. ConfigKey VARCHAR(64) NOT NULL UNIQUE,
  111. ConfigValue VARCHAR(4096) NOT NULL,
  112. UpdateTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  113. ConfigDesc VARCHAR(256)
  114. );
  115. CREATE OR REPLACE TRIGGER trg_update_time
  116. BEFORE UPDATE ON tACASystemConfig
  117. FOR EACH ROW
  118. BEGIN
  119. :NEW.UpdateTime := CURRENT_TIMESTAMP;
  120. END;
  121. comment on table tACASystemConfig is 'ACA系统配置表' ;
  122. comment on column tACASystemConfig.PKID is '主键ID' ;
  123. comment on column tACASystemConfig.ConfigKey is '配置键' ;
  124. comment on column tACASystemConfig.ConfigValue is '配置值,存储为JSON字符串' ;
  125. comment on column tACASystemConfig.UpdateTime is '配置更新时间' ;
  126. comment on column tACASystemConfig.ConfigDesc is '配置描述' ;
  127. -- SQLBook: Code
  128. CREATE TABLE tACAAlarmInfo
  129. (
  130. PKID SERIAL NOT NULL,
  131. ItemID INTEGER NOT NULL,
  132. ItemName VARCHAR(64) NOT NULL,
  133. AlarmType INTEGER NOT NULL, -- 报警类型,1-静音,2-过载,3-反相,4-不一致,5-噪音
  134. SoundCardName VARCHAR(64), -- 声卡名称
  135. SoundCardPCMName VARCHAR(64) NOT NULL, -- 声卡PCM通道名称
  136. CompareRoadNum INTEGER NOT NULL, -- 对比通道编号
  137. CompareRoadName VARCHAR(64), -- 对比通道名称
  138. CompareRoadType INTEGER, -- 通道类型:1、主输出,2、空收,3、主输出空收
  139. AlarmStartTime DATETIME YEAR TO FRACTION(5), -- 报警开始时间 (格式:YYYY-MM-DD HH:MM:SS)
  140. AlarmEndTime DATETIME YEAR TO FRACTION(5), -- 报警结束时间 (格式:YYYY-MM-DD HH:MM:SS)
  141. AlarmDuration INTEGER, -- 报警持续时间(秒数)
  142. AlarmFilePath VARCHAR(256), -- 报警录音文件路径
  143. FileAlarmStartPos INTEGER, -- 在报警录音文件中报警开始的时间
  144. MainRoadPKID INTEGER, -- 主通道的PKID
  145. FileState INTEGER DEFAULT 0, -- 报警文件状态,1-录音中,2-已录音,3-已删除
  146. CONSTRAINT tACAAlarmInfo PRIMARY KEY (PKID)
  147. )
  148. -- 表注释
  149. COMMENT ON TABLE tACAAlarmInfo IS 'ACA报警记录表';
  150. -- 字段注释
  151. COMMENT ON COLUMN tACAAlarmInfo.PKID IS '主键ID';
  152. COMMENT ON COLUMN tACAAlarmInfo.ItemID IS '对比项ID';
  153. COMMENT ON COLUMN tACAAlarmInfo.ItemName IS '对比项名称';
  154. COMMENT ON COLUMN tACAAlarmInfo.AlarmType IS '报警类型,1-静音,2-过载,3-反相,4-不一致,5-噪音';
  155. COMMENT ON COLUMN tACAAlarmInfo.SoundCardName IS '声卡名称';
  156. COMMENT ON COLUMN tACAAlarmInfo.SoundCardPCMName IS '声卡PCM通道名称';
  157. COMMENT ON COLUMN tACAAlarmInfo.CompareRoadNum IS '对比通道编号';
  158. COMMENT ON COLUMN tACAAlarmInfo.CompareRoadName IS '对比通道名称';
  159. COMMENT ON COLUMN tACAAlarmInfo.CompareRoadType IS '通道类型:1、主输出,2、空收,3、主输出空收';
  160. COMMENT ON COLUMN tACAAlarmInfo.AlarmStartTime IS '报警开始时间 (格式:YYYY-MM-DD HH:MM:SS)';
  161. COMMENT ON COLUMN tACAAlarmInfo.AlarmEndTime IS '报警结束时间 (格式:YYYY-MM-DD HH:MM:SS)';
  162. COMMENT ON COLUMN tACAAlarmInfo.AlarmDuration IS '报警持续时间(秒数)';
  163. COMMENT ON COLUMN tACAAlarmInfo.AlarmFilePath IS '报警录音文件路径';
  164. COMMENT ON COLUMN tACAAlarmInfo.FileAlarmStartPos IS '在报警录音文件中报警开始的时间';
  165. COMMENT ON COLUMN tACAAlarmInfo.MainRoadPKID IS '对比项主通道报警信息的PKID';
  166. COMMENT ON COLUMN tACAAlarmInfo.FileState IS '报警文件状态,1-录音中,2-已录音,3-已删除';
  167. -- 创建索引
  168. CREATE INDEX idx_tACAAlarmInfo_ItemID ON tACAAlarmInfo (ItemID);
  169. CREATE INDEX idx_tACAAlarmInfo_AlarmType ON tACAAlarmInfo (AlarmType);
  170. CREATE INDEX idx_tACAAlarmInfo_CompareRoadNum ON tACAAlarmInfo (CompareRoadNum);
  171. CREATE INDEX idx_tACAAlarmInfo_AlarmStartTime ON tACAAlarmInfo (AlarmStartTime);
  172. CREATE INDEX idx_tACAAlarmInfo_AlarmEndTime ON tACAAlarmInfo (AlarmEndTime);
  173. -- SQLBook: Code
  174. CREATE TABLE tACARecordFile
  175. (
  176. PKID SERIAL NOT NULL,
  177. ItemID INTEGER NOT NULL, -- 对比项ID
  178. ItemName VARCHAR(64) NOT NULL, -- 对比项名称
  179. ItemRoadNum INTEGER NOT NULL, -- 通道编号
  180. ItemRoadName VARCHAR(64) NOT NULL, -- 通道名称
  181. SoundCardName VARCHAR(64) , -- 声卡名称
  182. SoundCardPCMName VARCHAR(64) NOT NULL, -- 声卡PCM通道名称
  183. FileStartTime DATETIME YEAR TO FRACTION(5) NOT NULL, -- 录音开始时间 (格式:YYYY-MM-DD HH:MM:SS)
  184. FileEndTime DATETIME YEAR TO FRACTION(5) NOT NULL, -- 录音结束时间 (格式: YYYY-MM-DD HH:MM:SS)
  185. FileDuration INTEGER NOT NULL, -- 录音文件持续时间(秒数)
  186. FilePath VARCHAR(256) NOT NULL, -- 录音文件路径
  187. FileState INTEGER DEFAULT 0, -- 录音文件状态,0-未知状态,1-正在录音,2-录音完成,3-文件已删除
  188. PRIMARY KEY (PKID)
  189. );
  190. -- 表注释
  191. COMMENT ON TABLE tACARecordFile IS 'ACA录音文件记录表';
  192. -- 字段注释
  193. COMMENT ON COLUMN tACARecordFile.PKID IS '主键ID';
  194. COMMENT ON COLUMN tACARecordFile.ItemID IS '对比项ID';
  195. COMMENT ON COLUMN tACARecordFile.ItemName IS '对比项名称';
  196. COMMENT ON COLUMN tACARecordFile.ItemRoadNum IS '通道编号';
  197. COMMENT ON COLUMN tACARecordFile.ItemRoadName IS '通道名称';
  198. COMMENT ON COLUMN tACARecordFile.SoundCardName IS '声卡名称';
  199. COMMENT ON COLUMN tACARecordFile.SoundCardPCMName IS '声卡PCM通道名称';
  200. COMMENT ON COLUMN tACARecordFile.FileStartTime IS '录音开始时间 (格式:YYYY-MM-DD HH:MM:SS)';
  201. COMMENT ON COLUMN tACARecordFile.FileEndTime IS '录音结束时间 (格式: YYYY-MM-DD HH:MM:SS)';
  202. COMMENT ON COLUMN tACARecordFile.FileDuration IS '录音文件持续时间(秒数)';
  203. COMMENT ON COLUMN tACARecordFile.FilePath IS '录音文件路径';
  204. COMMENT ON COLUMN tACARecordFile.FileState IS '录音文件状态,0-未知状态,1-正在录音,2-录音完成,3-文件已删除';
  205. -- 创建索引
  206. CREATE INDEX idx_tACARecordFile_ItemID ON tACARecordFile (ItemID);
  207. CREATE INDEX idx_tACARecordFile_ItemRoadNum ON tACARecordFile (ItemRoadNum);
  208. CREATE INDEX idx_tACARecordFile_FileStartTime ON tACARecordFile (FileStartTime);
  209. CREATE INDEX idx_tACARecordFile_FileEndTime ON tACARecordFile (FileEndTime);
  210. CREATE INDEX idx_tACARecordFile_FileDuration ON tACARecordFile (FileDuration);
  211. -- SQLBook: Code
  212. #创建存储声卡PCM通道的表格
  213. CREATE TABLE tACASoundCardPCMChannels
  214. (
  215. -- PKID INT PRIMARY KEY AUTO_INCREMENT,
  216. SoundCardName VARCHAR(64) NOT NULL, -- 声卡驱动名称,自定义的,用来表示PCM通道的
  217. PCMName VARCHAR(64) NOT NULL, -- PCM通道名称
  218. PCMDesc VARCHAR(256) NOT NULL, -- PCM通道描述
  219. IOID VARCHAR(32), -- 输入输出
  220. SoundCardNum INTEGER, -- 声卡编号,在系统中的编号,这个不是必须的,有些PCM通道是虚拟的,获取不到属于哪个声卡
  221. SoundCardRoadNum INTEGER -- 声卡通道编号,同上
  222. );
  223. -- 表注释
  224. COMMENT ON TABLE tACASoundCardPCMChannels IS '存储声卡PCM通道信息的表格';
  225. -- 字段注释
  226. -- COMMENT ON COLUMN tACASoundCardPCMChannels.PKID IS '主键ID';
  227. COMMENT ON COLUMN tACASoundCardPCMChannels.SoundCardName IS '声卡名称';
  228. COMMENT ON COLUMN tACASoundCardPCMChannels.PCMName IS 'PCM通道名称';
  229. COMMENT ON COLUMN tACASoundCardPCMChannels.PCMDesc IS 'PCM通道描述';
  230. COMMENT ON COLUMN tACASoundCardPCMChannels.IOID IS '输入输出标识,表示这个PCM通道是输入还是输出';
  231. COMMENT ON COLUMN tACASoundCardPCMChannels.SoundCardNum IS '声卡编号';
  232. COMMENT ON COLUMN tACASoundCardPCMChannels.SoundCardRoadNum IS '声卡通道编号';