phase/0-infrastructure #1

Merged
g82tt merged 25 commits from phase/0-infrastructure into master 2026-05-16 15:17:19 +08:00
Showing only changes of commit 8d6cc6fd23 - Show all commits

View File

@@ -6,12 +6,14 @@
USE gljs_main;
-- 1. 统一设备主表
-- ============================================
-- 1. 统一设备主表(★中心枢纽)
-- ============================================
DROP TABLE IF EXISTS Base_Device;
CREATE TABLE Base_Device (
DeviceId INT AUTO_INCREMENT COMMENT '设备ID',
DeviceName NVARCHAR(100) NOT NULL COMMENT '设备名称',
AdapterCode NVARCHAR(50) NOT NULL COMMENT '来源适配器(owl/mc4)',
AdapterCode NVARCHAR(50) NOT NULL COMMENT '来源适配器(owl/mc4/hikvision_access)',
SourceId NVARCHAR(100) NOT NULL COMMENT '源系统设备ID',
DeviceCategory INT NOT NULL DEFAULT 1 COMMENT '设备大类(1视频/2IoT/3门禁/4道闸/5报警)',
DeviceType NVARCHAR(50) COMMENT '设备细分类型(GB28181/TempSensor)',
@@ -42,14 +44,17 @@ CREATE TABLE Base_Device (
PRIMARY KEY (DeviceId),
UNIQUE INDEX IX_Base_Device_Adapter_Source (AdapterCode, SourceId),
INDEX IX_Base_Device_RegionId (RegionId),
INDEX IX_Base_Device_ParentId (ParentDeviceId)
INDEX IX_Base_Device_ParentId (ParentDeviceId),
INDEX IX_Base_Device_Category (DeviceCategory)
) COMMENT '统一设备主表';
-- ============================================
-- 2. 视频设备扩展表
-- ============================================
DROP TABLE IF EXISTS Device_Video_Ext;
CREATE TABLE Device_Video_Ext (
ExtId INT AUTO_INCREMENT COMMENT '扩展记录ID',
DeviceId INT NOT NULL COMMENT '关联设备ID',
DeviceId INT NOT NULL COMMENT '关联设备ID(Base_Device)',
OwlDeviceId NVARCHAR(64) NOT NULL COMMENT 'Owl系统设备ID',
Protocol INT DEFAULT 1 COMMENT '接入协议(1GB28181/2ONVIF/3RTMP/4RTSP)',
Manufacturer NVARCHAR(100) COMMENT '厂商',
@@ -59,15 +64,17 @@ CREATE TABLE Device_Video_Ext (
CreateDate DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (ExtId),
UNIQUE INDEX IX_VideoExt_Owl (OwlDeviceId),
INDEX IX_VideoExt_Device (DeviceId)
UNIQUE INDEX IX_VideoExt_Device (DeviceId)
) COMMENT '视频设备扩展表';
-- ============================================
-- 3. 视频通道表
-- ============================================
DROP TABLE IF EXISTS Video_Channel;
CREATE TABLE Video_Channel (
ChannelId INT AUTO_INCREMENT COMMENT '通道ID',
OwlChannelId NVARCHAR(64) NOT NULL COMMENT 'Owl系统通道ID',
DeviceId INT NOT NULL COMMENT '关联父设备ID',
DeviceId INT NOT NULL COMMENT '关联父设备ID(Base_Device)',
ChannelName NVARCHAR(100) NOT NULL COMMENT '通道名称',
ChannelNo INT DEFAULT 0 COMMENT '通道编号',
OwlStreamApp NVARCHAR(50) COMMENT 'Owl流应用名',
@@ -87,11 +94,13 @@ CREATE TABLE Video_Channel (
INDEX IX_Channel_Device (DeviceId)
) COMMENT '视频通道表';
-- ============================================
-- 4. 录像记录表
-- ============================================
DROP TABLE IF EXISTS Video_Record;
CREATE TABLE Video_Record (
RecordId INT AUTO_INCREMENT COMMENT '录像记录ID',
ChannelId INT NOT NULL COMMENT '关联通道ID',
ChannelId INT NOT NULL COMMENT '关联通道ID(Video_Channel)',
OwlRecordId INT NOT NULL COMMENT 'Owl录像记录ID',
App NVARCHAR(50) COMMENT '应用名',
Stream NVARCHAR(100) COMMENT '流ID',
@@ -106,11 +115,13 @@ CREATE TABLE Video_Record (
INDEX IX_Record_Time (StartedAt)
) COMMENT '录像记录表';
-- ============================================
-- 5. IoT设备扩展表
-- ============================================
DROP TABLE IF EXISTS Device_IoT_Ext;
CREATE TABLE Device_IoT_Ext (
ExtId INT AUTO_INCREMENT COMMENT '扩展记录ID',
DeviceId INT NOT NULL COMMENT '关联设备ID',
DeviceId INT NOT NULL COMMENT '关联设备ID(Base_Device)',
Mc4DeviceId INT NOT NULL COMMENT 'MC4.0设备ID',
ObjectType INT COMMENT 'MC4.0对象类型',
Tag NVARCHAR(100) COMMENT '设备标签',
@@ -119,14 +130,16 @@ CREATE TABLE Device_IoT_Ext (
CreateDate DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (ExtId),
UNIQUE INDEX IX_IoTExt_Mc4 (Mc4DeviceId),
INDEX IX_IoTExt_Device (DeviceId)
UNIQUE INDEX IX_IoTExt_Device (DeviceId)
) COMMENT '采集设备扩展表';
-- ============================================
-- 6. 设备点位表
-- ============================================
DROP TABLE IF EXISTS IoT_DevicePoint;
CREATE TABLE IoT_DevicePoint (
PointId INT AUTO_INCREMENT COMMENT '点位ID',
DeviceId INT NOT NULL COMMENT '关联设备ID',
DeviceId INT NOT NULL COMMENT '关联设备ID(Base_Device)',
Mc4DeviceId INT NOT NULL COMMENT 'MC4.0设备ID',
PointIndex INT NOT NULL COMMENT '点位索引',
PointType INT COMMENT '点位类型',
@@ -143,12 +156,14 @@ CREATE TABLE IoT_DevicePoint (
INDEX IX_Point_Device (DeviceId)
) COMMENT '设备点位表';
-- ============================================
-- 7. 设备数据归档表
-- ============================================
DROP TABLE IF EXISTS IoT_DeviceData;
CREATE TABLE IoT_DeviceData (
DataId INT AUTO_INCREMENT COMMENT '数据记录ID',
DeviceId INT NOT NULL COMMENT '关联设备ID',
PointId INT NOT NULL COMMENT '关联点位ID',
DeviceId INT NOT NULL COMMENT '关联设备ID(Base_Device)',
PointId INT NOT NULL COMMENT '关联点位ID(IoT_DevicePoint)',
PointValue DOUBLE COMMENT '点位数值',
UpdateTime DATETIME NOT NULL COMMENT '数据更新时间',
`Interval` INT DEFAULT 0 COMMENT '采集间隔(毫秒)',
@@ -156,16 +171,18 @@ CREATE TABLE IoT_DeviceData (
CreateDate DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (DataId),
INDEX IX_Data_Device (DeviceId),
INDEX IX_Data_Point (PointId),
INDEX IX_Data_Time (CreateDate)
) COMMENT '设备数据归档表(仅存历史快照)';
-- 8. 告警记录表
-- ============================================
-- 8. 告警记录表(★通用,视频/IoT/门禁均可产生)
-- ============================================
DROP TABLE IF EXISTS IoT_Alarm;
CREATE TABLE IoT_Alarm (
AlarmId INT AUTO_INCREMENT COMMENT '告警ID',
Mc4AlarmId NVARCHAR(64) NOT NULL COMMENT 'MC4.0告警ID',
DeviceId INT COMMENT '关联设备ID',
PointId INT COMMENT '关联点位ID',
SourceAlarmId NVARCHAR(100) NOT NULL COMMENT '源系统告警ID',
DeviceId INT NOT NULL COMMENT '关联设备ID(Base_Device)',
AlarmType INT DEFAULT 0 COMMENT '告警类型',
AlarmLevel INT DEFAULT 1 COMMENT '告警等级(1提示/2普通/3重要/4紧急)',
AlarmDesc NVARCHAR(500) COMMENT '告警描述',
@@ -178,7 +195,8 @@ CREATE TABLE IoT_Alarm (
AdapterCode NVARCHAR(50) COMMENT '来源适配器',
CreateDate DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (AlarmId),
UNIQUE INDEX IX_Alarm_Mc4 (Mc4AlarmId),
UNIQUE INDEX IX_Alarm_Source (SourceAlarmId),
INDEX IX_Alarm_Device (DeviceId),
INDEX IX_Alarm_Time (StartTime)
INDEX IX_Alarm_Time (StartTime),
INDEX IX_Alarm_Level (AlarmLevel)
) COMMENT '告警记录表';