设计了很多数据库,很多表,前几天想了下字段的设计,
比如我们要设计一个商品表,商品的业务属性有名称,品牌,价格,生产商等,
那这个表的设计很简单
表名:Product
字段: id 唯一主键
name 名称
brand 品牌
price 价格
manufacturer 生产商
这个表可以说就完成了,下面列出一些表的相关需求
1.系统中需要单独记录生厂商,即有一个生产商的表,那么商品的生产商
就变成了一个外键manufacturerId,关联生产商表
2.需要知道所有商品什么时候创建的,最后一个是什么时候修改
增加字段createTime 创建时间, updateTime 更新时间,
3.商品的数量很多,生产商也很多,并且需要经常根据生产商的名字做模糊查询,为了提高查询效率
直接在商品表增加生产商名字字段,manufacturerName 生产商名字
4.商品的修改需要审核才能生效,审核中的商品不能修改
增加字段status 状态,提交审核后商品的状态变为审核中,根据商品状态限制操作
现在商品表变成下面的样子
id 唯一主键
name 名称
brand 品牌
price 价格
manufacturerId 生产商
manufacturerName 生产商名字
createTime 创建时间
updateTime 更新时间
status 状态
可以给这些字段分下类,
name,brand,price,manufacturerId是业务的必须字段,即业务字段,
manufacturerName是为了方便提高效率加的,即冗余字段
createTime,updateTime 是为了记录用户的操作,即记录字段
status 决定了对数据可以做操作,即逻辑字段
总结下,数据库表的字段可以分为四类,业务字段,冗余字段,记录字段,逻辑字段