数据库设计问题

[复制链接]
查看11 | 回复8 | 2009-10-14 18:49:45 | 显示全部楼层 |阅读模式
我现在需要设计系统中报警模块的数据库表
报警分为两类:1、某个房间的报警 2、某个设备的报警, 房间和设备之间没有包含关系
现在有房间表,主键是ROOM_ID
设备表,主键是DEVICE_ID
报警以短信形式发给负责人,一个报警可以发给多个人,需要有一张短信发送表,
如何是这两类报警共用一张短信发送表?
回复

使用道具 举报

千问 | 2009-10-14 18:49:45 | 显示全部楼层
在短信表里用一个字段放这2类报警的ROOM_ID和DEVICE_ID,再用一个字段放报警信息,或者最好是有报警的ID,觉得有需要区分它们的话,单独建立一个标志字段来区分,比如1就是房间,2就是设备
回复

使用道具 举报

千问 | 2009-10-14 18:49:45 | 显示全部楼层
原帖由 风铃中の鬼 于 2010-7-24 10:52 发表
在短信表里用一个字段放这2类报警的ROOM_ID和DEVICE_ID,再用一个字段放报警信息,或者最好是有报警的ID,觉得有需要区分它们的话,单独建立一个标志字段来区分,比如1就是房间,2就是设备

可是在短信表中ROOM_ID和DEVICE_ID可能会重啊,我想过建两个字段,可是又感觉有些冗余
回复

使用道具 举报

千问 | 2009-10-14 18:49:45 | 显示全部楼层
重没关系。。用联合主键,比如把和ROOM_ID和DEVICE_ID存到字段a中,报警ID存到字段B中,看你的需求似乎还会有用户ID。把a,b和用户ID一起做成联合主键
回复

使用道具 举报

千问 | 2009-10-14 18:49:45 | 显示全部楼层
如果重没关系的话,主键没关系,我用的都是代理主键
我还有一种想法,就是把房间和短信报警组成一种关系,设备和短信报警组成一种关系,但这样会多出两张关系表,而且在表连接时多了一次连接
[ 本帖最后由 proghua 于 2010-7-24 16:12 编辑 ]
回复

使用道具 举报

千问 | 2009-10-14 18:49:45 | 显示全部楼层
原帖由 proghua 于 2010-7-24 16:10 发表
如果重没关系的话,主键没关系,我用的都是代理主键
我还有一种想法,就是把房间和短信报警组成一种关系,设备和短信报警组成一种关系,但这样会多出两张关系表,而且在表连接时多了一次连接

只是说那一个字段重了没关系。但是那一条数据不能重。就好像学号重了没关系,因为所在学校不同,之所以用联合主键就是保证学号和学校放一起的时候不重复。。
回复

使用道具 举报

千问 | 2009-10-14 18:49:45 | 显示全部楼层
报警信息上分别建两个列,指向房间ID和设备ID.
回复

使用道具 举报

千问 | 2009-10-14 18:49:45 | 显示全部楼层
谢谢大家!
回复

使用道具 举报

千问 | 2009-10-14 18:49:45 | 显示全部楼层
原帖由 newkid 于 2010-7-24 23:06 发表
报警信息上分别建两个列,指向房间ID和设备ID.




适应变化
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行