我正在进行建立一个CMS的练习,它将组织我的雇主在每次我们收到新的销售订单时生成的许多通用文档。每个新的销售订单都有一个5位数的编号(12222122231222224等),但在内部,我们对这些编号应用了层次结构:

+ 121XX
|--01
|--02
+ 122XX
|--22
|--23
|--24

在我的销售订单表中,是使用5位数字作为ID并向上填充,还是使用我们在常规对话中引用作业时使用的层次结构更好?不按顺序填充的唯一好处似乎是稍后在我的视图中格式化数据,但这听起来不足以作为进行额外工作的理由。
谢谢

最佳答案

这看起来像是一个在文件柜中组织操作系统目录或马尼拉文件的系统,而不是一个数据模型。所以问题是,这两层结构的价值是什么?是否有任何属性或功能附加到更高的部分(121XX等)?如果没有,这就变成了一个单纯的展示问题,应该这样处理。
另一方面,我不认为将(121XX,01)实现为复合业务密钥并使用代理密钥作为主键有任何真正的危害。有一个障碍需要注意:如果销售回升,你可能会达到10万个订单,在这一点上,订单号将点击超过六位数。在大多数类型的数据库中,自然排序顺序是:

100XX
1000XX
101XX

关于sql - 如何构造数据……是顺序的还是分层的?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2636268/

10-11 22:43
查看更多