You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
iot/projects/IoTNode/db.sql

257 lines
4.2 KiB

CREATE TABLE "IoTGateway" (
-- 网关
-- Id
"Id" TEXT NOT NULL CONSTRAINT "PK_IoTGateway" PRIMARY KEY,
-- 节点名称
"Name" TEXT NULL,
-- 节点编号
"Number" TEXT NOT NULL,
-- 在线
"IsOnline" INTEGER NOT NULL,
-- 图片
"Image" TEXT NULL,
-- 版本
"Version" TEXT NULL,
-- Password
"Password" TEXT NULL,
-- 序号
"Order" INTEGER NOT NULL,
-- 隐藏
"Hidden" INTEGER NOT NULL,
-- BuildingId
"BuildingId" TEXT NULL,
-- Created
"Created" TEXT NOT NULL,
-- Modified
"Modified" TEXT NULL,
-- Deleted
"Deleted" TEXT NULL
);
CREATE TABLE "IoTProduct" (
-- 产品
-- Id
"Id" TEXT NOT NULL CONSTRAINT "PK_IoTProduct" PRIMARY KEY,
-- 产品名称
"Name" TEXT NULL,
-- 产品型号
"Number" TEXT NOT NULL,
-- 图标
"Image" TEXT NULL,
-- Template
"Template" TEXT NULL,
-- 路径
"Path" TEXT NULL,
-- ApiJson
"ApiJson" TEXT NULL,
-- IoTProductCategoryId
"IoTProductCategoryId" TEXT NULL,
-- Created
"Created" TEXT NOT NULL,
-- Modified
"Modified" TEXT NULL,
-- Deleted
"Deleted" TEXT NULL
);
CREATE TABLE "Setting" (
-- 配置
-- Id
"Id" TEXT NOT NULL CONSTRAINT "PK_Setting" PRIMARY KEY,
-- Name
"Name" TEXT NOT NULL,
-- Value
"Value" TEXT NULL,
-- Type
"Type" INTEGER NOT NULL,
-- Created
"Created" TEXT NOT NULL,
-- Modified
"Modified" TEXT NULL,
-- Deleted
"Deleted" TEXT NULL
);
CREATE TABLE "IoTDevice" (
-- 设备
-- Id
"Id" TEXT NOT NULL CONSTRAINT "PK_IoTDevice" PRIMARY KEY,
-- 名称
"Name" TEXT NULL,
-- 编号
"Number" TEXT NOT NULL,
-- 网关编号
"Gateway" TEXT NULL,
-- 显示名称
"DisplayName" TEXT NOT NULL,
-- 标记
"Tag" TEXT NULL,
-- 在线状态
"IsOnline" INTEGER NOT NULL,
-- 图标
"Icon" TEXT NULL,
-- IP
"Ip" TEXT NULL,
-- 用户名
"UserName" TEXT NULL,
-- 密码
"Password" TEXT NULL,
-- 连接Id
"ConnectId" TEXT NULL,
-- 序号
"Order" INTEGER NOT NULL,
-- 隐藏
"Disabled" INTEGER NOT NULL,
-- 产品Id
"IoTProductId" TEXT NOT NULL,
-- 节点Id
"IoTGatewayId" TEXT NOT NULL,
-- Created
"Created" TEXT NOT NULL,
-- Modified
"Modified" TEXT NULL,
-- Deleted
"Deleted" TEXT NULL,
CONSTRAINT "FK_IoTDevice_IoTGateway_IoTGatewayId" FOREIGN KEY ("IoTGatewayId") REFERENCES "IoTGateway" ("Id") ON DELETE CASCADE,
CONSTRAINT "FK_IoTDevice_IoTProduct_IoTProductId" FOREIGN KEY ("IoTProductId") REFERENCES "IoTProduct" ("Id") ON DELETE CASCADE
);
CREATE TABLE "IoTData" (
-- 数据
-- Id
"Id" TEXT NOT NULL CONSTRAINT "PK_IoTData" PRIMARY KEY,
-- 键
"Key" TEXT NOT NULL,
-- 值
"Value" TEXT NULL,
-- IntValue
"IntValue" INTEGER NULL,
-- DoubleValue
"DoubleValue" REAL NULL,
-- DateTimeValue
"DateTimeValue" TEXT NULL,
-- 枚举候选值列表
"EnumValues" TEXT NULL,
-- 名称
"Name" TEXT NULL,
-- 数据分类
"DataType" INTEGER NOT NULL,
-- 数值类型
"ValueType" INTEGER NOT NULL,
-- 对象模式
"ValueSchema" TEXT NULL,
-- 单位
"Unit" TEXT NULL,
-- 描述
"Description" TEXT NULL,
-- 时间戳
"Timestamp" INTEGER NOT NULL,
-- 隐藏
"Hidden" INTEGER NOT NULL,
-- 设备Id
"IoTDeviceId" TEXT NOT NULL,
-- Created
"Created" TEXT NOT NULL,
-- Modified
"Modified" TEXT NULL,
-- Deleted
"Deleted" TEXT NULL,
CONSTRAINT "FK_IoTData_IoTDevice_IoTDeviceId" FOREIGN KEY ("IoTDeviceId") REFERENCES "IoTDevice" ("Id") ON DELETE CASCADE
);
CREATE INDEX "IX_IoTData_IoTDeviceId" ON "IoTData" ("IoTDeviceId");
CREATE INDEX "IX_IoTDevice_IoTGatewayId" ON "IoTDevice" ("IoTGatewayId");
CREATE INDEX "IX_IoTDevice_IoTProductId" ON "IoTDevice" ("IoTProductId");
CREATE UNIQUE INDEX "IX_IoTDevice_Number" ON "IoTDevice" ("Number");
CREATE UNIQUE INDEX "IX_IoTGateway_Number" ON "IoTGateway" ("Number");
CREATE UNIQUE INDEX "IX_IoTProduct_Number" ON "IoTProduct" ("Number");
CREATE UNIQUE INDEX "IX_Setting_Name" ON "Setting" ("Name");