微信数据库分析与设计
- 格式:doc
- 大小:1.89 MB
- 文档页数:20
基于微信的微商城小程序的设计与实现Development and Implementation of Tourism Information and Light Social Small Program Based onWeChat Public Platform中文摘要当前信息技术的发展及其迅猛,各方面的发展,用户消费升级,传统电商等方面的线上推广遇到了瓶颈。
高额的店铺成本投入以及维护,加上技术和成本的门槛高也是比较高的。
这时选择微信小程序,开发的微信小程序,对于传统商品通用,而且在消费者方面,需能够体验到方便快捷,应用范围更广。
本论文是实现基于微信的微商城小程序,充分利用面向对象的开发思路。
基于微信的微商城小程序旨在实现以下功能模块。
首页模块:其中有轮播图,商品展示及搜索功能。
商品分类模块,将商品实现分类,点击可达对应的分类页面。
购物车模块,实现购物车商品具备一些基本的操作,比如增删操作。
除此之外,还有的就是订单及地址管理模块。
该系统在布局方面利用了移动端最常用的flex布局,该布局方式容易上手,对小程序的兼容也很友善。
采用了小程序的原生框架以及结合了微信小程序提供的云开发技术。
微商城小程序运用小程序云开发技术,业务逻辑都可在小程序端完成,但不够强大的地方就是无法实现强大的Web管理界面。
关键词:微信小程序商城化妆品云开发AbstractThe current development of information technology and its rapid development, the development of all aspects of user consumption upgrade, traditional e-commerce and other aspects of online promotion encountered a bottleneck. High store cost inputs and maintenance, coupled with high technology and cost thresholds are also high. At this time, choose the WeChat app, developed by WeChat app, for traditional goods, and in the consumer side, need to be able to experience the convenience and speed, the application range is wider. This thesis is to implement a WeChat-based WeChat applet, making full use of object-oriented development ideas.The WeChat-based WeChat applet is designed to implement the following functional modules. Home module: with rotating map, product display and search function. The product classification module enables you to classify products and click the corresponding classification page. The shopping cart module, which implements some basic operations for shopping cart products, such as adding and deleting operations. In addition to this, there is the order and address management module.The system makes use of the most common flex layout on the mobile side in terms of layout, which is easy to use and friendly to applet compatibility. The native framework of the applet and the cloud development technology provided by the WeChat applet are used. The micro-mall applet using the applet cloud development technology, business logic can be done in the applet side, but not powerful enough is not able to achieve a powerful web management interface.Key words:Wechat Public Platform tourism Travel information Lightweight Sharing Community目录第一章论绪 (1)1.1 课题背景与研究意义 (1)1.1.1 课题背景 (1)1.1.2 研究意义 (1)1.2研究现状 (1)1.3本课题的研究方法 (2)1.4论文结构 (2)1.5本章小结 (3)第二章系统相关技术研究 (4)2.1开发工具及技术选型 (4)2.2 微信小程序 (4)2.3 相关技术 (4)2.3.1 JavaScript (4)2.3.2 CSS技术 (4)2.3.3 HTML语言 (5)2.3.4 小程序云开发 (5)2.4 本章小结 (5)第三章系统分析 (6)3.1 微商城小程序业务流程分析 (6)3.2 微商城小程序总体功能分析 (7)3.3 微商城小程序详细需求分析 (7)3.3.1 用户登录模块 (7)3.3.2 商品信息展示模块 (8)3.3.3 商品分类模块 (9)3.3.4 购物车模块 (10)3.3.5 下单支付模块 (11)3.3.6 个人中心模块 (12)3.4 本章小结 (13)第四章微商城小程序的设计 (14)4.1 微商城小程序项目的搭建 (14)4.1.1 准备工作 (14)4.1.2 新建项目 (14)4.2 微商城小程序的数据库设计 (15)4.2.1 数据库概念结构设计 (15)4.2.2 数据库的逻辑结构设计 (18)4.3 本章小结 (20)第五章微商城小程序的具体实现 (21)5.1 商品信息展示模块设计与实现 (21)5.1.1 首页轮播图banner (21)5.1.2 首页搜索框 (22)5.1.3 首页热门商品展示 (23)5.2 商品分类模块设计与实现 (25)5.2.1 分类模块 (25)5.2.2 商品详情模块 (26)5.3 购物车模块设计与实现 (26)5.4 下单模块设计与实现 (28)5.5 微商城小程序个人中心管理模块的设计与实现 (29)5.5.1 登录获取用户基本信息 (29)5.5.2 个人地址管理 (30)5.5.3 个人订单管理 (31)5.6 商品管理模块的设计与实现 (32)5.7 本章小结 (32)第六章系统测试 (34)6.1 软件测试的目的和流程 (34)6.1.1权限测试 (35)6.1.2功能测试 (35)6.1.3网络测试 (37)6.2本章小结 (37)总结 (38)参考文献 (39)致谢..................................... 错误!未定义书签。
基于微信小程序的商城设计毕业论文摘要随着“互联网+”的大潮兴起,平台型应用再受热捧。
其中,微信小程序凭借其强大的用户基础及其应用时的便捷而深受欢迎。
在此基础上,以小程序为载体的社群电商,将具有相同兴趣的社群成员组织在一起,推广与之需求高度匹配的产品或服务,轻松实现流量变现。
因此,结合以上优势设计并实现基于JavaWeb的小程序商城,具有一定的研究意义和商业价值,符合我国互联网精准化营销和个性化服务的趋势。
本系统主要由微信小程序客户端、服务器、数据管理端构成,前端代码基于Layui,封装工具类,使用的是H-ui Admin。
客户端的页面实现通过网络与服务器REST API接口通信获取 MySQL数据。
本人重点参与网上购物系统客户端、服务器以及数据库的设计、开发、测试工作。
在系统的设计与实现过程中,对客户端的代码进行全局的MVC模式设计控制,采用template模板增加代码的复用性,并创建客户端用户的token管理机制进行用户身份验证与权限分级。
本文重点阐述小程序商城客户端的商品信息展示、商品分类、购物车、下单支付,个人信息管理及数据库设计六大模块的设计和实现过程。
采用了JavaWeb和springboot框架作为后台开发,HTML+JS+CSS和微信web开发工具作为前端开发,遵守微信的开发规范,完成了小程序商城的基本功能,系统运行流畅,可以正常使用。
关键词:电商;JavaWeb;小程序商城;购物;ABSTRACTWith the rise of "Internet ",platform-based applications are becoming more popular. Among them,WeChat Mini Program with its strong user base and its application when convenient and popular. On the basis of this,the community e-commerce with the small program as the carrier,will have the same interest community members to organize together,promotes the product or the service which is highly matched with its demand,realizes the flow realization easily. Therefore,combining the above advantages to design and implement the Mini Programs Mall based on Java Web has certain research significance and commercial value,which is in line with the trend of precision marketing and personalized service of the Internet in China.The system is mainly composed of WeChat Mini Program client,server,data management,front-end code based on Layui,encapsulating tool class,using H-ui Admin. The client's page implementation acquires MySQL data by communicating with the server REST API interface through the network. I focus on the online shopping system client,server and database design,development,testing work.In the design and implementation of the system,the client's code is controlled by the global MVC pattern design,the template template is used to increase the reusability of the code,and the client's token management mechanism is created for user authentication and permission classification. This paper focuses on the design and implementation of the six modules of the small program mall client's commodity information display,commodity classification,shopping cart,order payment,personal information management and database design. Using Java Web and SSM framework as background development,HTML JSCSS and WeChat web development tool as front-end development Send,abide by the development specifications of WeChat,completed the basic functions of Mini Programs Mall,the system runs smoothly,can be used normally.Keywords:E-commerce;Java Web;Mini Programs Mall;Shopping;目录引言....................................................................................................... 错误!未定义书签。
基于微信公众号的通用授权中心的设计与实现【摘要】本文主要研究了基于微信公众号的通用授权中心的设计与实现。
在介绍了研究背景和研究目的。
在详细讨论了基于微信公众号的通用授权中心的设计、授权流程设计、安全性考量、功能实现以及性能优化。
通过对这些方面的研究和实践,为搭建一个高效、安全的授权中心提供了参考和指导。
在对全文进行总结,并展望未来的发展方向。
通过本文的研究,可以为基于微信公众号的通用授权中心的设计和实现提供有益的参考和借鉴。
【关键词】微信公众号、通用授权中心、设计、实现、授权流程、安全性、功能、性能优化、总结、展望未来1. 引言1.1 研究背景在当今互联网时代,随着移动互联网的快速发展,越来越多的应用程序和服务需要用户登录并获取权限来访问用户的信息。
用户在不同的应用中重复进行登录和授权操作,不仅繁琐,而且存在安全风险。
为解决这一问题,我们提出基于微信公众号的通用授权中心的设计与实现。
随着微信公众号用户量的不断增加,微信具有了成为通用授权中心的潜力。
用户在微信中已经拥有了一个稳定的登录账号,并且可以通过微信授权登录第三方应用,实现一次登录多个应用的目的。
基于微信公众号的通用授权中心借助微信的用户体系,可以让用户在微信中完成一次授权,然后通过令牌的方式访问其他第三方应用,极大地简化了用户的登录和授权流程。
通过研发基于微信公众号的通用授权中心,我们旨在提高用户的登录授权体验,减少用户的操作复杂性和安全风险。
基于微信的通用授权中心还可以帮助第三方应用提高用户留存率和活跃度,提升用户体验和服务质量。
1.2 研究目的本研究的目的是设计和实现一个基于微信公众号的通用授权中心,解决当前移动应用和网站在用户授权验证过程中存在的诸多问题,如用户信息安全性、授权流程复杂性和性能瓶颈等。
通过搭建这样一个通用授权中心,可以实现统一的用户认证与授权管理,提高用户体验和安全性,降低开发者的开发难度和成本。
具体目标包括:1. 实现基于微信公众号的统一认证和授权流程,简化用户登录和注册流程;2.加强用户信息安全保护机制,保障用户隐私数据不被泄露;3. 提供稳定高效的性能优化方案,确保系统运行稳定且响应速度快;4. 打造一个通用的可扩展的授权中心,为不同类型的应用提供统一的鉴权服务。
微信数据库分析与设计一、需求分析微信作为当前的主要即时通讯工具之一,有着广泛的应用。
其主要的功能是实现即时通信,这也是微信的核心功能。
此外还有查看朋友圈动态、搜索好友、管理个人信息、建立用户自己的相册、收藏功能、摇一摇、搜索附近的人、购物、游戏等功能。
此次对于微信平台的数据库设计主要对部分需要微信平台提供存储信息功能进行需求分析及设计。
以下将对微信平台的主要需求做简要的分析并且根据分析做出数据流图使得对于微信平台数据库的设计有更好的理解。
微信的通信主要包括与微信好友进行相互通信,这其中通信内容包括文字、语音、图片及视频。
当用户订阅了公众号之后,会接收公众号发送的消息并且也可向公众号发信息或许其提供的信息。
微信通信功能的另一个主要方面是实现群聊。
用户可以加入一个微信群进行群。
另一方面用户也可以选择自己的联系人进行群聊。
微信中通讯录实现了保存用户联系人的目的,并且订阅的公众号也保存于通讯录中,并且在通讯录中可以设定标签来为联系人分组。
微信朋友圈保存好友发送的与朋友共享的消息,其内容可为文字、图片、视频。
在朋友圈中可以设定权限使得不同权限的用户查看的内容不一样。
摇一摇功能可以获取同一时刻一起摇动手机的用户,并且暂存于微信中。
附近的人功能可以识别在一定范围内的微信用户,并且将获得的用户信息也暂存在微信中,对于识别附近的用户可以设定具体的条件来扫描。
漂流瓶功能相当于随机的获取微信消息或者向微信用户随机的发送消息。
对于个人信息的编辑,用户可以根据自身需要编辑一些所需的个人信息。
页脚内容1最后在微信用户个人信息中有相册和收藏记录用户的照片和收藏的文字语音等信息。
以上是对微信的部分功能的需求分析,现根据以上需求对微信数据库画出数据流图:第0层DFD:第1层DFD:页脚内容2页脚内容3二、概念设计在第一步的需求分析中,我们了解了微信数据库平台设计中所需要的实体及需要存储的信息。
在概念设计中将进一步明确数据库设计所需实体,实体所具有的属性及实体之间的关系。
基于微信小程序的教务平台助手分析与设计作者:马俊超牟晓枫来源:《电脑知识与技术》2021年第08期摘要:为了解决大学生校外无法访问教务平台的问题,该课题设计与实现了基于微信小程序的教务平台助手,构建了一站式的教务服务平台。
教务平台助手基于微信小程序平台设计,使用了PHP语言、JavaScript技术、MySql数据库工具和宝塔管理服务器面板进行技术实现。
该文介绍了该系统的开发背景,分析了系统的功能需求和非功能需求,研究了系统的整体架构。
关键词:微信小程序;教务平台;一站式服务平台中图分类号: TP311 文献标识码:A文章编号:1009-3044(2021)08-0081-02微信是目前国内活跃用户最高的社交App,大学生日常生活、学习都离不开微信的使用,基于微信开发的小程序软件也得到了广泛认可和使用。
由于网络结构的限制原因,部分高校大学生无法在校外访问教务平台进行课表查询、成绩查询、选课、评教等操作,造成了诸多不便。
本次基于微信小程序的教务平台助手开发就是为了解决这一问题的,通过构建与教务平台数据共享的来实现信息查询等日常操作,并提供校内通知公告和日常文件存储的实用功能。
1系统开发背景随着高校信息化建设的不断推进,教务工作早已实现了信息化管理,教务部门、教师和学生都可以在教务平台内实现排课、选课、课表查询、成绩登记、评教等操作。
目前国内教务平台的建设一般由第三方软件供应商进行定制化开发实现,如正方教务管理系统、强智教务管理系统、青果教务管理系统等。
这些教务平台系统的功能相对完善,但由于年代久远,缺乏二次开发和日常维护,造成教务平台系统的可靠性、安全性隐患较大。
处于数据安全的考虑,大部分高校采取内网运行的方式来使用教务平台,这虽然可以保护系统免受外网攻击的影响,但在实用性角度也限制了用户的校外访问,如在节假日和寒暑假学生就无法在校外访问教务平台。
部分高校通过与移动App供应商合作的方式开发了一些教务平台手机版软件,但由于平台限制严重,普遍存在App利用率不高的现象。
微信支付安全性分析与设计学号:********姓名:***移动支付概况:2014年,第三方移动支付市场交易规模达到59924.7亿元,较2013年增长391.3%,继续呈现出较高的增长状态。
而2013年,第三方移动支付的增长率达到了707.0%。
移动支付已经连续两年保持超高增长。
预计2015年开始,移动支付的增速将放缓,2018年移动支付的交易规模有望超过18万亿。
2014年中国第三方移动支付的市场集中度更加明显,支付宝、财付通两家企业占据了93.4%的市场份额,其中支付宝的市场份额为82.8%,财付通的市场份额为10.6%。
在移动支付时代,不同于传统的第三方互联网支付的是,同时拥有庞大用户群和应用场景的互联网企业掌握了绝对的市场份额优势。
从网购支付通道慢慢成长起来的支付宝,在支付用户量级、黏性和场景铺设的速度和力度等方面都保持遥遥领先。
财付通凭借微信支付腾飞,在用户和支付场景方面有了质的飞跃,前景值得期待。
微信支付简介:微信支付是集成在微信客户端的支付功能,用户可以通过手机完成快速的支付流程。
微信支付以绑定银行卡的快捷支付为基础,向用户提供安全、快捷、高效的支付服务。
2014年9月26日,腾讯公司发布的腾讯手机管家5.1版本为微信支付打造了“手机管家软件锁”,在安全入口上独创了“微信支付加密”功能,大大提高微信支付的安全性。
用户只需在微信中关联一张银行卡,并完成身份认证,即可将装有微信app的智能手机变成一个全能钱包,之后即可购买合作商户的商品及服务,用户在支付时只需在自己的智能手机上输入密码,无需任何刷卡步骤即可完成支付,整个过程简便流畅。
目前微信支付已实现刷卡支付、扫码支付、公众号支付、APP支付,并提供企业红包、代金券、立减优惠等营销新工具,满足用户及商户的不同支付场景。
[2]微信支付支持以下银行发卡的贷记卡:深圳发展银行、宁波银行。
此外,微信支付还支持以下银行的借记卡及信用卡:招商银行、建设银行、光大银行、中信银行、农业银行、广发银行、平安银行、兴业银行、民生银行。
2019·9(上)《科技传播》100基于企业微信的移动服务平台设计与分析李 云摘 要 随着网络技术和现代信息技术的不断提升,各职业院校中智慧校园的建设正在紧锣密鼓地推进,而移动校园服务平台的建设已经发展成为各学校智慧校园建设中的一个主要方向。
作为移动服务平台中一个主要的组成部分,企业微信在智慧校园的建设中占据着举足轻重的位置。
文章从移动服务平台的平台能力、稳定性和安全性方面着手,以教师和学生需求为基础,以企业微信为支点,设计并实现了一套适合师生日常使用习惯的移动服务平台。
该平台的实现,不仅进一步夯实了智慧校园建设的基础,还能为更好地推动移动校园的建设及优化校园的管理做出贡献。
关键词 企业微信;移动服务平台;稳定性;安全性中图分类号 G2 文献标识码 A 文章编号 1674-6708(2019)242-0100-02作者简介:李云,助理讲师,苏州建设交通高等职业技术学校,研究方向为计算机软件技术。
作为微信的一个重要补充,企业微信[1]是为企事业单位打造的企业通讯与办公工具,它不仅有方便快捷的沟通、查询体验,还提供了更为丰富的API 接口和OA 应用,能够方便地开发和接入更多企业应用,因此被很多高职院校应用于智慧校园的建设中。
然而,校园应用中相互独立的各个系统需要师生进行独立的登录才能使用它们所提供的应用,这会让师生感受不到智慧校园所带来的便利。
为了更好地将相互独立的系统融为一个有机整体,实现登录一个平台即可方便地对各系统进行操作的愿景,基于企业微信的移动服务平台应运而生[2-4]。
以企业微信为应用支点,在对各系统进行有效地融合,能够为学校师生提供集通讯、查询和应用于一体的快捷、安全且高效的个性化服务平台[1-4]。
因此,在建设基于企业微信的移动服务平台的过程中,如何保证各系统稳定的运行以及如何保证各系统间数据传输的安全是系统设计所面临的两个主要问题。
1 基于企业微信的移动服务平台设计在基于企业微信的移动服务平台的设计过程中,需要重点从平台能力设计、平台稳定性设计和平台安全性设计三方面出发,力争让所开发的平台能够流畅、稳定、安全地运行,从而为师生提供更全面的服务。
大数据时代如何用大数据服务于图案设计摘要:在这个快速运转的时代,图案设计的需求已然也在快速增长,那作为设计师我们怎样才能紧跟时代的步伐,获取最新鲜最流行的设计元素将变成设计师首要考虑的问题。
与此同时大数据时代早已进入我们的生活,涉及生活的方方面面。
在大数据时代运用大数据来提升图案设计将是一个必然趋势。
关键词!大数据图案设计创新设计思维设计方法交叉融合荆楚理工学院"程文祥熊礼梅一、大数据的由来我们在生活中或多或少听说过大数据,但谈到大数据我们大概会感到既熟悉又陌生,通常我们认为大数据应该和大企业以及高端科技产业挂钩,然而最早提出大数据时代到来的是麦肯锡:“数据,已经渗透到当今每一个行业和业务职能领域,成为重要的生产因素。
人们对于海量数据的挖掘和运用,预示着新一波生产率增长和消费者盈余浪潮的到来。
”大数据早已涉及我们生活的方方面面但我们却不知它在哪。
举个例子:我们每天都会使用微信或微博记录心情和网友分享图片查看奇闻趣事。
实际上我们每天都在借助大数据完成这些互动而这些互动也使得每天都有大数据在微信微博这样的平台上跑着。
虽然大数据从不为人知到慢慢进入我们的视野再到变成我们关注的热门话题只是近几年的事情,但其实大数据的概念在很早以前就被提出了的。
何为大数据?为了更好地理解这个词我们可以先理解字面意思。
“大数据”顾名思义,“大”这三个字中的形容字,可以理解为体量大也有快速发展的意思,“数据”则为无时不刻都在流动的信息。
因此也极为贴切的反映出了大数据发展的快速增长性和历史性。
具可查阅的文献大数据的历史最早可以追溯到#$$%年,也就是距今一个多世纪前。
故事的主人公就是美国的统计学家———赫尔曼·霍尔瑞斯,他在#$$%年发明了一台用于统计的仪器。
正因赫尔曼·霍尔瑞斯在统计学以及在机械方面的天赋美国人口统计局很快就注意到了他。
#&$%年赫尔曼·霍尔瑞斯应美国统计局邀请发明了这台统计设备。
微信数据库分析与设计本页仅作为文档封面,使用时可以删除
This document is for reference only-rar21year.March
微信数据库分析与设计
一、需求分析
微信作为当前的主要即时通讯工具之一,有着广泛的应用。
其主要的功能是实现即时通信,这也是微信的核心功能。
此外还有查看朋友圈动态、搜索好友、管理个人信息、建立用户自己的相册、收藏功能、摇一摇、搜索附近的人、购物、游戏等功能。
此次对于微信平台的数据库设计主要对部分需要微信平台提供存储信息功能进行需求分析及设计。
以下将对微信平台的主要需求做简要的分析并且根据分析做出数据流图使得对于微信平台数据库的设计有更好的理解。
微信的通信主要包括与微信好友进行相互通信,这其中通信内容包括文字、语音、图片及视频。
当用户订阅了公众号之后,会接收公众号发送的消息并且也可向公众号发信息或许其提供的信息。
微信通信功能的另一个主要方面是实现群聊。
用户可以加入一个微信群进行群。
另一方面用户也可以选择自己的联系人进行群聊。
微信中通讯录实现了保存用户联系人的目的,并且订阅的公众号也保存于通讯录中,并且在通讯录中可以设定标签来为联系人分组。
微信朋友圈保存好友发送的与朋友共享的消息,其内容可为文字、图片、视频。
在朋友圈中可以设定权限使得不同权限的用户查看的内容不一样。
摇一摇功能可以获取同一时刻一起摇动手机的用户,并且暂存于微信中。
附近的人功能可以识别在一定范围内的微信用户,并且将获得的用户信息也暂存在微信中,对于识别附近的用户可以设定具体的条件来扫描。
漂流瓶功能相当于随机的获取微信消息或者向微信用户随机的发送消息。
对于个人信息的编辑,用户可以根据自身需要编辑一些所需的个人信息。
最后在微信用户个人信息中有相册和收藏记录用户的照片和收藏的文字语音等信息。
以上是对微信的部分功能的需求分析,现根据以上需求对微信数据库画出数据流图:
第0层DFD:
第1层DFD:
二、概念设计
在第一步的需求分析中,我们了解了微信数据库平台设计中所需要的实体及需要存储的信息。
在概念设计中将进一步明确数据库设计所需实体,实体所具有的属性及实体之间的关系。
通过分析微信数据库平台所需实体主要有:用户信息、普通消息记录、公众号信息、公众号消息记录、微信群信息、群聊消息记录、收藏信息、相册、朋友圈信息、联系人信息、附近人信息、漂流瓶信息、扫一扫信息、摇一摇信息。
这些实体分别对应于微信功能的不同模块。
在实现微信的通信功能主要是使用用户信息、普通消息记录、微信群信息、群聊消息记录和联系人信息这几个实体。
在明确所需实体后根据实际需要对于每个实体设置符合实际情况的属性,每个属性对应了数据库中的具体属性。
下图是根据对于微信数据库平台的需求分析做出的CDM,通过此概念模型显示数据库之间各实体之间的相互关系及各个实体所具有的实际属性。
三、逻辑设计
由以上概念设计模型,我们可以获得以下逻辑数据模型(LDM)。
在LDM中对于CDM进行了进一步的细化和具体化,对其中的实体之间的关系在逻辑上进一步的进行了明确。
在此基础上我们获得更加具体能直接反映数据库涉及的无理数据模型(PDM)。
通过PDM将具体显示数据库所需的表及其之间的关系。
PDM如下图所示:
标间关系名称父表格子表格
本系统中使用的表单如下所示:
3、联系人表
内容varchar(5000)5,000X
15、漂流瓶信息表
Name Data Type Length P F M
漂流瓶ID char(20)20X X
用户ID char(15)15X
内容varchar(5000)5,000X
对于微信数据库平台的逻辑分析,明确了在具体是实现时所需的表及其各个表之间的引用关系,在接下来的物理设计中将使用逻辑设计中的表在具体数据库实现微信数据库平台的设计。
四、物理设计
在此次物理实现微信数据库平台使用SQL Server 2008。
实现简单的微信平台的数据库,通过在数据库表中插入数据或查看数据来表现微信平台对信息的发送接收及查看。
在此次物理实现是我们遵循3NF。
数据库设计如下图:
1、向“用户信息”表添加记录,模拟微信在线用户。
此次添加三个用户作为模拟的微信用户。
用户基本信息如下:
2、我们选取“小a”登陆微信,开始添加联系人。
“联系人”表保存每个用户的联系人信息,这些联系人信息皆来自用户信息表。
“小a”的联系人如下表:
此表的创建过程如下:
3、普通用户发送消息时,消息内容将存储在“普通消息记录”表中,如现在“小a”向“小b”发送一条消息,然后“小b”再回复一条。
“小a”也向“小c”发送一条消息。
其中表中的外键约束和默认值如下:
在”普通消息记录表”中也可以查询两个用户之间的聊天记录,如查询“小a”和”小b“之间的聊天记录:
同样也可以在“普通消消息记录表”中实现删除消息记录。
在“普通消息记录”表中为了能使用户更快的查询自己的消息记录,这里创建了索引。
4、“微信群信息”表中记录了所有用户创建的微信群的信息。
由于在微信中群成员数量当前限制为40个,在本平台中我们设置为4个。
并且每一个成员信息由外键引用自“用户信息”表。
比如现在创建了两个个微信群如下:
外键约束和非空约束如下:
由于当用户创建了一个微信群后要在“用户所在群”表中显示出每个用户所在的群,因此需创建一个触发器。
在此创建的trigger为“用户信息新增”。
代码如下:
5、“用户所在群”表存储了每个用户所在的群信。
每个用户可根据此表查询所在群信息。
当一个微信群被创建后在“用户所在群”表中将自动显示用户所在群信息。
6、“群聊消息记录表”记录了每个群的消息。
也可以查询历史记录。
比如在群“羽毛球部落”中的消息记录。
为了使得用户在查询群历史消息时更加快速,创建索引。
7、“公众号信息”表记录了所有公众号的信息。
可以通过搜索公共号ID或名称来订阅公众号。
8、“关注”表中,存储了每个用户订阅的公众号。
9、“公众号消息记录”存储公众号为订阅者发送的消息。
10、其余各表分别存储每个用户在微信中的信息,通过外键引用来确定每个表中各个用户的信息,其具体结构如下:
以上即为微信数据库平台的简单的物理设计,在具体物理设计实现时根据具体需要对数据路平台的逻辑设计进行了部分修改,也更加具体化了数据库功能。
本数据库只是简单的对微信平台数据库的实现,其中还存在许多不足和缺陷需进一步完善。
最后,通过此次数据库的设计实现进一步熟悉了数据库相关的知识及数据库的设计和实现。