传感器数据MySQL数据库结构方案(健全性检查)
我有一个传感器单元网络,可以定期轮询或将(未确定的)数据推送到服务器。每个单元都有一些静态属性,以及一些我想要记录的时变读数。我主要关心的是,以下示意图实际上是可以实现的:传感器数据MySQL数据库结构方案(健全性检查),mysql,database,Mysql,Database,我有一个传感器单元网络,可以定期轮询或将(未确定的)数据推送到服务器。每个单元都有一些静态属性,以及一些我想要记录的时变读数。我主要关心的是,以下示意图实际上是可以实现的: NODE Table -> stores time varying values per node. I would also like to add a column to store references to the relevant row in the NODES table Headings -->
NODE Table -> stores time varying values per node. I would also like to add a column to store references to the relevant row in the NODES table
Headings --> TimeStamp | Voltage | Current | Temp | Humidity | RoundRobinIndex
NODES Table -> stores static properties about each node
Headings --> Serial | Latitude | Longitude | IP | OtherProps | Pointer to NODE table
这是我第一次体验MySQL(以及一般的数据库管理),所以我想在沉浸于MySQL之前检查一下这是否是一种合理的方法。我也愿意接受其他数据库工具或方法的建议
谢谢您正在构建所谓的关系数据库。您使用的数据库管理系统完全由您选择;它们都有各自的优缺点,但总的来说,MySQL最适合PHP(以我的经验) 除此之外,为了便于您参考
节点
表中的信息,您需要在节点
表中创建一个节点ID
列
NODE Table -> stores time varying values per node. I would also like to add a column to store references to the relevant row in the NODES table
Headings --> Node_ID | TimeStamp | Voltage | Current | Temp | Humidity | RoundRobinIndex
将Node\u ID
设置为主键(即允许您唯一标识表中某一行的列),可以将其作为外键(另一个表中的主键,在本例中为节点
表)引用到节点
表中
NODES Table -> stores static properties about each node
Headings --> Serial | Latitude | Longitude | IP | OtherProps | Node_ID
要从节点
表中检索数据,可以使用如下SQL语句:
SELECT NODE.Node_ID, NODE.TimeStamp, NODES.Serial
FROM NODE
-- Either:
INNER JOIN NODES ON NODE.Node_ID = NODES.Node_ID
WHERE NODE.Node_ID = 2;
-- Or:
WHERE NODE.Node_ID = NODES.Node_ID
AND NODE.Node_ID = 2;
这将从各自的表中为节点ID值等于2的记录选择
节点ID
、时间戳
和序列
。在节点
表中需要一个节点ID列,我会将节点
表重命名为类似节点_数据
的名称,这样更清晰一些。谢谢,伙计,非常彻底:)