《学位论文—健康社交社区系统的设计论文与实现.doc》由会员分享,可在线阅读,更多相关《学位论文—健康社交社区系统的设计论文与实现.doc(65页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 贵州大学本科毕业论文(设计) 第 58 页本科毕业论文(设计)论文(设计)题目:健康社交社区系统的设计与实现学 院: 计算机科学与技术 专 业: 软件工程 班 级: 10级软件(1)班 学 号: 1008060035 学生姓名: 肖露艳 指导教师: 陈 梅 2014 年 6 月 1 日贵州大学本科毕业论文(设计)诚信责任书本人郑重声明:本人所呈交的毕业论文(设计),是在导师的指导下独立进行研究所完成。毕业论文(设计)中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。特此声明。论文(设计) 作者签名: 日 期: 目录摘要IIIAbstractIV第一章 绪论11.1 背景及研
2、究意义11.2 国内外研究现状21.3 论文的主要工作31.4 论文的组织结构4第二章 相关技术52.1 平台LAMP52.2 开源SNS系统Ucenter Home62.3 JavaScript库jQuery62.4 图表库HighCharts72.5 本章小结8第三章 健康社交社区系统的需求分析93.1 系统的功能性需求93.2 系统的非功能性需求113.3 本章小结11第四章 健康社交社区系统的设计与实现124.1 系统总体设计124.2 数据库设计204.2.1 数据库概念模型设计204.2.2 数据库最终数据表设计214.3 系统的开发平台与工具264.4 系统的文件结构规定264.
3、5 系统的页面跳转处理方式274.5.1 个人页面跳转处理274.5.2 操作页面跳转处理284.6 系统的模板语法294.7 交互式图表的绘制294.8 网站数据的采集和抽取304.9 本章小结31五章 健康社交社区系统的测试与运行325.1 系统的功能性测试325.2 系统的运行示例345.2.1 健康管理功能模块运行结果345.2.2 饮食管理功能模块运行结果375.2.3 医生管理功能模块运行结果435.3.4 药物管理功能模块运行结果465.3.5 提问管理功能模块运行结果505.3.6 活动管理功能模块运行结果515.3.7 个人主页管理功能模块运行结果535.4 本章小结56第六
4、章 总结与展望576.1 总结576.2 展望57参考文献58致谢59健康社交社区系统的设计与实现摘要随着慢性病群体的不断增大和慢性病患者的日益低龄化,慢病患者或亲属对于能够为自身保健治疗提供帮助的应用软件的需求持续增长。各种慢病健康管理和慢病病患交流网站大量涌现,其中某些网站已受到政府和业界的广泛关注。本文的研究目标是构建一个满足慢病患者(以高血压和糖尿病为入手点)自身健康数据管理和保健交流需求的健康领域垂直社交网络系统。全文首先介绍了当前健康社交网络领域的国内外研究和应用现状,并对所选的开发平台(LAMP)和技术(jQuery, HighCharts )进行了讲述,然后详细阐述了健康社交社
5、区系统的设计与实现过程,最后详细讲述了健康社交社区系统的功能测试和运行示例。关键词:慢性病 LAMP HighCharts 健康社交社区系统 The Design and Implementation of Social Community Health SystemAbstractWith the continuous increase and increasingly younger age of chronic patients, people with chronic illnesses or their relatives are increasingly needing a sof
6、tware at present to provide assistance for their own health care. A variety of sites for chronic disease health management and chronic patients exchange have emerged, some of them have been widely concerned by government and people.The goal of this paper is to build a health field vertical social ne
7、tworking system for chronic patients( hypertension and diabetes is the starting point) to manage their own health data and communicate with other chronic patients about health care. Firstly, this paper introduced the research and application situation of social community health system at home and ab
8、road. Secondly, it also gave an account of the selected development platform (LAMP, UCHome) and technologies(jQuery, HighCharts). And then it elaborated on the design and implementation of social community health system. Finally, it described the function testing and running sample of the social com
9、munity health system in detail.Keyword: Chronic LAMP HighCharts Social Community Health System 第一章 绪论1.1 背景及研究意义 中国慢性病防治工作规划(2012-2015年)指出:影响人们身体健康的慢性病主要有心脑血管疾病和糖尿病等等。近几年来,慢病的发病率迅速上升,且低龄化趋势明显,目前已有2.6亿例慢病确诊患者;慢病造成的死亡人数已占到我国总死亡人数的85%;慢病引起的疾病负担已占我国总疾病负担的70%;慢病患者平均每年仅有6小时在医院接受医生的诊断和医治,其余的时间均在院外进行保健与治疗。
10、此外,健康长寿是人们梦寐以求的心愿,于是呵护人们身心的保健和医疗手段成为世人密切关注的问题。 众所周知,急性病发作快、治愈周期短,该类患者更倾向于医生的诊治与决策。而慢性病病程长,慢病患者在医院就诊和治疗的时间很短,基本都是在医院诊断,结合在家自我保健和治疗。是以关于慢病的控制与治疗,自我日常保健与医院医生的诊治同等重要。另外,我国目前医疗系统医疗资源相对较少、过于集中,且医生的交流带有极强的目的性,导致医疗效率不高、服务质量低。慢病病患在接受医生专业治疗的同时,更信任同病患者间的信息交流,彼此的经验共享、安慰和勉励更能够坚定他们战胜疾病的决心。 综上所述,满足慢性病患者健康数据管理与保健交流
11、需求的社交网络系统的开发具有非常重大的价值与意义。能进行个人健康数据管理的社交化平台可以加强患者之间的沟通,建立相互信任,实现保健和治疗信息的交流与共享,从而提供更为准确的解决方法。它有利于个人健康状况的评估和良好生活习惯的养成;有助于病友间保健交流与信息共享,进而减少不必要的错误举措,少走弯路,提高人们的生活和保健质量;对用户健康体征数据、用药评价、医院医生就诊经验的统计与分析能为医学研究提供依据,加速临床医学的进程,促进社会可持续发展。1.2 国内外研究现状随着经济社会的不断发展,健康社交网络领域发展十分迅速。l 国外(1) PatientsLikeMe 面向病患、医护人员和医学研究员垂直
12、社交网络。该网站更是在2007年12月被美国财富杂志列为“十五家即将改变世界的公司”之一,目前用户人数约为250000人,为病人提供健康体征数据(包括体重、血压、血糖等体征数据)管理和自检手段,住院治疗信息管理和用药分享,以及通过邀请病人和医护人员加入自建群组实现病友间、医患间的交流与互助。产生的大量医疗数据主要是为供医学研究员进行第一线的医学分析,加速临床实验的进程。 但它主要针对医学院研究人员,所以专业性较强,操作比较复杂,更不符合我们的使用习惯。(2) HealthKeep 帮助联系和跟踪有类似病情、症状的病患的匿名医疗社交网站。它涵盖了美国所有拥有行医执照的医生资料,包括名字、地址、手
13、机号;囊括了FDA准许的药物搜索、各类疾病的症状和医治步骤的数据查找。大夫和病患能通过该平台分享医疗上的一些发现和相关著作等资源。 但它只是单纯地为患者提供了分享医疗经历和医生聊天的功能,并未做任何系统分析,浪费了很好的医疗数据。l 国内(1) 和你在一起 面向病患,以话题讨论为主要形式的医疗经验问答与分享的社交网站。它还包括一些简单地对疾病的介绍和医学科普。 但它仅限于问答形式,不能记录健康数据,不能评估自己的健康状况,更没有健康分析,有很大的局限性。(2) 病患如我 一个能分享医疗数据的病患社交互助软件。有些功能部分和“和你在一起”有点类似,患者通过加入对应的慢病社区与病友交流治疗经验和医
14、疗资源。不同之处在于,它可以为自己或家人记录就诊和康复信息,在每一个对应疾病的分区里,用户讨论的药品种类、医院类别等数据会被进行统计,并整理成为统计图。 但它的健康数据、医疗数据统计略显粗糙,病友交流与互助功能体现不明显,所谓的健康档案也是极其简单。(3) eBelter个人健康信息的管理。用户通过购买该公司所提供的医疗设备,如计步器、wifi体秤计、血压计、腕表等,在网站上选择设备类型、输入设备ID,就可以轻松管理自己的健康数据了,当然也可以手动添加健康信息记录,还可以查看基础分析报告。但它的核心服务是个人健康数据的管理,且如果不成为VIP用户,只能提供简单的服务,生成的健康报告也是极为简单
15、,缺乏准确性。(4) 宜康网它的核心服务也是个人健康数据的管理,和eBelter有点类似,但功能比其更丰富。例如:对血压、血糖等体征数据用丰富的图表(包括交互式折线图、饼图、报表等)呈现给用户。对饮食记录有热量的统计与分析,还根据用户所属慢病群组、体征数据及饮食记录进行了简单的食物推荐与判别食物是“宜吃”还是“禁吃”。并囊括了一些系统自定的健康任务供用户完成,以及制定一些测试问答供用户进行简单的健康测评。但从用户体验角度来说,有些功能界面并不友好,比如:血糖的各种折线图呈现,给人以凌乱、晃眼的感觉。从功能角度来说,因为它不是社交化网站,所以没有病友社交、互助功能。显然,这是不够的。1.3 论文
16、的主要工作本文将围绕健康社交社区系统的分析、设计与实现进行研究,并建立一个完整的软件工程开发流程,其中包括需求分析、系统设计、编码、测试流程。1.4 论文的组织结构本文的工作将从以下六章展开阐述:第一章:绪论。提出本文的研究背景与意义,并阐述目前国内外的相关研究现状以及构建健康社交社区系统工作的必要性。第二章:相关技术。调研和分析与健康社交社区系统开发相关的一些现有技术。第三章:健康社交社区系统的需求分析。剖析健康社交社区系统的功能性和非功能性需求。第四章:健康社交社区系统的设计与实现。依据数据库和软件工程的设计理念进行系统设计,并详细阐述了系统各关键功能的实现方法。第五章:健康社交社区系统的
17、测试与运行。包括本系统的功能性测试与运行示例。第六章:总结与展望。对本文的工作进行总结,并提出对下一步工作的构想。第二章 相关技术本章将对健康社交社区系统的相关技术进行调研、分析与综述。2.1 平台LAMPLAMP网站架构是现下最为流行的Web框架,它包含四个组成产品:操作系统Linux,服务器Apache,数据库MySQL,编程语言Perl/ PHP/ Python,这些都是开源的软件。开源的LAMP在软件方面的投资成本较低,和J2EE架构相比,它拥有Web资源更丰富、更轻量,开发更迅速等优势;和.NET架构相比,它具备更通用、跨平台、性能高、价格低等特点。所以,LAMP不管是价钱、质量还是
18、性能方面均为企业搭建网站的首选平台。(1) Linux操作系统有许多个不同的发行版本,例如Ubuntu、CentOS、Red Hat Enterprise Linux和Debian等。CentOS是一个免费的高稳定性的服务器, 所以从稳定性与性能方面来说,操作系统采用CentOS是个很不错的选择。(2) Apache是LAMP架构中最核心的网络服务器,它的优势在于开源、稳定、模块丰富。Apache提供了自己的缓存模块,也可以使用外加的Squid模块进行缓存,这两种方式都能够有效提高Apache的访问响应能力。因此Apache做为Web Server是负载PHP的最佳方案。(3) MySQL是一
19、个开源的数据库 ,它在数据存储上能够达到百万级别,在性能、稳定性与功能上更有着极大的优势。(4) PHP是一种通用开源脚本语言1, 2, 19, 20。它的优势在于,应用程序执行的效率更高;能够支持几近全部当前流行的数据库和操作系统20;开放源代码19和使用免费;PHP应用程序开发更迅速,运行更快速,技术本身学习更快;跨平台性更强大。综上所述,LAMP架构具备成本更低廉、部署更灵活、开发更迅速、性能更稳定等优势。所以,本系统开发采用CentOs操作系统、Apache服务器、MySql数据库和PHP5架构。2.2 开源SNS系统Ucenter Home UCenter Home又称UCHome,
20、它是一套采用PHP+MYSQL构建的开源社会化网络软件。它有着非常强大与丰富的功能。(1) UCHome前台主要功能记录功能:用户可以发表记录,还可以查看、评论别人的记录。日志功能:用户可以发表日志,发表时可以对日志进行权限设置。还可以查看、评论别人的日志(前提是别人允许你查看TA的日志)。群组功能:用户可以建立群组,在群组之内讨论相关的话题。活动功能:用户发起活动,参加或邀请好友参加正在进行的活动。相册功能:用户可以通过平台进行相册的建立和发布相片操作,对相册进行权限设置。.(2) UCHome后台主要功能个人设置功能: 普通用户可以设置自己的个人资料和前台各功能模块的查看权限,可以更改头像
21、和进行个性化设置(主要是个人主页的页面风格和时区设置)。批量管理功能:普通用户可对前台各功能模块自己的记录进行编辑或批量删除;站长可对前台各功能模块所有用户的记录进行编辑和批量删除。平台设置功能:站长(即管理员)能够登录该管理平台,设置该站点的某些参数。2.3 JavaScript库jQueryjQuery是当下最为流行的JavaScript库13,它可以直接在浏览器上执行,不占用服务器资源。它的优点是原始JS和其它JS库所望尘莫及的。例如:(1) 强大的选择器。它能够让开发者轻松地使用CSS几近全部的选择器和它本身独创的高级且复杂的选择器。(2) 出色的DOM操作封装。它封装了众多常用的DO
22、M操作,是以开发人员可以轻松地编写出与DOM操作相关的程序以完成种种原本很复杂的操作。(3) 完美的Ajax。它将全部的Ajax操作封装到函数$.ajax里,当开发人员操纵Ajax时,可以不用操心浏览器的兼容性和XMLHttpRequest对象的创建和使用问题,能够心无旁骛地处理业务逻辑。 (4) 行为层与结构层的分离。开发者无需去html调用事件,而是直接利用jQuery选择器选中想要操纵的元素,而后直接给元素增添事件。 2.4 图表库HighChartsHighcharts是一个用纯JS编写的图表库16,它可以让开发者十分便利迅速地在web应用程序中绘制交互式图表,而且用HighChart
23、s制作的图表不仅仅界面非常美观优雅,且因为是用JS编写,是以不必像Flash那般需要相应的插件才能够运行,运行速度也十分快。总体而言,Highcharts拥有无可比拟的优势,例如:(1) 兼容性强。它是基于jQuery等成熟库的二次封装,包含了jQuery库的所有优点,完美支持当前全部浏览器。(2) 开源免费。它对个人用户和非商业用途完全免费,为开发者免费提供源代码并且允许其能够任意地修改源代码。(3) 丰富的图表类型。它支持多种常见的图表类型,包括饼图、曲线图、柱状图、区域图、散状图及综合图表16等,能够满足开发者的种种需要。(4) 可交互的图表。相对于传统的静态图片形式的图表,更加实用、方
24、便。例如,提示功能:即将鼠标移动到图表的某个数据点上,能够显示该数据点的详细数据,还能够对显示的效果进行个性化设置;放大的功能:HighCharts能够将许多的数据集中显示,且能够放大某一部分图形,继而使该图表的精度变大。在Highcharts官方文件中,有众多的例子均是基于jQuery实现,因此本系统基于jQuery使用highcharts插件。2.5 本章小结本章从技术开发方面对健康社交社区系统需使用到的相关技术进行综述,包括LAMP网站架构框架、UCHome开源SNS软件的简介,jQuery的特点与优势,以及HighCharts图表库的特性等,为后续系统的开发奠定基础。第三章 健康社交社
25、区系统的需求分析本章将通过功能性和非功能性需求两方面阐述健康社交社区系统的需求。3.1 系统的功能性需求健康社交社区系统是一个面向健康领域的垂直社交网络系统,而不单单只是一个社交化系统。因此,为了要满足慢性病(高血压、糖尿病等)患者的保健交流需求,该系统要能为患者提供个人健康体征数据管理、饮食管理、慢病药物管理、健康活动管理、健康提问管理和慢病医生管理等,还要能权限式分享个人健康数据(例如,血压和血糖等)、药物关注、医生关注信息等,并能方便地进行病友社交与互助。因此,健康社交社区系统需具备以下几个功能:(1) 健康管理功能包括血压和血糖管理。血压管理包括“我的血压记录”、“血压统计与分析”、“
26、新增血压记录”。用户可以添加、删除、修改、查看自己的血压记录;可以按最近一天、最近一周、最近一月查看血压统计图。血糖管理类似,包括“我的血糖记录”、“平均血糖统计与分析”、“餐前血糖统计与分析”、“餐后血糖统计与分析”、“新增血糖记录”。用户可以添加、删除、修改、查看自己的血糖记录;可以按最近一天、最近一周、最近一月查看平均血糖统计图、餐前血糖统计图、餐后血糖统计图。其中,餐前和餐后血糖统计图还可以选择查看该时间段内的全部餐前(或餐后)、早餐前(或早餐后)、午餐前(或午餐后)、晚餐前(或晚餐后)的血糖统计图。(2) 药物管理功能包括“我关注的药物”、“好友关注的药物”、“大家关注的药物”、“全
27、部慢病药物”、“药物关注排行榜”。依据药物的说明书和该药物的药效评价分享,对慢病患者提供用药帮助。用户可以按慢性病类别查看慢病药物信息并评论药物;可以添加、关注或取消关注药物,查看自己关注的药物、好友关注的药物、大家关注的药物;在“药物关注排行榜”模块,用户可以按慢性病类别查看药物关注度top10。(3) 饮食管理功能包括“我的饮食记录”、“饮食统计与分析”、“饮食排行榜”。用户可以在“我的饮食记录”首页(应该用一张大日历展示)单击某一天进入该天的饮食记录显示页面,并且饮食记录按早餐、上午加餐、午餐、下午加餐、晚餐和夜宵六个餐段区别显示。单击每个餐段的“+”号,可以添加饮食记录。添加饮食记录时
28、,用户可以按食物库类别、食物类别类查询食物物,也可以收藏、添加食物到我的食物库,也可以修改、删除我的饮食记录;在“饮食统计与分析”功能模块,用户可以按一周、一个月、三个月、任意起止时间查看该期间内我的饮食记录次数,本模块的统计与分析也是按早餐、上午加餐、午餐、下午加餐、晚餐和夜宵六个餐段显示,单击每个餐段后的统计次数可以查看详细的饮食记录;在“饮食排行榜”模块,用户可以按食物类别查看饮食记录总次数top10。(4) 医生管理功能包括“我关注的医生”、“好友关注的医生”、“大家关注的医生”、“全部的慢病医生”、“医生关注排行榜”、“新增慢病医生”。用户可以按省份、城市、医院等级查看医院和医生信息
29、,分享与评论看病经验;添加、关注医生;查看自己关注的医生、好友关注的医生、大家关注的医生;在“医生关注排行榜”模块,用户可以按慢性病类别查看医生关注度top10。(5) 活动管理功能 包括“全部活动”、“同城活动”、“好友的活动”、“我的活动”、“发起新活动”。用户可以发起、修改、取消、关闭自己的活动;可以参加或取消参加、邀请好友参加活动;可以按我的、好友的、同城的、全部的活动等条件查看已有的活动。(6) 提问管理功能 包括“大家的提问”、“好友的提问”、“我的提问”、“我表态过的提问”、“发表新提问”。用户可以添加、修改、删除自己的提问;可以回应他人的提问;可以按我的、好友的、大家的提问等条
30、件查看已有的提问。(7) 个人主页管理功能用户可以查看自己的个人主页,在他人允许访问主页的情况下也可以访问他人的主页。个人主页上显示“活动”、“提问”、“健康”、“药物”、“医生”等功能模块,用户可以对个人主页上显示的模块进行隐私权限设置,可以设置成“全站用户可见”或“仅好友可见”或“仅自己可见”。3.2 系统的非功能性需求(1) 可用性需求健康社交社区系统的功能必须完整,能彻底满足业务需要,还必须具备较强的容错能力。(2) 易用性需求该系统要求界面设计简洁美观、风格统一,主题突出,内容丰富,文字准确,并且系统操作简单、易于上手,界面存在相应的操作提示。(3) 扩展性需求健康社交社区系统在数据
31、库和源代码的设计上要考虑到发展和移植的需要,建立良好的扩展性和伸缩性,为以后更多慢病种类的加入和其他扩展模块做好准备,充分体现开放性。3.3 本章小结本章首先对健康社交社区系统进行功能性需求分析,然后定义了本系统的可用性、扩展性、易用性等非功能性需求。我们将在第四章对获取来的需求进行建模,并对系统进行设计与实现。第四章 健康社交社区系统的设计与实现本章首先将对健康社交社区系统进行相应的技术设计,包括本系统的总体设计、数据库设计和系统的文件结构规定,并确定系统的开发平台与工具。最后将对系统页面跳转处理方式、系统模板语法、交互式图表绘制、对他人网站数据采集、分析和抽取等的具体实现进行详细阐述。4.
32、1 系统总体设计本系统的功能模块主要包括活动管理、提问管理、健康管理、药物管理、饮食管理、医生管理、个人主页管理等功能模块,本系统结构图17, 18如图4.1所示。 图4. 1健康社交社区系统结构图依据上一章节的需求画出各功能模块的流程图17, 18,由于篇幅限制,现仅以部分功能模块为例。(1) 健康管理模块流程图健康管理模块下面又分为血压管理和血糖管理两个子模块,因篇幅限制,现仅以血糖管理模块为例画出其流程图。添加血糖记录流程图如图4.2所示。图4. 2 添加血糖记录流程图编辑血糖记录流程图如图4.3所示。图4. 3编辑血糖记录流程图删除血糖记录流程图如图4.4所示。图4. 4 删除血糖记录
33、流程图查看最近一周餐前血糖统计与分析流程图如图4.5所示,查看最近一天或最近一月餐前血糖统计与分析流程图。图4. 5 查看最近一周餐前血糖统计与分析流程图平均血糖统计与分析、餐后血糖统计与分析流程和餐前血糖统计与分析流程类似。(2) 饮食管理模块流程图添加、修改、删除饮食记录如图4.6所示:图4. 6 添加、修改、删除饮食记录流程图添加食物到用户自己的食物库如图4.7所示,从自己的食物库移除食物流程类似。图4. 7 添加食物到自己的食物库流程图查看饮食统计与分析流程图如图4.8所示。图4. 8 饮食统计与分析流程图查看饮食排行榜统计图流程图如图4.9所示。图4. 9 查看饮食排行榜流程图(3)
34、 医生管理模块流程图添加医生信息流程图如图4.10所示。图4. 10 添加医生信息流程图查看、关注、评论医生流程图如图4.11所示。图4. 11 查看、关注、评论医生流程图查看、取消关注用户自己关注的医生流程图如图4.12所示。查看好友关注的医生信息和大家关注的医生信息流程图类似。图4. 12 查看、取消关注用户自己关注的医生流程图查看医生关注排行榜统计图流程图如图4.13所示。图4. 13 查看医生关注排行榜流程图(4) 药物管理模块流程图添加药物信息流程图如图4.14所示。图4. 14 添加药物流程图查看、关注、评论药物流程图如图4.15所示。图4. 15 查看、关注、评论药物流程图查看、
35、取消关注用户自己关注的药物流程图如图4.16所示。查看好友关注的药物信息和大家关注的药物信息流程图类似。图4. 16 查看、取消关注用户自己关注的药物流程图查看药物关注排行榜统计图流程图如图4.17所示。图4. 17 查看药物关注排行榜流程图(5) 个人主页管理模块流程图查看用户自己或其他用户的个人主页如图4.18所示。图4. 18 查看个人主页流程图个人主页隐私设置流程图如图4.19所示。图4. 19 个人主页隐私设置流程图4.2 数据库设计4.2.1 数据库概念模型设计根据第三章的陈述可以得知,需要对系统相关用户、活动信息、提问内容、血压记录、血糖记录、食物信息、药物信息、医院和医生信息等
36、进行跟踪,由此可以抽象出用户、活动、提问、血压、血糖、食物、药物、医院和医生等实体14。本系统的概念模型14设计如图4.20所示。图4. 20 健康社交社区系统的概念模型说明:针对健康管理功能模块,用户可以记录血压和血糖等健康体征数据,可以按相关条件查看其趋势图。所以创建用户、血压和血糖实体,并在用户与血压、用户与血糖之间建立一对多的联系。针对饮食管理功能模块,用户可以进行饮食记录的管理。为了方便用户添加饮食记录,系统将提供食物库供用户选择,用户还能收藏食物到自己的食物库以及添加系统没提供的食物。所以创建食物类别、食物库、我的食物库,并在食物类别与食物库、食物类别与我的食物库之间建立一对多的联
37、系,用户与食物库、用户与我的食物库之间建立多对多的联系。针对医生管理功能模块,用户可以进行查看、添加、关注和评论医生等操作。所以创建医院和医生实体,并在医院与医生之间建立一对多的联系,用户与医生之间建立多对多的联系。针对药物管理功能模块,用户可以进行查看、添加、关注和评价药物等操作。所以创建药物实体,并在用户与药物之间建立多对多的联系。其他功能模块数据表的概念模型设计思想类似。4.2.2 数据库最终数据表设计表4. 1 用户表(uc_members)字段名数据类型主键否自增否说明uidmediumint(8)是是用户IDusernamevarchar(15)否否用户名passwordvarch
38、ar(32)否否用户密码emailvarchar(32)否否注册邮箱regipint(10)否否注册IPregdateint(10)否否注册时间表4. 2 血压表(pressure)字段名数据类型主键否自增否说明pressureidmediumint(8)是是血压IDuidmediumint(8)否否用户IDusernamevarchar(15)否否用户名highpsmallint(6)否否高压lowpsmallint(6)否否低压pulsesmallint(6)否否脉搏statusvarchar(20)否否血压状况datelineint(10)否否时间表4. 3 血糖表(sugar)字段名数
39、据类型主键否自增否说明sugaridmediumint(8)是是血糖IDuidmediumint(8)否否用户IDusernamevarchar(15)否否用户名xuetangfloat(2,1)否否血糖timetypesmallint(1)否否采血时间段bloodtypesmallint(1)否否采血部位statussmallint(1)否否血糖状况datelineint(10)否否时间表4. 4 食物类别表(fcategory)字段名数据类型主键否自增否说明fcategoryidmediumint(8)是是食物类别IDfcategorynamevarchar(20)否否食物类别名表4. 5
40、 食物库表(food)字段名数据类型主键否自增否说明fidmediumint(8)是是食物库食物IDfcategoryidmediumint(8)否否食物类别IDfnamevarchar(15)否否食物名字fimageurlfloat(2,1)否否食物图片URLfunitsmallint(1)否否食物单位表4. 6 我的食物库表(myfood)字段名数据类型主键否自增否说明myfidmediumint(8)是是我的食物库食物IDfcategoryidmediumint(8)否否食物类别IDfnamevarchar(15)否否食物名字fimageurlfloat(2,1)否否食物图片URLfun
41、itsmallint(1)否否食物单位uidmediumint(8)否否用户IDusernamevarchar(15)否否用户名表4. 7 饮食记录表(diet)字段名数据类型主键否自增否说明dietidmediumint(8)是是饮食记录IDfcategoryidmediumint(8)否否食物类别IDftypesmallint(1)否否食物库类型(1代表食物库,2代表我的食物库)fidmediumint(8)否否食物IDuidmediumint(8)否否用户IDusernamevarchar(15)否否用户名datelineint(10)否否具体时间eattimesmallint(1)否否
42、餐段(1代表早餐,2代表上午加餐,3代表午餐,4代表下午加餐,5代表晚餐,6代表夜宵)fnamevarchar(15)否否食物名称fnumvarchar(5)否否食物数量(如”苹果-1个”)表4. 8 医院表(hospital)字段名数据类型主键否自增否说明hospitalidmediumint(8)是是医院IDhospitalnamevarchar(20)否否医院名称hospitalprovincevarchar(50)否否医院所在省份hospitalcityvarchar(50)否否医院所在城市hospitalgradevarchar(20)否否医院等级datelineint(10)否否时
43、间表4. 9 医生表(doctor)字段名数据类型主键否自增否说明doctoridmediumint(8)是是医生IDhospitalidmediumint(8)否否医院IDdepartmentvarchar(50)否否科室doctornamevarchar(15)否否医生姓名doctortypesmallint(1)否否医生类型(1代表高血压医生,2代表糖尿病医生)doctorgradevarchar(20)否否医生职称uidmediumint(8)否否用户IDaddtypesmallint(1)否否添加类型(1代表系统添加,2代表用户添加)goodatvarchar(200)否否医生擅长d
44、octorurlvarchar(100)否否医生在好大夫网站的个人简介URldatelineint(10)否否时间表4. 10 医生关注表(followdoctor)字段名数据类型主键否自增否说明followdoctoridmediumint(8)是是医生关注IDdoctoridmediumint(8)否否医生IDdoctortypesmallint(1)否否医生类型(1代表高血压医生,2代表糖尿病医生)uidmediumint(8)否否用户IDusernamevarchar(15)否否用户名datelineint(10)否否时间表4. 11 看病经验表(treatment)字段名数据类型主键否自增否说明treatmentidmediumint(8)是是看病经验IDdoctoridmediumint(8)否否医生IDdoctortypesmallint(1)否否医生类型(1代表高血压医生,2代表糖尿病医生)diseasevarchar(20)否