
一、ER图描述 1. 实体:用户 属性:用户ID、用户名、密码哈希、邮箱、手机号、注册时间、最后登录时间 关系:用户与订单是一对多关系,用户与收货地址是一对多关系 2. 实体:商品 属性:商品ID、商品名称、商品描述、价格、库存数量、分类ID、上架状态 关系:商品与订单项是一对多关系,商品与分类是多对一关系 3. 实体:订单 属性:订单ID、用户ID、订单金额、支付状态、物流状态、创建时间 关系:订单与订单项是一对多关系,订单与支付记录是一对一关系 4. 实体:订单项 属性:订单项ID、订单ID、商品ID、购买数量、单价 关系:订单项与商品是多对一关系 二、表结构说明 1. 用户表(users) 字段: - user_id (主键):用户唯一标识 - username:用户名(长度3-20字符) - password_hash:密码加密存储 - email:邮箱地址 - phone_number:手机号码 - is_active:账户状态(0禁用/1启用) 2. 商品表(products) 字段: - product_id (主键):商品唯一标识 - product_name:商品名称 - description:商品描述 - price:价格(精确到小数点后两位) - stock_quantity:库存数量 - category_id:外键关联分类表 3. 订单表(orders) 字段: - order_id (主键):订单唯一标识 - user_id:外键关联用户表 - total_amount:订单总金额 - payment_status:支付状态(0未支付/1已支付) - shipping_status:物流状态(0待发货/1已发货) 三、字段详细说明 1. users表 - user_id:bigint类型,自增主键 - username:varchar(20)非空唯一 - password_hash:char(60)存储bcrypt加密结果 - email:varchar(100)唯一索引 2. products表 - product_id:bigint主键 - price:decimal(10,2) unsigned - stock_quantity:int默认值0 3. orders表 - order_id:varchar(32)主键(日期+随机码) - total_amount:decimal(10,2) unsigned not null - created_at:timestamp默认当前时间 四、系统约束说明 1. 外键约束:所有涉及关联表字段均设置外键约束 2. 唯一约束:用户名、邮箱、手机号需唯一 3. 非空约束:用户密码、商品价格等关键字段设为非空 4. 索引策略:对高频查询字段(email、商品名称)建立索引