数据库设计思想

首先介绍一下我遇到问题如图:


这里有不同场景,不同场景对应不同的模式


接收到不同的条件按照规则执行不同的动作


我接收到场景模块其实想法很简单,就是一个场景,一个场景对条件一对多,一个场景对动作一对多,然而我想法太简单了,没有考虑到不同场景有多个设备,每个设备具有不同条件,比如空调在关机情况下其实可以检测出房间内的温度,根据温度决定是否开空调,有要开多少度数?

声光报警器: 需要达到闪光+85dB才能去执行相应的报警。

现在仔细想想思路很重要:

首先肯定的是:

每个场景表scene

设备条件和规则表 rule

具体执行表 action

上面表示基本表还不全,现在说具体思路首先我做一个树状图:



为什么是这样,我们肯定的是场景是唯一的肯定和规则和执行方案应该是一对多,

但是一个规则可以有多个执行方案:比如家里我设定一个规则,一旦家里温度达到30度,就开启空调和打开电风扇,窗帘拉上,这里很明白的表达了,需要多个设备执行,所以数据库不可能这么多设备放在一行,多以就需要多个执行方案

但是一个执行设备,也有可能被多个地方执行,比如: 一个人在家里感应器感受到阳光太强,强光规则被触发,也会拉上窗帘。

所以规则和执行设备肯定是多对多的关系。这里要注意!

当然还要表示出场景和执行方案和规则是多对多,最好的方式就是多创建一个关联规则组表,作为中介!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容