在软件开发中记录排序问题是个常见问题,也是个很重要的方面。但在开发人员的角度而言,排序似乎只是SQL语句的一个延伸,你可以用 记录的主键进行排序,记录的操作时间排序,也可以创建一个排序字段,正序排或倒序排。
当切换到设计或业务分析的角度而言,排序确有很多讲究。应用系统呈现的数据列表可以被划为:基础数据,业务数据(台帐),报表数据。不同类型的数据对排序有着各自的要求。
- 基础数据
基础数据是一个信息系统信息架构的基础,是被引用的公共数据。基础数据的变动较小,记录的次序相对固定,一般都是按照编码正序排。比如 分类信息、 商品信息、员工信息等,采用一个统一的体系,比如4位编码,1001、1002、1003 ,看着舒服,找起来方便。也有一些敏感信息,比如在一些注重论资排辈的企业可能对人员姓名的排序需要一些单独的权重,次序一般也都相对固定。 - 业务数据(流水帐)
这些都是经常变动的数据,时间次序数据,比如订单数据,操作人员肯定想看到最新的记录,按照时间倒序排肯定是必要的需求。 - 报表数据
报表数据有时和业务数据(流水帐)分的不是太清楚,就好似财务上的明细账和汇总帐,却别在于呈现的颗粒度或是使用者角度而言(操作者角度、管理角度、统计角度)。在管理和统计角度看,一方面需要数据呈现是有次序的,这样容易看出固定项目的数值变化,看到变动的规律。另一方面又需要呈现次序可以自行变动,通过不同角度的排序,分析出更多的细节和方面。