数据库创建&表字段设计
# 数据库创建&表字段设计
找对象
- 用户(不含用户信息)
- 注册信息
- 用户信息
- 敏感词(可以直接用文本)
- token
- 设置
- 应用列表
- 图片(用户头像,用户封面和应用icon)
- 粉丝/关注表
- 黑名单
# 用户
用户和信息分开了,通常来说,开始的时候可以不分开,数据多了,拆表的时候,纵向拆表。
纵向拆表的话,肯定会考虑数据的使用频率的。展示的数据肯定是频度最高的,然后到逻辑上使用的,计算的。
而比较使用,比较少查的,可以拆到另外一张表。这个时候我们可以分成用户表和用户信息表。
- id ID
- user_name 用户名
- password 密码
- salt 盐
- lev 等级
- sex 性别
- avatar 头像
- sign 签名
- deleted 逻辑删除标记 1表示删除,0表示正常
- status 状态,0表示正常,1表示禁止用户
- create_time 创建时间
- update_time 更新时间
# 用户信息表
作为用户表的一个扩展表,比如说邮箱地址呀,电话之类的,当然,如果你要把电话号码作为注册的号,可以放到用户表里针对使用频度来看,如果电话号码/邮箱号码只是登录,修改密码之类的使用,还不算频繁,可以联立查询一下就好。
id ID
user_id 用户ID
phone_num 电话号码
email 邮箱地址
compony 公司名称
position 职位
good_at 擅长领域
birthday 生日
cover 封面
location 所在地
create_time 创建时间
update_time 更新时间
# 注册信息
当用户注册的时候,我们需要记录一些信息以便于后期统计,当然啦,这个一般是从需求来的。比如说我们要知道用户的注册来源(pc,安卓客户端,iphone客户端,自定义渠道),注册时间,注册地点,全网站排名之类的。就可以在这个时候记录了。
- id ID
- user_id 用户ID
- reg_time 注册时间
- reg_from 注册来源
- reg_ip 注册IP
- top 全站注册排名
- create_time 创建时间
- update_time 更新时间
# 应用表
为什么会有应用表呢?当我们在做接入微信开发的时候,我们需要注册账号,创建应用。做淘宝开发的时候也是需要创建应用。会有app_id和app_key,也就是会有app的ID和秘钥。这是一个标识,便于后期的控制,特别是开放API。
- id ID
- app_name 应用名称
- user_id 创建人
- app_type 应用类型 normal普通类型,own 自己的应用
- state 状态 0表示可用,1表示审核中,3表示禁用
- deleted 逻辑删除标记 0表示正常,1表示删除
- app_key 应用唯一标识
- app_secret 应用秘钥
- callback_url 回调地址
- app_icon 应用图标
- app_description 应用描述
- create_time 创建时间
- update_time 更新时间
# Token
- id ID
- user_id 用户ID
- refresh_token 刷新的token
- token_key token的MD5值
- login_from 来源
- app_id 应用ID
- create_time 创建时间
- update_time 更新时间
# 登录记录
对于用户中心来说,安全也是一个比较重要的问题,我们可以通过记录登录的信息,以便让用户查询自己的登录记录,是否有被别人异地登录。
- id ID
- user_id 用户ID
- login_ip 登录IP
- login_from 登录来源
- create_time 创建时间
- update_time 更新时间
# 图片表
我们用户中心也会上传一些图片,比如说用户头像,应用的icon,用户中心的封面图片
- id ID
- user_id 用户ID,谁上传的
- md5 MD5值
- name 图片名称
- url 图片地址
- type 图片类型(avatar,app_icon,cover)
- create_time 创建时间
- update_time 更新时间
# 粉丝表
粉丝表我们关系的有查询粉丝列表,查询关注的人列表,给出两个用户ID,判断两个人的关系:相互关注,A已关注B,互不关注,B已关注A,当然,还有拉黑的关系,哈哈。
- id ID
- user_id 用户ID(被关注人的ID)
- follow_id 关注者的ID(关注user_id的用户ID)
- create_time 创建时间
- update_time 更新时间
# 黑名单列表
根据用户就可以查出这个用户的黑名单,需要什么信息可以联立用户表进行查询。
- id ID
- user_id 用户ID
- black_user_id 黑名单用户ID
- create_time 创建时间
- update_time 更新时间
# 用户个人数据统计
- id ID
- user_id 用户ID
- login_day 登录天数
- register_time 时间(可以计算注册天数)
- fans_count 粉丝数量
- follows_count 关注数量
- on_time 在线时间
- create_time 创建时间
- update_time 更新时间
# 设置表
设置表,一般我们以k-v的形式来保存数据
大概我们会设置管理员的邮箱地址,设置每个人账号创建应用的个数
- id ID
- key 键
- value 值
- create_time 创建时间
- update_time 更新时间
# 创建表的SQL语句
视频播放器侧栏的资料里下载吧