数据库创建&表字段设计

# 数据库创建&表字段设计

找对象

  • 用户(不含用户信息)
  • 注册信息
  • 用户信息
  • 敏感词(可以直接用文本)
  • 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语句

视频播放器侧栏的资料里下载吧

上次更新: 2022/03/28, 23:04:38