我需要做一个监测系统!
包含若干传感器!
要求查询全部传感器的某一个电压值,和单独查询某一传感器的全部电压值(可指定查询时间范围)
另外要记录人员操作信息!
以及电压值的超限情况!
应该如何设计啊!
望各位不佞赐教!新手+菜鸟

解决方案 »

  1.   


    try:
    create table Test(传感器 varchar(10),电压值 numeric(10,2),时间 datetime,记录人员 varchar(20))  
    --传感器电压记录表create table Test2(传感器 varchar(10),是否超限 char(1),时间 datetime,电压值 numeric(10,2),记录人员 varchar(20)))  
    --传感器电压超限表
     等待有更满意的
      

  2.   

    sensor 表
    id name type position
    用于记录传感器信息,各列分别表示各传感器的编号,名称,型号,安装位置
    voltage 表
    id sensor_id v_sid v_limit
    用于记录传感器电压信息,各列分别表示编号,传感器编号,传感器电压值编号,额定极限电压值,记录时间,id 为主键,sensor_id为sensor表id的外键(因为如题,一个传感器可能有多个电压值,也就有多个电压限制值)
    voltagerecord 表
    r_id v_rating testtime
    用于记录传感器动态电压值,各列分别表示传感器电压编号,动态电压值,测试时间,r_id为voltage表id列的外键.
    operator 表
    id name msg
    用于记录操作员信息,各列分别表示编号,姓名,其他信息(可根据需要另设多列)
    onwatch 表
    op_id starttime endtime
    用于记录操作员值班信息,各列分别表示操作员编号,上班时间,下班时间.
    affair 表
    id name msg
    用于记录操作者可能涉及的操作,各列分别表示编号,事务名,事务其他信息
    operation 表
    op_id a_id oprationtime
    用于记录操作人员的所有操作,各列分别表示操作员编号,事务编号,操作时间其中前两个列分别是操作员表和事务表的外键传感器信息巡视采集时,需要传感器电压编号,电压,时间三个参数:
    insert into voltagerecord select 电压编号,电压,时间
    系统定期查询超出额定值的传感器电压值:
    select a.*,b.v_rating,b.testtime from voltage a inner join voltagerecord on a.id=b.r_id where b.v_rating>=a.v_limit and b.testtime=你指定的时间
      

  3.   

    上面多了一列:
    sensor 表 
    id name type position 
    用于记录传感器信息,各列分别表示各传感器的编号,名称,型号,安装位置 
    voltage 表 
    id sensor_id v_sid v_limit 
    用于记录传感器电压信息,各列分别表示编号,传感器编号,传感器电压值编号,额定极限电压值,id 为主键,sensor_id为sensor表id的外键(因为如题,一个传感器可能有多个电压值,也就有多个电压限制值) 
    voltagerecord 表 
    r_id v_rating testtime 
    用于记录传感器动态电压值,各列分别表示传感器电压编号,动态电压值,测试时间,r_id为voltage表id列的外键. 
    operator 表 
    id name msg 
    用于记录操作员信息,各列分别表示编号,姓名,其他信息(可根据需要另设多列) 
    onwatch 表 
    op_id starttime endtime 
    用于记录操作员值班信息,各列分别表示操作员编号,上班时间,下班时间. 
    affair 表 
    id name msg 
    用于记录操作者可能涉及的操作,各列分别表示编号,事务名,事务其他信息 
    operation 表 
    op_id a_id oprationtime 
    用于记录操作人员的所有操作,各列分别表示操作员编号,事务编号,操作时间其中前两个列分别是操作员表和事务表的外键 传感器信息巡视采集时,需要传感器电压编号,电压,时间三个参数: 
    insert into voltagerecord select 电压编号,电压,时间 
    系统定期查询超出额定值的传感器电压值: 
    select a.*,b.v_rating,b.testtime from voltage a inner join voltagerecord on a.id=b.r_id where b.v_rating>=a.v_limit and b.testtime=你指定的时间 
     
    修