数据库表设计问题!(如何设计合理)

pfworld 2015-03-02 02:08:10
我现有一个数据采集程序A,每分钟生成一条数据,也可以人工补填(停电),数据根据采集的参数值判断天加的数据状态,然后再有一个数据筛查程序B对采集的数据进行资料补充,还有一个统计程序C对采集和补充的数据统计等。

A 程序主要涉及表为
a_DATA_In 采集数据存储表
a_TDD_User 数据字典 采集人员表
a_TDD_Site 数据字典 采集地点表
a_TDD_Type 数据字典 采集类型表

B程序主要涉及表为
b_Data_In2 采集处理数据存储表
---------------------
a_DATA_In 采集数据存储表
id
no
datatime
value1
value2
value3
value4
userID 外键 采集人员表
userID2 外键 采集人员表
siteID 外键 采集地点表
typeID 外键 采集类型表
in2ID 外键 采集处理数据存储表 未处理为空
state
Source
---------------------
a_DATA_In2 采集处理数据存储表
id
no
datatime
value1
value2
value3
value4
--------------------------
在程序B运行是,每处理一条数据,就生成一条处理数据,并修改被处理数据数据参数值。

例:a_DATA_In 采集数据存储表

id 1
no 20150101
datatime 2015-1-1 01:01:01
value1 1
value2 2
value3 3
value4 4
userID 001 外键 采集人员表
userID2 002 外键 采集人员表
siteID s001 外键 采集地点表
typeID t001 外键 采集类型表
in2ID null 外键 处理数据ID 未处理为空
state 异常
Source 人工录入


-----------------------
如何次异常数据被处理

id 1
no 20150101
datatime 2015-1-1 01:01:01
value1 1
value2 2
value3 3
value4 4
userID 001 外键 采集人员表
userID2 002 外键 采集人员表
siteID s001 外键 采集地点表
typeID t001 外键 采集类型表
in2ID null --> p001 外键 处理数据ID
state 异常 --> 异常已处理
Source 人工录入

-------------------------

那么我在程序C中要统计多少异常已处理,直接判断in2ID 不为空即可。而且基础数据采集的值不会改变,只有状态和处理ID会改变。

-----------------------------------------------

目前遇到问题,我的数据都在本地数据库,现在要把数据上传到中心机房,而我的采集端很多,采集数据量也很大,为了后续的统计和上传方便,我要如何设计更加合理。还有一个问题,比如采集数据已经上传,但是处理数据才进行处理把采集数据状态变了那么还涉及到重新上传以修改的数据修改中心数据库的数据问题,寻求好的设计方案!


---------------------------








...全文
503 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
fcuandy 2015-03-06
  • 打赏
  • 举报
回复
还有一个问题,比如采集数据已经上传,但是处理数据才进行处理把采集数据状态变了那么还涉及到重新上传以修改的数据修改中心数据库的数据问题,寻求好的设计方案! 这个需要对业务需求非常的了解才能给出合适的方案
无涯大者 2015-03-06
  • 打赏
  • 举报
回复
路过帮顶下
pfworld 2015-03-06
  • 打赏
  • 举报
回复
求帮助呀!!为什么我的帖子回复人这么少呢?
pfworld 2015-03-04
  • 打赏
  • 举报
回复
寻求高所指点!!或者指点如何设计性能比较好的设计案例!
唐诗三百首 2015-03-02
  • 打赏
  • 举报
回复
可以用触发器(trigger)或复制工具(replication)实现数据的自动同步. 建议LZ了解一下..
pfworld 2015-03-02
  • 打赏
  • 举报
回复
其实我就是想找一个优化数据库设计的方法!! 老库设计是基本信息(不变),状态信息(程序A,B可变),外键基本信息(不变),外键处理ID(B程序写入),因为数据量太大(1000W条以上),虽然B程序只需要查阅7内天信息进行处理数据量不多,但是如果数据已经上传,而B程序再进行本地修改,还要到中心数据库上进行变更,这样感觉不合理。想找一个设计方法,可以避免,数据上传后修改本地数据影响中心数据库再次修改(这里数据量太大,查询浪费资源)。
yooq_csdn 2015-03-02
  • 打赏
  • 举报
回复
虽然你写了很多,但这事太复杂还是没看懂

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧