# school_member_address 表文档 ## 表概述 **表名**: school_member_address **功能**: 会员地址管理表,用于存储和管理会员的收货地址信息,支持多地址管理、默认地址设置和地理位置定位 ## 字段说明 ``` Field Type Collation Null Key Default Extra Privileges Comment id int unsigned NULL NO PRI NULL auto_increment select,insert,update,references member_id int NULL NO MUL 0 select,insert,update,references 会员id name varchar(255) utf8mb4_general_ci NO select,insert,update,references 用户姓名 mobile varchar(255) utf8mb4_general_ci NO select,insert,update,references 手机 province_id int NULL NO 0 select,insert,update,references 省id city_id int NULL NO 0 select,insert,update,references 市id district_id int NULL NO 0 select,insert,update,references 区县id address varchar(255) utf8mb4_general_ci NO select,insert,update,references 地址信息 address_name varchar(255) utf8mb4_general_ci NO select,insert,update,references full_address varchar(255) utf8mb4_general_ci NO select,insert,update,references 详细地址信息 lng varchar(255) utf8mb4_general_ci NO select,insert,update,references 经度 lat varchar(255) utf8mb4_general_ci NO select,insert,update,references 纬度 is_default tinyint NULL NO 0 select,insert,update,references 是否是默认地址 ``` ## 功能用途 ### 主要功能 - **多地址管理**: 支持会员添加和管理多个收货地址 - **默认地址设置**: 通过is_default字段设置和管理默认收货地址 - **地理位置定位**: 存储地址的经纬度信息,支持地图定位和距离计算 - **行政区划管理**: 通过省市区三级联动管理地址的行政区划 - **联系信息存储**: 存储收货人姓名和联系电话 - **详细地址记录**: 支持完整的地址信息存储,包括门牌号等详细信息 - **地址验证**: 支持地址信息的完整性和准确性验证 - **快速选择**: 为会员提供快速选择常用地址的功能 ### 业务场景 - **商品配送**: 为会员购买的教材、用品等商品提供配送地址 - **证书邮寄**: 为学员的毕业证书、结业证书等提供邮寄地址 - **活动物料**: 为线上活动的奖品、礼品等提供收货地址 - **教学用品**: 为在线课程的教学用品、学习资料等提供配送服务 - **紧急联系**: 在紧急情况下作为会员的联系地址 - **就近服务**: 基于地理位置为会员推荐就近的校区或服务点 - **区域分析**: 分析会员的地理分布,优化服务布局 - **物流优化**: 基于地址信息优化配送路线和成本 ## 关联关系 ### 主要关联表 - **school_member**: 会员表,通过member_id关联会员基本信息 - **school_sys_area**: 地区表,通过province_id、city_id、district_id关联行政区划 - **school_order**: 订单表,关联订单的收货地址信息 - **school_delivery**: 配送表,关联配送记录和地址信息 - **school_campus**: 校区表,用于计算最近校区和服务范围 ### 关联说明 - `member_id` 关联 `school_member.id`,标识地址所属的会员 - `province_id`、`city_id`、`district_id` 关联地区表,获取完整的行政区划信息 - 与订单系统关联,为订单提供准确的收货地址 - 与配送系统关联,支持物流配送和跟踪 - 与校区系统关联,计算会员与各校区的距离 ## 索引建议 ```sql -- 主键索引(自动创建) PRIMARY KEY (id) -- 会员索引(用于查询会员的所有地址) INDEX idx_member_id (member_id) -- 默认地址索引(用于快速查找默认地址) INDEX idx_member_default (member_id, is_default) -- 省市区索引(用于地区统计) INDEX idx_province_city_district (province_id, city_id, district_id) -- 手机号索引(用于联系方式查询) INDEX idx_mobile (mobile) -- 地理位置索引(用于位置查询) INDEX idx_location (lng, lat) ``` ## 注意事项 - **默认地址唯一性**: 每个会员只能有一个默认地址,设置新默认地址时需要取消其他地址的默认状态 - **地址完整性**: 确保地址信息的完整性,包括省市区和详细地址 - **联系方式验证**: 验证手机号格式的正确性和有效性 - **地理坐标精度**: 经纬度信息应保证足够精度,支持准确的位置计算 - **数据同步**: 地址变更时需要同步更新相关订单和配送信息 - **隐私保护**: 地址信息涉及用户隐私,需要严格的访问控制 - **地址验证**: 建议集成地址验证服务,确保地址的真实性 - **存储优化**: 对于大量地址数据,考虑分表或分区策略 - **缓存策略**: 常用地址信息可以适当缓存,提高查询效率 - **数据清理**: 定期清理无效或重复的地址信息