数据库设计那些事儿
目的: 有效的存储,高效的访问。 优良的设计特点 1.减少数据冗余 2.避免数据异常 3.节约存储空间 4.高效的数据访问 数据库设计步骤 1.需求分析 2.逻辑设计ER建模 3.物理设计(Mysql、Oracle、Sql server) 4.维护优化(新需求建表、索引优化、大表拆分) 需求分析 搞清楚实体与实体之间的关系? 实体包含哪些属性? 实体的唯一标识是什么? 对于日志类的实体,可以进行分库分表设计,定期归档。 电商实例, 用户模块、商品模块、订单模块、购物车模块、供应商模块。 用户模块,包含属性:用户名、密码、电话、邮箱、身份证号、地址、姓名、昵称... 可选唯一标识,用户名、身份证、电话、邮箱。 存储特点,随系统上线逐渐增加,需要永久存储。 商品模块,包含属性:商品编码、商品名称、商品描述、商品分类、供应商名称、价格 可选唯一标识(商品编码)、(商品名称、供应商名称) 存储特点:对于下线商品可以归档存储(不要删除)。 订单模块,包括属性:订单号、用户姓名、电话、收货地址、商品编号、商品名称、数量、价格、订单状态、支付状态、订单类型... 可用唯一标识,订单号。 存储特点:永久存储(分库分表) 购物车模块,包括属性:用户名、商品编号、商品名称、商品价格,商品分类,加入时间,商品数量... 可选唯一标识:(用户名、商品编号、加入时间)、(购物车编号) 存储特点:不用永久存储