该数据库将存储有关硬件设备及其收集的数据的信息。我创建了一个设备表来存储可用的硬件设备:
CREATE TABLE IF NOT EXISTS `devices` (
`deviceID` int(10) unsigned NOT NULL AUTO_INCREMENT,
`deviceType` int(10) unsigned NOT NULL,
`updateFrequency` int(10) unsigned NOT NULL,
PRIMARY KEY (`deviceID`,`deviceType`)
)
Run Code Online (Sandbox Code Playgroud)
deviceID 将对应于真实的硬件 ID(从 1 到 12)。由于有两种类型的硬件设备,我认为创建一个 deviceType 是合适的,该 deviceType 为 0 或 1,具体取决于哪个硬件设备并创建一个复合主键。
为了存储该数据,我创建了另一个表。
CREATE TABLE IF NOT EXISTS `data` (
`dataID` int(11) unsigned NOT NULL AUTO_INCREMENT,
`deviceID` int(11) unsigned NOT NULL,
`payload` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
PRIMARY KEY (`dataID`),
KEY `fk_data_devices` (`deviceID`),
CONSTRAINT `fk_data_devices`
FOREIGN KEY (`deviceID`) …Run Code Online (Sandbox Code Playgroud)