这是一个熵增的世界,唯有秩序方能重建世界。
著名的国际化标准组织已经制定了一些列的标准,常用的标准如下:
- ISO-639 语言名称
- ISO 639-1 的中文为
zh
,英文为en
- ISO 639-1 的中文为
- ISO-690 学术论著参考书目格式
- ISO-1000 国际单位制
- 如七个国际基本单位分别是:米(m)、千克(kg)、秒(s)、安培(A)、开尔文(K)、摩尔(mol)、坎德拉(cd)
- ISO-3166 国家名称代码
- ISO 3166-1 分为二位和三位字母代码,如中国为
CN
和CHN
,美国为US
和USA
- ISO 3166-1 分为二位和三位字母代码,如中国为
- ISO-4217 货币及基金代码
- 如
CNY
代表人民币、USD
代表美元、HKD
代表港币、EUR
代表欧元、JPY
代表日圆等
- 如
- ISO-5218 人类性别表示
- 如
1
为男性,2
为女性,0
为未知。我国身份证第十七位采用了同样的规则来表示性别:奇数为男性,偶数为女性。
- 如
- ISO-6709 地理点位置的纬度、经度和海拔高度
- ISO-8601 日期和时间的表示方法
- 如 UTC 的日期与时间表示为
2019-12-04T13:49:18 +00:00
- 如 UTC 的日期与时间表示为
- ISO-9000 品质管理系统
另外,我国也有由民政部划分的行政区划代码,该代码即为身份证的前六位,很好的表示了省市区的层级关系,对于数据存储读取也非常的方便,相比常用的 MySQL 父子 ID 关联而言,这种方式不仅能与身份证对应,而且具有权威性、时效性好,对于层级关系的构建也非常快速方便。仓库cn/GB2260 有各种语言的实现版本,可以便捷使用。
建议在项目之初,尽可能使用标准化,避免使用自增 ID 独自维护关系。大量 ID 在不同场景有不同的含义,会极大增加 bug 率及维护成本,像省市区、部门等层级关系,每两位数字表示一级,其容量为 100,如果两位不够用,可能需要考虑下层级关系划分是否合理。
参考资料: