表命名
表命名尽可能简洁单一,使用单数形式,如用户表 user ,优惠卷表 coupon
带关联的表命名尽可能体现各个关联方,如用户优惠卷表 user_coupon,订单商品表 order_goods
带关联的表命名尽可能体现各个关联方,如用户优惠卷表 user_coupon,订单商品表 order_goods
表名前缀的考量
用户优惠卷表 user_coupon 的前缀是user,一眼看去就知道该表是属于user模块,表示‘用户的发票’,
有些情况会出现纠结的情况,如收货地址(用户地址)用user_address,那发票呢?是用invoice还是user_invoice,‘发票’默认是指用户的发票,所以用user_invoice表示用户的发票资料没错,
但简洁版的invoice似乎也可以。这种情况下可以从主次上来区分,先考虑谁是主体,这里的主体是发票还是用户,这里的主体应该是类似购物车cart一样的,也就是取名为invoice,通过表中的字段user_id表明这个表是跟user有关联的。
那订单发票资料表呢?订单发票资料的主体应该是‘订单发票’,取名为order_invoice而不是invoice_order。
其实上面不应该定义user_address,应该定义收货地址(交货地址)delivery_address,这样定义的话主体就是地址,而不是用户。