业务建模:枚举字段的类型选择

选择合适的枚举值

在数据库建表的时候,经常会遇到建立状态、性别、类型等字段的业务需求。

这些字段有一个共同的特点,它们的业务含义通常就是这么几个取值。这样的字段我们可以称为枚举字段。

确定一个字段是否是枚举字段,得参考它所表达的业务含义。如果是在电商业务中,商品表有商品类型字段,一般的电商都是可以动态添加或者删除类型,也就是说,商品类型可能有无数个取值,那么它就不是枚举字段。

选择合适的存储方式

对于性别字段,我们可以使用0,1,2这样的数字值来表示,也可以使用‘M’,’F’,这样的类型来表示。
再说一个复杂的例子,订单状态,它可以有未支付,已付款,已出库,已送达等等的状态,我们可以使用0,1,2,3等等来表示,也可以使用UNPAY,PAY_SUCCESS,CLOSE这样的字符串来表示。

总的来说,可以用纯数字编码或者字符串编码来表示。

纯数字编码的优缺点

  • 在业务含义比较简单的情况下,比如说需要一个字段来表示是否启用这个业务含义,这个业务只有未启用,已启用这两个有业务含义,这时候使用0,1这样的纯数字来表示是比较合适的,也方便理解。
  • 在业务含义取值比较多的时候(n>2,n不是无限多哈),比如说需要一个字段来表示
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值