本小节我们将手把手讲解小程序的数据库应该如何设计。

现在我们开始来学习,如何对一个系统进行数据库设计,设计的第一步是,我们需要根据系统功能,分析出应该有哪些信息需要存储,最终系统应该有哪些数据库表。

首先我们来看第一个功能,用户自动登录,那就需要存储用户的基本信息,所以需要建立一个用户表

第二个功能,展示搜索的热词,那么我们就需要提前存储词汇的信息,所以需要建立一个词汇表;

第三个功能,搜索某个词的近义词,那我们就需要一个表存储近义词信息,所以需要建议一个近义词关联表;

第四个功能,对搜索结果点赞,点赞的对象其实是一组近义词的关联度,也就是说使用之前的近义词关联表进行存储就行了;

第五个功能,联系和反馈,需要建立一个表存储用户的反馈信息,也就是反馈表;

剩下的功能都是直接操作反馈表就可以实现了,不再需要新的表了;

那我们再进一步总结,我们总共需要4个数据表,第一个是用户表,存储用户信息;第二个是词汇表,存储词汇;第三个是近义词关联表,存储近义词组间的关联信息;第四个是反馈表,存储用户的反馈信息。

现在,我们就开始手把手设计“近义词查询”的数据库。

首先,我们新建用户表,命名为user,用来存储用户信息。

对于一个字段,我们应该考虑这么几个要素,字段名,数据类型,该字段的值是否允许为空,其它的一些要求,最后是这个字段的中文备注。

第一个字段名是_id,类型为字符串,不允许为空,这个是系统默认自动存在的,我们可以把它当做这个表的主键,整个数据表中,主键只能有一个,它就像指定了这个id字段做为这个数据表的每条记录的唯一标识,就像人们的身份证号一样,根据身份证号,就一定可以找到对应的人的身份信息,而且是唯一的。所以,同样,我们可以根据这个字段_id,找到对应的唯一的那条数据;

第二个字段名是nickName,代表的是用户名,类型为字符串,然后不允许为空;

第三个字段名是avatarUrl,类型为字符串,不允许为空,存储用户头像的地址,这里请注意,是用户头像的地址,不用用户头像的图片。

第四个字段名是gender,代表的是用户的性别,类型是数字,1表示男,2表示女

第五个字段名是openid,这个是最重要的一个字段,存储用户的微信id

第六个字段名是is_admin,类型是数字,代表当前用户是否为管理员,1是管理员,0是普通用户;

第七个字段名是sginTime,类型是时间,代表用户的注册时间

我们新建一个词汇表,命名为word。

同样,第一个字段是_id,字符串类型,作为该表的主键。

第二个字段是id,字符串类型,表示该词汇的id,这个字段的值是我们自己定义的。

第三个字段是word,字符串类型,表示该词汇;

第四个字段是hot,数字类型,默认为0,表示搜索热度,每被搜索一次,则+1

我们新建一个近义词关联表,命名为word_similar_relation。

同样,第一个字段是_id,字符串类型,作为该表的主键。

第二个字段是id,字符串类型,表示该关联关系的id,这个字段的值是我们自己定义的。

第三个字段是word_id,字符串类型,表示某个词汇的id;

第四个字段是word_name,字符串类型,表示某个词汇;

第五个字段是similar_word_id,字符串类型,表示与当前词汇构成近义词关系的某个词汇的id;

第六个字段是similar_word_name,字符串类型,表示与当前词汇构成近义词关系的某个词汇;

第七个字段是correlation,数字类型,默认为0,表示这两个词汇间的关联强度,每被用户点赞一次,则+1;

最后一个字段是type,数字类型,默认为1,表示关联的类型,1表示近义词,2表示反义词,方便以后拓展。

需要提醒大家的是,我们这里是通过word_id和word表中的id字段进行关联。

最后新建一个反馈表,命名为feedback。

同样,第一个字段是_id,字符串类型,作为该表的主键。

第二个字段是content,字符串类型,表示用户反馈的内容;

第三个字段是email,字符串类型,表示反馈者的邮箱;

第四个字段是wechat_account,字符串类型,表示反馈者的微信号;

第五个字段是picture_url,字符串类型,表示反馈者上传的图像的存储地址;

第六个字段是openid,字符串类型,表示反馈者的微信id;

第七个字段是type,数字类型,默认为0,表示反馈类型;

最后一个字段是create_time,时间类型,表示用户提交反馈的时间。

到目前为止,我们已经把“近义词查询”小程序的所有数据表建立完成了,希望同学们可以自己多看几遍本视频,理解为什么要这样设计数据库表。

想看视频版?

关注公号“微程序学堂”,我们的视频教程即将上线

如果你自己写了好文章想投稿

请联系我们

微信小程序云开发教程-手把手:小程序数据库设计相关推荐

  1. 微信小程序云开发教程-手把手:获取微信订阅消息的模板ID

    本小节,我们将手把手带领大家一起实现第一个接口,获取微信订阅消息的模板ID 通过开发这个接口,我们将学会云函数的基本结构和函数返回值的格式定义. 开发接口前,我们必须先写接口文档.小程序后端的接口文档 ...

  2. ❤️微信小程序 云开发 教程合集(视频+图文)免费❤️

    一.视频版 微信小程序云开发视频教程上线啦 二.图文版 (1)预备知识 1. 怎么注册开通个人微信小程序 2. 微信小程序云开发教程-互联网软件的运作模式 3.微信小程序云开发教程-云开发对微信小程序 ...

  3. 微信小程序云开发入门(二)-数据库详解

    微信小程序云开发入门(二)-数据库详解 接上一篇:微信小程序云开发入门(一) 摘要: 因为微信小程序云数据库有点类似传统的关系型数据库,但又有所不同.所以刚入手的时候会有点困扰,经过一段时间的学习和摸 ...

  4. 基于微信小程序云开发的投票小程序源码,图文投票微信小程序源码

    功能介绍 投票活动十分火,商家,企业,机构偶尔都会来一场投票活动评选,本小程序支持图文投票,简单方便.随时随地完成投票,可以方便设定投票模式(按天按全程,投票数限定). 本代码前后端完整代码包投票列表 ...

  5. 小程序云开发教程七:贴子的详情及评论功能

    我们先看看界面: 我们如果要实现评论功能, 先看一下总的数据结构: 那么需要什么参数呢? 参数如下 comment: 评论内容username: 用户名time: 评论时间userId: 用户idid ...

  6. 微信小程序云开发成绩查询小程序的制作过程。

    微信小程序云开发成绩查询小程序的制作过程. 如果觉得我讲的好可以点个关注. 明确自己的目的,到底要做一个怎么样的小程序. 我先上效果图: 确定后就可以开始自己布局.主要是用css 1.先看首页,首页主 ...

  7. 微信小程序云开发-树洞小程序Treehole(介绍)

    记录一款基于云开发的微信小程序. 树洞,顾名思义是作为匿名吐槽的平台,主要功能可以参照微信朋友圈的形式,不过采取的是匿名的方式. 主要基于微信小程序云开发,前端个人主页页面的界面使用的是ColorUi ...

  8. 微信小程序云开发查询(显示)数据库集合的指定字段

    在小程序云开发中,如果我们对于查询到的集合只需要某条记录的某个字段值的话,可以这样实现:res.data[第几条记录].字段名

  9. 小程序·云开发,属于小程序的全栈开发机遇

    web前端教程 用大白话,来讲编程 近日,腾讯云"小程序·云开发"解决方案正式上线. 该方案通过简化复杂的后端和运维操作,让即便不具备一定后端知识的开发者也能高效开发出一款高质量的 ...

  10. 小程序云开发之上传数据到数据库

    首先我们要在云开发控制台中新建一个名为 Room 的表 然后我们要在上传页面的js文件中进行初始化` const db = wx.cloud.database().collection('Room') ...

最新文章

  1. 配置linux-Fedora系统下iptables防火墙
  2. c语言移数有n个整数使其,有N个整数,使其前面各数顺序向后移动M个位置,最后M个数变成前面的...
  3. python3 实现 php bin2hex 函数
  4. shell 变量定义使用
  5. kong 启动报错 could not retrieve server_version: timeout
  6. bzoj2547 [Ctsc2002]玩具兵 dp+二分匹配
  7. 德国可能在年底前决定特斯拉柏林电池工厂将获得多少国家补贴
  8. Android连接网络立即同步时区
  9. mysql 5.7.26安装步骤_centOS7.4 安装 mysql 5.7.26的教程详解
  10. SQL Server数据库镜像下有效的索引维护
  11. 如何处理地下管线数据
  12. 生成式模型和判别式模型的区别
  13. 新手入门 哪个视频剪辑软件好用
  14. 解决服务器空间满/var/lib/docker/overlay2占用很大,千万慎用 docker system prune -a清理 mongodb等数据库容器及镜像可能被删,找回恢复数据
  15. 6-5 xcu-sjjg-java-List-5 有序表的插入
  16. [图像特征匹配]SIFT、SURF、ORB算法笔记以及代码实现
  17. 【量化金融】收益率、对数收益率、年华收益、波动率、夏普比率、索提诺比率、阿尔法和贝塔、最大回撤
  18. Java编程环境搭建
  19. HMI智能座舱自动化测试之性能测试
  20. 【我的Android进阶之旅】Android 混淆文件资源分类整理之二:将混淆文件拆分成更小粒度的混淆文件

热门文章

  1. 张亚勤寄语哥伦比亚大学2020年毕业生:引领未知时代
  2. Android高级计算器
  3. win10桌面背景为什么突然变黑了 win10桌面背景不显示解决方法
  4. 计算机内存延迟,内存延迟有多重要?游戏性能测试说明真相:酷睿i9-9900K依然无敌...
  5. pandas中DataFrame如何检测重复值
  6. VBR、ABR、CBR三种编码方式
  7. Python基础+数据科学入门(四)程序控制结构
  8. 看图写英语作文关于计算机,终于懂了看图写英语作文模板
  9. vue结合videojs实现视频播放组件
  10. Android人脸识别活体检测开发入门--基于虹软免费SDK实现