Oracle数据库设计请教

ljan0612 ljan0612 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
正在给长途货车公司做项目,在3000辆货车上安装了采集器,能采集汽车的当前gps位置,载重, 剩余油量,车速,报警等信息,每30秒采集一次,每天采集3000万条信息,推送到车辆动态信息表,表结构如下:
cheliang_dongtai_xinxi(
主键,
车牌号,
车辆注册地行政区划,
车辆当前gps经度信息,
车辆当前gps纬度信息,
车速,0为停驶,大于零则为具体车速,
载重,
剩余油量, 记录时间,
各种报警信息
)

我们的应用,需针对每一辆车,查询及分析以下信息:
1.查询每辆车的行为轨迹信息,并用地图展示车辆当前及历史行驶轨迹
2.根据剩余油量的增减情况 ,分析每辆车的加油情况,
3.分析每辆车的总体油耗情况。
4.车辆预报警信息,如油量耗尽,车辆超载等。
5. 根据车辆当前位置的不断变化,根据指定算法,计算车辆行驶里程信息。
6. 货车从装货开始,每到一个站点卸一次货,直到卸货完毕,完成整个过程叫一个趟次,相邻两次卸货的行驶过程叫一个趟段。根据采集信息,分析出每辆车的趟次及趟段信息。


不知道怎么设计表结构,包括上述采集表,及为了分析而建立的中间分析表,望各位前辈指教。
客户对车辆轨迹信息有一定的实时性要求,对趟段和趟次要求允许一天延迟。
查询时,主要按时间区间,查询每一辆车的上述信息。



我的初步思路是,
1. 对上表车辆动态信息表设计,想到以下几种方法
a. 按车牌号分区,再按时间按季度分区,但有3000辆车,这样就得分3000个主分区,还有时间子分区,是不是太多了?
b. 或只按车辆分区,再在时间上加索引,或只按时间分区,在为车牌号建立索引
c. 车辆注册地行政区划分区,再按时间或车牌分区
感觉哪一种都不合适,网各位前辈指点怎么分区,或有什么其它办法。

2.对需求1,直接查询动态信息表
3.对需求2、3、4、5,分别建立独立的表,从原始表抽出发生对应事件的采集时点的信息,并结合历史信息进行计算,将结果放到表中供业务查询
4. 对需求6,建立两张表,趟次表及趟段表,并从原始动态表抽取对应时点数据存储到该表中供业务查询

不知上述思路是否可行,在线焦急等待中,望各位前辈不吝赐教。
...全文
评论 6
收藏 已收藏
分享
返回顶部
ljan0612
Oracle 17,133 成员 55,258 内容