简单
技术面试0 次浏览在腾讯的社交业务中,经常需要处理用户的好友关系。请简述如何使用 MySQL 数据库设计一个简单的用户好友关系表,以及如何查询某个用户的所有好友。
腾讯后端工程师
MySQL数据库设计好友关系查询
答题要点
本题推荐使用分层分析法进行解答,先阐述表结构设计,再说明查询语句的编写。关键要点如下:1. 表结构设计:设计一个好友关系表,包含两个用户 ID 字段,用于表示好友关系。可以添加一个创建时间字段,记录好友关系的建立时间。2. 保证关系的唯一性:为避免重复记录,可在两个用户 ID 字段上创建唯一索引。3. 查询语句:使用 SQL 的 WHERE 子句,根据用户 ID 查询其所有好友。4. 考虑双向关系:在查询时,要考虑好友关系是双向的,即 A 是 B 的好友,B 也是 A 的好友。示例思路:先设计一个名为 `friend_relations` 的表,包含 `user_id`、`friend_id` 和 `create_time` 字段。然后在 `user_id` 和 `friend_id` 上创建唯一索引。最后,编写查询语句,根据用户 ID 查询其所有好友。