⼩程序云开发教程-⼿把⼿:⼩程序数据库设计
本⼩节我们将⼿把⼿讲解⼩程序的数据库应该如何设计。
现在我们开始来学习,如何对⼀个系统进⾏数据库设计,设计的第⼀步是,我们需要根据系统功能,分析出应该有哪些信息需要存储,最终系统应该有哪些数据库表。
⾸先我们来看第⼀个功能,⽤户⾃动登录,那就需要存储⽤户的基本信息,所以需要建⽴⼀个⽤户表
第⼆个功能,展⽰搜索的热词,那么我们就需要提前存储词汇的信息,所以需要建⽴⼀个词汇表;
第三个功能,搜索某个词的近义词,那我们就需要⼀个表存储近义词信息,所以需要建议⼀个近义词关
联表;
第四个功能,对搜索结果点赞,点赞的对象其实是⼀组近义词的关联度,也就是说使⽤之前的近义词关联表进⾏存储就⾏了;
第五个功能,联系和反馈,需要建⽴⼀个表存储⽤户的反馈信息,也就是反馈表;
剩下的功能都是直接操作反馈表就可以实现了,不再需要新的表了;
那我们再进⼀步总结,我们总共需要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,时间类型,表⽰⽤户提交反馈的时间。
到⽬前为⽌,我们已经把“近义词查询”⼩程序的所有数据表建⽴完成了,希望同学们可以⾃⼰多看⼏遍本视频,理解为什么要这样设计数据库表。
想看视频版?
关注公号“微程序学堂”,我们的视频教程即将上线
如果你⾃⼰写了好⽂章想投稿

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。