Initial_commit_SecMPS_v2
This commit is contained in:
168
doc/db_init.sql
Normal file
168
doc/db_init.sql
Normal file
@@ -0,0 +1,168 @@
|
||||
|
||||
-- ============================================
|
||||
-- SecMPS v2.0 数据库建表脚本
|
||||
-- 数据库: gljs_main
|
||||
-- ============================================
|
||||
|
||||
USE gljs_main;
|
||||
|
||||
-- 1. 统一设备主表
|
||||
CREATE TABLE IF NOT EXISTS Base_Device (
|
||||
DeviceId CHAR(36) NOT NULL PRIMARY KEY,
|
||||
DeviceName NVARCHAR(100) NOT NULL,
|
||||
AdapterCode NVARCHAR(50) NOT NULL,
|
||||
SourceId NVARCHAR(100) NOT NULL,
|
||||
DeviceCategory INT NOT NULL DEFAULT 1,
|
||||
DeviceType NVARCHAR(50),
|
||||
RegionId INT NULL,
|
||||
IsParent TINYINT NOT NULL DEFAULT 0,
|
||||
ParentDeviceId CHAR(36) NULL,
|
||||
IsOnline TINYINT NOT NULL DEFAULT 0,
|
||||
IpAddress NVARCHAR(50),
|
||||
Port INT,
|
||||
Location NVARCHAR(200),
|
||||
Lat DOUBLE,
|
||||
Lng DOUBLE,
|
||||
MapModelId NVARCHAR(100),
|
||||
MapModelScale FLOAT DEFAULT 1.0,
|
||||
MapModelRotation NVARCHAR(100),
|
||||
ExtraData TEXT,
|
||||
LocalOverrides TEXT,
|
||||
SyncVersion BIGINT DEFAULT 0,
|
||||
LastSyncTime DATETIME,
|
||||
Enable TINYINT DEFAULT 1,
|
||||
Remark NVARCHAR(500),
|
||||
CreateID INT,
|
||||
Creator NVARCHAR(50),
|
||||
CreateDate DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
ModifyID INT,
|
||||
Modifier NVARCHAR(50),
|
||||
ModifyDate DATETIME,
|
||||
UNIQUE INDEX IX_Base_Device_Adapter_Source (AdapterCode, SourceId),
|
||||
INDEX IX_Base_Device_RegionId (RegionId),
|
||||
INDEX IX_Base_Device_ParentId (ParentDeviceId)
|
||||
);
|
||||
|
||||
-- 2. 视频设备扩展表
|
||||
CREATE TABLE IF NOT EXISTS Device_Video_Ext (
|
||||
ExtId CHAR(36) NOT NULL PRIMARY KEY,
|
||||
DeviceId CHAR(36) NOT NULL,
|
||||
OwlDeviceId NVARCHAR(64) NOT NULL,
|
||||
Protocol INT DEFAULT 1,
|
||||
Manufacturer NVARCHAR(100),
|
||||
Model NVARCHAR(100),
|
||||
ChannelCount INT DEFAULT 0,
|
||||
OwlStatus NVARCHAR(500),
|
||||
CreateDate DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
UNIQUE INDEX IX_VideoExt_Owl (OwlDeviceId),
|
||||
INDEX IX_VideoExt_Device (DeviceId)
|
||||
);
|
||||
|
||||
-- 3. 视频通道表
|
||||
CREATE TABLE IF NOT EXISTS Video_Channel (
|
||||
ChannelId CHAR(36) NOT NULL PRIMARY KEY,
|
||||
OwlChannelId NVARCHAR(64) NOT NULL,
|
||||
DeviceId CHAR(36) NOT NULL,
|
||||
ChannelName NVARCHAR(100) NOT NULL,
|
||||
ChannelNo INT DEFAULT 0,
|
||||
OwlStreamApp NVARCHAR(50),
|
||||
OwlStreamName NVARCHAR(100),
|
||||
HasPtz TINYINT DEFAULT 0,
|
||||
HasRecording TINYINT DEFAULT 0,
|
||||
RecordMode INT DEFAULT 0,
|
||||
IsOnline TINYINT DEFAULT 0,
|
||||
SnapshotUrl NVARCHAR(500),
|
||||
Location NVARCHAR(200),
|
||||
Lat DOUBLE,
|
||||
Lng DOUBLE,
|
||||
Enable TINYINT DEFAULT 1,
|
||||
CreateDate DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
UNIQUE INDEX IX_Channel_Owl (OwlChannelId),
|
||||
INDEX IX_Channel_Device (DeviceId)
|
||||
);
|
||||
|
||||
-- 4. 录像记录表
|
||||
CREATE TABLE IF NOT EXISTS Video_Record (
|
||||
RecordId CHAR(36) NOT NULL PRIMARY KEY,
|
||||
ChannelId CHAR(36) NOT NULL,
|
||||
OwlRecordId INT NOT NULL,
|
||||
App NVARCHAR(50),
|
||||
Stream NVARCHAR(100),
|
||||
StartedAt DATETIME NOT NULL,
|
||||
EndedAt DATETIME,
|
||||
Duration DOUBLE DEFAULT 0,
|
||||
FilePath NVARCHAR(500),
|
||||
FileSize BIGINT DEFAULT 0,
|
||||
CreateDate DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
INDEX IX_Record_Channel (ChannelId),
|
||||
INDEX IX_Record_Time (StartedAt)
|
||||
);
|
||||
|
||||
-- 5. IoT设备扩展表
|
||||
CREATE TABLE IF NOT EXISTS Device_IoT_Ext (
|
||||
ExtId CHAR(36) NOT NULL PRIMARY KEY,
|
||||
DeviceId CHAR(36) NOT NULL,
|
||||
Mc4DeviceId INT NOT NULL,
|
||||
ObjectType INT,
|
||||
Tag NVARCHAR(100),
|
||||
ParentId INT,
|
||||
Mc4Option NVARCHAR(500),
|
||||
CreateDate DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
UNIQUE INDEX IX_IoTExt_Mc4 (Mc4DeviceId),
|
||||
INDEX IX_IoTExt_Device (DeviceId)
|
||||
);
|
||||
|
||||
-- 6. 设备点位表
|
||||
CREATE TABLE IF NOT EXISTS IoT_DevicePoint (
|
||||
PointId CHAR(36) NOT NULL PRIMARY KEY,
|
||||
DeviceId CHAR(36) NOT NULL,
|
||||
Mc4DeviceId INT NOT NULL,
|
||||
PointIndex INT NOT NULL,
|
||||
PointType INT,
|
||||
PointTag NVARCHAR(100),
|
||||
PointName NVARCHAR(100) NOT NULL,
|
||||
PointDesc NVARCHAR(200),
|
||||
Unit NVARCHAR(50),
|
||||
IsControlPoint TINYINT DEFAULT 0,
|
||||
Mc4Option NVARCHAR(500),
|
||||
Enable TINYINT DEFAULT 1,
|
||||
CreateDate DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
UNIQUE INDEX IX_Point_Mc4 (Mc4DeviceId, PointIndex),
|
||||
INDEX IX_Point_Device (DeviceId)
|
||||
);
|
||||
|
||||
-- 7. 设备数据归档表(仅存快照,实时不入库)
|
||||
CREATE TABLE IF NOT EXISTS IoT_DeviceData (
|
||||
DataId CHAR(36) NOT NULL PRIMARY KEY,
|
||||
DeviceId CHAR(36) NOT NULL,
|
||||
PointId CHAR(36) NOT NULL,
|
||||
PointValue DOUBLE,
|
||||
UpdateTime DATETIME NOT NULL,
|
||||
`Interval` INT DEFAULT 0,
|
||||
ArchiveType INT DEFAULT 1,
|
||||
CreateDate DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
INDEX IX_Data_Device (DeviceId),
|
||||
INDEX IX_Data_Time (CreateDate)
|
||||
);
|
||||
|
||||
-- 8. 告警记录表
|
||||
CREATE TABLE IF NOT EXISTS IoT_Alarm (
|
||||
AlarmId CHAR(36) NOT NULL PRIMARY KEY,
|
||||
Mc4AlarmId NVARCHAR(64) NOT NULL,
|
||||
DeviceId CHAR(36),
|
||||
PointId CHAR(36),
|
||||
AlarmType INT DEFAULT 0,
|
||||
AlarmLevel INT DEFAULT 1,
|
||||
AlarmDesc NVARCHAR(500),
|
||||
AlarmValue DOUBLE,
|
||||
StartTime DATETIME NOT NULL,
|
||||
EndTime DATETIME,
|
||||
ConfirmTime DATETIME,
|
||||
ConfirmUser NVARCHAR(50),
|
||||
State INT DEFAULT 1,
|
||||
AdapterCode NVARCHAR(50),
|
||||
CreateDate DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
UNIQUE INDEX IX_Alarm_Mc4 (Mc4AlarmId),
|
||||
INDEX IX_Alarm_Device (DeviceId),
|
||||
INDEX IX_Alarm_Time (StartTime)
|
||||
);
|
||||
Reference in New Issue
Block a user