1、重庆邮电大学移通学院毕业设计(论文)I重庆邮电大学移通学院毕业设计(论文)任务书设计(论文)题目 基于 Ajax 的微博系统 学生姓名 李晓伟 系别计算机专业 计算机科学与技术 班级 02110702指导教师 刘亮 职称 讲师 联系电话 13752811356 指导教师所在单位 重庆邮电大学移通学院 主要研究内容、方法和要求研究内容:1、熟悉 AJAX,PHP 技术以及 Mysql 数据库。2、学习使用 jquery 轻量级 AJAX 框架。3、MVC 模式实现简单的微薄系统功能。研究方法:1、查阅相关书籍和资料了解 PHP 的使用和关键技术。 2、查阅相关资料,了解 AJAX 技术,以及 j
2、query 框架。3、研究微薄系统中主要的技术,通过若干模块的设计来实微薄系统。研究要求:1、通过微薄系统的实现,供具有时效性的服务使微薄文章的提交、查阅更方便。2、设计出的网上微薄系统,界面应友好,操作应简单。3、通过对系统的设计,深入了解 AJAX 技术。进度计划第 4 周,熟练开发语言、规划功能。第 5-8 周,掌握 MySql 数据库管理系统,设计本系统数据库结构。第 9-11 周,编写调试代码。第 12-15 周,测试,修改模块,完成修改、提交论文主要参考文献百度百科,微博。http:/ 从入门到精通M.北京:清华大学出版社 W3Cschool 学习手册,http:/ cookboo
3、kM. OREILLY飞思科技产品开发中心,php 应用开发详解(第二版) M.北京:电子工业出版社指导教师签字: 年 月 日系主任签字: 年 月 日重庆邮电大学移通学院毕业设计(论文) 摘要II【摘要】随着互联网技术的高速发展,生活节奏的加快,微博客被越来越多的人选择作为学习和交流的工具。微博的内容简单,但色彩丰富。微博是一个基于用户关系的信息分享、传播以及获取平台,用户可以通过 WEB、WAP 以及各种客户端组件个人社区,以 140 字左右的文字更新信息,并实现即时分享。最早也是最著名的微博是美国的twitter,根据相关公开数据,截至 2010 年 1 月份,该产品在全球已经拥有 750
4、0 万注册用户。2009 年 8 月份中国最大的门户网站新浪网推出“新浪微博”内测版,成为门户网站中第一家提供微博服务的网站,微博正式进入中文上网主流人群视野。AJAX 并不是什么新技术,而是将各种已经存在的技术,采用一种崭新的开发模式柔和在一起,使得古老的 B/S 方式的 web 开发焕发新的活力,迎来了第二个春天。本系统是一个实用个人微博客网站,用户可以通过微博发表一个即使短信息,让自己的朋友对自己当前的心情或其他各方面有所了解,此短信息就像是 QQ 空间中发表的心情。用户还可以通过此微薄搜索好友,添加好友关注。数据库采用 MySQL 数据库,能够胜任微博留言中的数据处理。本文在相关理论指
5、导下,在分析其他一些系统的基础上,开发出了一个简单的微博系统(包括功能模块设计、数据库结构设计等)基本解决了教务人员手工编排任务的的烦琐。项目采用:php + jquery+mysql 实现。【关键词】 微博客系统,AJAX 技术,PHP 技术,数据库重庆邮电大学移通学院毕业设计(论文) AbstractIII【Abstract】 With the rapid development of Internet technology, the accelerated pace of life, micro-blog has been more and more people choose as a
6、 learning and communication tools. Microblogging content simple, but colorful. Micro-Bo is a relationship based on user information-sharing, dissemination and access platform, users can WEB, WAP and client components of various dual communities to about 140 words of text updates, and instant sharing
7、. The arliest and most famous is the United States microblogging twitter, according to the relevant ublic data, as of January 2010, the product in the world already has 75 million registered users. August 2009 Chinas largest Web portal S launched the “Sina microblogging“ private beta, becoming the f
8、irst portal website to provide micro-blogging service, logging ficially ered the mainstream of the Chinese Internet population perspective. AJAX is not a new echnology, but the variety of existing technology, using a new pattern of opment with the soft, making the old B/S mode revitalize web develop
9、ment, ushered in the second spring.The system is a practical personal micro blog site, users can publish a blog even shorter micro-information to make their friends of their current mood or an understanding of other aspects,like the short message published in the mood QQ space .Users can also search
10、 for friends by this modest, add friends attention. Database using MySQL database, capable cro-blog a shout in the data processing. In this paper, the theory under the guidance of some other systems, based on the development of a simple micro-pacing system (including the function module design, data
11、base design, etc.) to basically solve the academic staff of the tedious task of manually scheduling. Project uses: php + jquery + mysql implementation.【Key Words】PHP ;AJAX technology; Microblog;database重庆邮电大学移通学院毕业设计(论文) 目录IV目 录前言 1第 1 章 绪 论 21.1 课题背景 21.1.1 微博流行优势 21.1.2 微博的 3 大特性 21.2 本课题的研究意义 21.
12、3 相关技术介绍 31.3.1 PHP 及 PHP5 技术的介绍 31.3.2 AJAX 技术介绍 41.3.3 Jquery 轻量级 Ajax 框架介绍 51.4 PHP 数据访问 61.4.1 PHP 访问数据优势 .61.4.2 MySql 数据库简介 61.4.3 使用 php 访问 mysql 数据库 .6第 2 章 系统分析 82.1 系统可行性分析 .82.2 用户需求分析 .82.3 系统设计目标分析 .92.4 微博系统功能模块介绍 .112.4.2 微博注册登录模块介绍 .122.4.3 微博及好友检索查询模块介绍 .122.4.4 微博页面显示模块介绍 .132.4.5
13、微博个人管理维护模块介绍 .13第 3 章 数据库设计 143.1 数据库的需求分析 .143.2 数据连接 .143.3 数据库表结构设计 .143.4 E-R 模型 16第 4 章 系统详细设计与实现 .184.1 系统工作原理介绍 .184.2 各个模块的详细设计 .184.2.1 系统使用的公用页面(header.htm 和 foot.htm) .184.2.2 注册登陆管理模块设计 .194.2.3 微博及好友查询模块设计 .234.2.4 微博个人页面模块设计 .254.2.5 个人管理维护模块设计 .30第 5 章 存在的问题和前景展望 34重庆邮电大学移通学院毕业设计(论文)
14、目录V5.1 系统存在问题 .345.2 微博前景展望 34结束语 36致 谢 37参考文献 38论文附件 39一、英文原文 39二、英文翻译 49重庆邮电大学移通学院毕业设计(论文) 前言1前言微博,即微微博(Microblog)的简称,是一种非正式的迷你型微博。现阶段比较成熟和流行的微博开发技术都是基于 PHP 以及 MySql 数据库的。基于用户关系的信息分享,传播以及获取平台,用户可以通过 WEB,WAP 以及各种客户端组件个人社区,以140 字左右的文字更新信息,并实现即时分享。它是一种互动及传播性及快的工具,传播速度甚至比媒体还快 。1本系统同样采用 PHP 以及 MySql 数据
15、库开发。并使用 AJAX 技术完成部分前台数据交互功能,体现 AJAX 技术的强大优越性。之所以采用 AJAX 技术,是因为 AJAX 技术能给用户带来桌面程序一样的快感。AJAX 技术在本系统中的应用主要体现在 Jquery 这个轻量级的 AJAX 框架上。利用本系统,用户可以轻松的完成微博的发表和查看,并提供搜索好友和评论等实用功能。本系统符合了微博系统良好的交互界面,迅捷的刷新速度等优势。重庆邮电大学移通学院毕业设计(论文) 第 1 章 绪论2第 1 章 绪 论1.1 课题背景微博客已经早已在全球流行,就其背景总结如下:1.1.1 微博流行优势目前面对网上各路微博,如新浪微博,腾讯微博等
16、等,我们发现微博已经变得很流行了。我们分析了其流行的原因,可总结归纳为:相对于强调版面布置的博客来说,微博的内容组成只是由简单的只言片语组成,从这个角度来说,对用户的技术要求门槛很低,而且在语言的编排组织上,没有博客那么高1.1.2 微博的 3 大特性微博客草根性更强,且广泛分布在桌面、浏览器、移动终端等多个平台上,有多种商业模式并存,或形成多个垂直细分领域的可能,但无论哪种商业模式,应该都离不开用户体验的特性:便捷性:平民和莎士比亚一样背对脸:创新交互方式原创性:演绎实时现场的魅力类似于一些大的突发事件或引起全球关注的大事,如果有微博客在场,利用各种手段在微博客上发表出来,其实时性、现场感以
17、及快捷性,甚至超过所有媒体。1.2 本课题的研究意义就微博而言,我觉得其研究意义有:微博客符合这个时代的仓促性跟对了时代的节拍。重庆邮电大学移通学院毕业设计(论文) 第 1 章 绪论3微博客更注重于分享,而非闭塞的个性化互动中产生分享。莫让个性与分享碰撞效果绝不是和数效应。总的来说,微博推动了人际之间的沟通,作为这个时代的优秀网络产品,所以本课题是很值得研究的。1.3 相关技术介绍本节介绍系统所使用的相关技术:1.3.1 PHP 及 PHP5 技术的介绍PHP,是英文超级文本预处理语言 Hypertext Preprocessor 的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器
18、端执行的嵌入 HTML 文档的脚本语言,语言的风格有类似于 C 语言,被广泛的运用。PHP 的另一个含义是:菲律宾比索的标准符号。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI或者 Perl 更快速的执行动态网页。用 PHP 做出的动态页面与其他的编程语言相比,PHP 是将程序嵌入到 HTML 文档中去执行,执行效率比完全生成 HTML 标记的 CGI 要高许多;PHP 还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。PHP 具有非常强大的功能,所有的 CGI 的功能 PHP 都能实现,而且支持几乎所有流行的数据库以及操作系
19、统。PHP5 在长时间的开发及多个预发布版本后,2004 年 7 月 13 日,PHP5.0 发布。该版本以 Zend 引擎为引擎,并且加入了新功能如 PHP Data Objects(PDO) 。现在PHP5.0 版本强化更多的功能。首先,完全实现面向对象,提供名为 PHP 兼容模式的功能。其次是 XML 功能,PHP5.0 版本支持可直观地访问 XML 数据、名为 SimpleXML 的XML 处理用界面。同时还强化了 XMLWeb 服务支持,而且标准支持 SOAP 扩展模块。数据库方面,PHP 新版本提供旨在访问 MySOL 的新界面MySQL。除此前的界面外,还可以使用面向对象界面和预
20、处理语句(Prepared Statement)等 MySQL 的新功能另外,PHP5.0 上还捆绑有小容量 RDBMS-SQLite 。2新的对象模式 (New Object Mode)PHP5 中的对象已经进行了较系统、较全面的调整,现在的样子可能看起来会有些重庆邮电大学移通学院毕业设计(论文) 第 1 章 绪论4类似于 Java。本小节着重讲述 PHP5 中新的对象模式,并举了一些较简易的例子来说明。就让本节成为你的 PHP5 之旅的一个新起点吧 。3* 构造函数和析构函数* 对象的引用* 对象的克隆* 对象中的私有、公共及受保护模式* 接口 (Interfaces)* 抽象类* _ca
21、ll* _set 和 _get* 静态成员 1.3.2 AJAX 技术介绍AJAX 即“Asynchronous JavaScript and XML”(异步 JavaScript 和 XML),AJAX 并非缩写词,而是由 Jesse James Gaiiett 创造的名词,是指一种创建交互式网页应用的网页开发技术AJAX 指异步 JavaScript 及 XML(Asynchronous JavaScript And XML) 。国内翻译常为“阿贾克斯”和阿贾克斯足球队读音。Web 应用的交互如 Flickr,Backpack 和Google 在这方面已经有质的飞跃。这个术语源自描述从基于
22、 Web 的应用到基于数据的应用的转换。在基于数据的应用中,用户需求的数据如联系人列表,可以从独立于实际网页的服务端取得并且可以被动态地写入网页中,给缓慢的 Web 应用体验着色使之像桌面应用一样。AJAX 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。通过 AJAX,您的 JavaScript 可使用 JavaScript 的 XMLHttpRequest 对象来直接与服务器进行通信。通过这个对象,您的 JavaScript 可在不重载页面的情况与 Web 服务器交换数据。重庆邮电大学移通学院毕业设计(论文) 第 1 章 绪论5AJAX 在浏览器与
23、Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。AJAX 可使因特网应用程序更小、更快,更友好。AJAX 是一种独立于 Web 服务器软件的浏览器技术。 AJAX 基于下列 Web 标准:JavaScript XML HTML CSS 在 AJAX 中使用的 Web 标准已被良好定义,并被所有的主流浏览器支持。AJAX 应用程序独立于浏览器和平台。Web 应用程序较桌面应用程序有诸多优势;它们能够涉及广大的用户,它们更易安装及维护,也更易开发。不过,因特网应用程序并不像传统的桌面应用程序那样完善且友好。通过 AJAX,因特网应用程序可
24、以变得更完善,更友好 。41.3.3 Jquery 轻量级 Ajax 框架介绍jQuery 由美国人 John Resig 创建,至今已吸引了来自世界各地的众多javascript 高手加入其 team,包括来自德国的 Jrn Zaefferer,罗马尼亚的Stefan Petre 等等。jQuery 是继 prototype 之后又一个优秀的 Javascrpt 框架。其宗旨是WRITE LESS,DO MORE,写更少的代码,做更多的事情。Jquery 是继 prototype 之后又一个优秀的 Javascrpt 框架。它是轻量级的 js 库(压缩后只有 21k) ,它兼容 CSS3,还
25、兼容各种浏览器 (IE 6.0+FF 1.5+ Safari 2.0+Opera 9.0+) 。jQuery 使用户能更方便地处理 HTML documents、events、实现动画效果,并且方便地为网站提供 AJAX 交互。jQuery 还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery 能够使用户的 html 页保持代码和 html 内容分离,也就是说,不用再在 html里面插入一堆 js 来调用命令了,只需定义 id 即可。只要使用$,就完成对 jQuery 的调用,你可以轻易地找到 DOM 中的任何元素,而这也是 jQue
26、ry 设计之初 query 的真实含义(查询) 。 5重庆邮电大学移通学院毕业设计(论文) 第 1 章 绪论61.4 PHP 数据访问1.4.1 PHP 访问数据优势PHP 在数据库方面的丰富支持,也是它迅速走红的原因之一,它支持众多的数据库或是数据文件。而在 Internet 上它也支持了相当多的通讯协议 (protocol),包括了与电子邮件相关的 IMAP,POP3;网管系统 SNMP;网络新闻 NNTP;帐号共用 NIS;全球信息网 HTTP 及 Apache 服务器;目录协议 LDAP 以及其它网络的相关函数。 6除此之外,用 PHP 写出来的 Web 后端 CGI 程序,可以很轻易
27、的移植到不同的操作系统上。例如,先以 Linux 架的网站,在系统负荷过高时,可以快速地将整个系统移到 SUN 工作站上,不用重新编译 CGI 程序。面对快速发展的 Internet,这是长期规划的最好选择。 71.4.2 MySql 数据库简介 MySQL 是一个小型关系型数据库管理系统,开发者为瑞典 MySQL AB 公司。在 2008年 1 月 16 号被 Sun 公司收购。而 2009 年,SUN 又被 Oracle 收购.对于 Mysql 的前途,没有任何人抱乐观的态度.目前 MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是
28、开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。MySQL 是一个小型关系型数据库管理系统,开发者为瑞典 MySQL AB 公司。在 2008 年 1 月 16 号被 Sun 公司收购。而 2009 年,SUN 又被 Oracle 收购.对于 Mysql 的前途,没有任何人抱乐观的态度.目前 MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。1.4.3 使用 php 访问 mysql 数据库MySQ
29、L 是一个快速、健壮和易用,且支持多线程、多用户的 SQL 数据库服务器。虽然 PHP 通过 ODBC 支持几乎所有的数据库。但对于开发数据驱动的网站而言,选择重庆邮电大学移通学院毕业设计(论文) 第 1 章 绪论7MySQL 应该说是最佳组合,这不仅因为 MySQL 是免费的,更在于它具有许多同大型数据库相媲美甚至超过它们的优良性能。PHP 实现对 MySQL 数据库的访问有两种方法:1)利用 PHP 的数据库函数连接这里主要用到四个数据库函数:mysql_connect ()建立与 MySQL 服务器的连接。mysql_select_db ():选择 MySQL 服务器中的数据库供以后的数
30、据查询操作 query 处理。mysql_query ():送出 query 字符串以帮助 MySQL 做相关的处理或执行。mysql_fetch_row ():用来将查询结果 result 单行移到数组变量中。数组的索引是数字索引,第一个索引值是 0。2)通过 ODBC 连接PHP 通过 ODBC 连接 MySQL 数据库主要用到四个函数:Odbc_connect ():用来同 ODBC 数据源建立连接。Odbc_do ():用来在建立连接之后执行数据库查询。Odbc_result():用于取得当前记录行中某个字段的值。Odbc_fetch_row ():用来把查询结果保存到数组,每个数组元
31、素对应一条记录。上述两种方法在与数据库建立连接的语法上,并没有太大差别。不过在相比较之下,通过 ODBC 方式存取数据库比 PHP 直接存取 MySQL 耗时间,但通过 ODBC 接口存取数据库不必担心使用何种数据库,如 Oracle,Informix,Sybase 等。它们都支持ODBC 接口,这样可减少更换数据库时需要更改程序的问题。 1重庆邮电大学移通学院毕业设计(论文) 第 2 章 系统分析8第 2 章 系统分析2.1 系统可行性分析1、开发目标完成基本的微博功能,使用 JAAX 技术。2、可行性分析微博已经在网络上普遍应用,其功能明显,思路简单,涉及 AJAX 技术,AJAX 技术已
32、经成熟,在 1 个月的时间里完成系统的开发是可行的。由于微博广泛的普及,所以用户使用起来易操作,功能易理解。而且本系统选定使用 PHP+MySql+js 技术实现,PHP 和 JS 代码易读容易理解,有良好的交互性。3、可行性结论本项可行性研究是基于研究目前正在使用的其他微博系统机构已做过类似项目,从中吸取相应的经验教训,重新定义问题这一循环反复的过程。然后提出系统的实现方案,方案进行经济、技术、用户操作的可行性分析,得出结论:可以在规定时间内完成。2.2 用户需求分析微博信息管理系统允许用户有三种身份:微博访问者,微博用户,系统管理员。结合网上资料和自己的观察体验,基本得出以下主要的需求:浏
33、览明星动态、社会新闻、时尚潮流、行业新资讯(包括想关传媒和名人的微博等) ,记录自己的生活,和朋友交流、参与热点问题的讨论和最感兴趣微博的评论。总结用户有以下个性需求:1.言论工具跟博客一样,可以被当成一种“微型的”言论工具。重庆邮电大学移通学院毕业设计(论文) 第 2 章 系统分析92.分享心情这种需求被 QQ 空间的“心情”实现了,可以记录生活或工作中的心情分享给朋友或网友,然后会得到朋友们的安慰或鼓励,最后达到心晴气爽的境界。“微博”可以满足这种需求。3.分享生活或工作中的琐事满足这种需求应该是“Twitter”的本意。有这种需求的人,比博客要大得多,门槛也低得多。2.3 系统设计目标分
34、析微博系统参与者中每种身份操作起来都很方便、快捷。访问者无需登录就可以浏览信息,发表评论或留言:微博用户注册后再登录,就可以发布日志、管理个人主页:而用户基本信息都由系统管理员对其统一管理。系统的用户主要是微博访问者和微博用户,下面以为我前台战士系统中的用户查询日志威力进行和说明。该过程的数据流程图如下图 2.1:图 2.1 数据流程用户查询日志的数据流程:首先,用户输入需查询的关键字,然后调交表单的数提交事务事务处理程序 储存文件微博展示系统显示结果重庆邮电大学移通学院毕业设计(论文) 第 2 章 系统分析10据,服务器接受到关键字后,根据关键字对日志标题进行模糊查询,处理后将结果以日志标志
35、标题连接形式该用户,用户点击相应的谅解就可以浏览该日志。根据微博信息管理系统的特点,将其分为两大模块:前台用户浏览模块和后台用户管理模块。前台用户浏览模块主要对于用户浏览日志信息:后台用户管理模块主要用于微博管理员对个人微博网站的管理,如日志管理、留言管理及评论管理等。前台用户浏览模块主要对于用户浏览日志信息,用户浏览日志有三种浏览方式可以选择:一是直接点击标题连接进入日志现实页面浏览日志:二是点击微博名称连接进入个人微博首页,然后再该首页中选择所需的日志标题连接进入日志页面信息浏览页面浏览日志;三是通过首页提供的随便看看功能,随便进入某人的微博进行查看消息。浏览日志的同时用户可以查看别人对该
36、日志的评论,然后用户也可以对该日志发表自己的评论。如图 2.2:NY图 2.2 评论流程访问者浏览直接选择日志选择博客浏览方式将日志数据展现给浏览者评论选择日志 随机选择微博随便看看将评论保存到数据库结束重庆邮电大学移通学院毕业设计(论文) 第 2 章 系统分析11用户进入后台管理平台,首先必须进行权限验证,防止未授权的用户非法登录。若没有通过验证,则显示出错提示,并跳转到登录界面。若通过验证,则进入个人微博后台管理平台。用户可以浏览发表的日志,并对其进行相应的操作如修改日志和删除日志;可以查看日志的评论并对其进行恢复或者删除操作;可以发表新的日志;可以新建日志分类;可以浏览个人微博的留言信息
37、并对其进行相应的操作如恢复留言和删除留言;还可以对个人信息进行修改。如图 2.3:图 2.3 管理流程2.4 微博系统功能模块介绍前台模块功能结构图 2.4:用户进入管理验证管理中心日志管理 评论管理 留言管理出错提示结束微博信息管理前台博客展示查询管理用户管理留言展示评论展示日志展示最新微博热点微博微博列表日志列表精华帖最新日志发表评论最新品论最新留言发表留言用户注册用户登录微博查询日志查询重庆邮电大学移通学院毕业设计(论文) 第 2 章 系统分析12图 2.4 前台模块后台模块功能结构图 2.5:图 2.5 后台功能模块2.4.2 微博注册登录模块介绍微博注册登录管理模块用于建立微博网站固
38、定的客户群体,通过记录对应的微博档案实对微博信息的后台维护及管理,同时也便于通过微博档案库将网站最新动态及相关企业的信息方便地传达给每一位潜在的客户。该功能模块实现了一下几个子功能:a) 新微博在线注册b) 微博登录管理c) 跳转到微博主页只有进行登录并通过身份验证的用户,才可以在个人微博页面发表日志,并借助个人设置实现对个人微博相关信息的维护管理。对于没有经过身份验证的网络用户不允许在微博页面中发表微博日志,更不允许对微博页面信息进行维护管理维护。该模块实现新微博的注册及登录验证功能。其中,注册微博时会对用户输入的注册信息进行有效验证,包括基本数据格式的有效性以及逻辑有效性,例如,例如用户名
39、被占用时给出提示。注册成功的微博登录时,会随时根据微博输入的登录信息进行提示。系统管理员个人信息管理好友管理微博管理 评论管理 留言管理登录修改个人信息注册撰写微博修改微博删除微博回复留言回复评论删除评论删除留言添加好友删除好友重庆邮电大学移通学院毕业设计(论文) 第 2 章 系统分析132.4.3 微博及好友检索查询模块介绍微博及好友查询模块为网络用户提供便捷的搜索,以及微博日志浏览等功能,同时对微博日志的评论信息、微博推荐也能够及时反馈给网络用户。该功能模块实现了一下几个子功能:a) 味浓随便看看页面推荐b) 好友关键字搜索该模块能够在网页中随时提供在线的最新日志信息。在用户选择了某个微博
40、博客或者某个感兴趣的微博日志后,可以方便地跳转到对应的微博进行阅读,并和微博进行交友互动。为了使网络用户尽快定位到所需要的微博和日志信息,本模块提供了友好的搜索功能,用户可以对所关注的微博信息进行关键字搜索。2.4.4 微博页面显示模块介绍当网络用户进入某个微博主页后,在该页面中将提供微博日志列表的显示,同时为了方便用户浏览,也提供微博日志评论的浏览,此外还允许用户在墨客页面中发表评论及留言。该模块实现了如下几个子功能:a)用户可以分页查看对应的微博日志内容及评论信息。b)用户可以针对微博日志内容发表评论。c)用户可以针对微博进行留言在该模块中还提供了微博页面统计的信息,日志、评论及留言信息分
41、页显示等方便用户的显示效果。2.4.5 微博个人管理维护模块介绍微博个人维护管理模块用于实现用户对墨客个人主页及相关信息的动态管理。该模块实现了如下子功能a)微博日志管理。b)评论及留言管理。重庆邮电大学移通学院毕业设计(论文) 第 2 章 系统分析14c)个人基本信息维护管理。借助该模块,用户可以随时对个人博客主页中的内容进行增加或修改,包快微博日志跟新、评论及留言管理等功能,也允许用户对博客的个人信息进行维护及管理。第 3 章 数据库设计3.1 数据库的需求分析根据系统需求,可以列出以下数据项和数据结构:用户:用户 ID、用户名称、用户密码、E-mail、注册日期、发表微博日志数;微博日志
42、:微博日志编号、微博日志内容、发表日期、用户 ID、转播次数、评论数;评论:评论编号、评论内容、发表日期、最后回复日期、评论人、微博日志编号;留言:留言编号、留言内容、发表日期、最后回复日期、留言人、用户 ID;好友:好友 ID、后又名称、好友连接、用户 ID。3.2 数据连接本系统的开发是在 windows xp 下开发的,开发数据库使用的是 Mysql。具体配置步骤如下: 新建空数据库,取名为 MyTwitter。在 MyTwitter 中建 user、twitter、feedback、message、friend 数据库表。 完成数据初始化工作,将表中各字段与域值添加进去。 具体的表结构
43、设计如下描述所示。 133.3 数据库表结构设计数据库表结构设计如以下各表所示:a) 用户表,此表主要用于保存用户的基本信息,内容见表 3.1 所示:重庆邮电大学移通学院毕业设计(论文) 第 3 章 数据库设计15表 3.1 userinfo 表列名 含义 类型 长度 缺省值 允许空BlogID 用户 ID Int 4 无 否Username 用户名 Varchar 20 无 否Password 用户密码 Varchar 20 无 否Email 电子邮件 varchar 50 无 否registertime 注册日期 Datetime 8 无 否artucleNum 发表日志数 Int 4 0
44、 否artucleNum 发表日志数 Int 4 0 否Isadmin 管理员权限 Int 1 0 否b) 微博日志表,此表主要用于保存日志的基本信息,内容见表 3.2 所示:表 3.2 twitter 表列名 含义 类型 长度 缺省值 允许空TwitterID 微博 ID Int 4 无 否Twitter 微博内容 Text 8 无 否PublishTime 微博发表时间 Datetime 8 无 否BlogID 用户 ID Int 4 无 否ReadTime 转播次数 Int 4 0 否FeedBackNum 微博评论次数 Int 4 0 否c) 评论表,此表主要用于保存微博日志的基本信息
45、,内容见表 3.3 所示:表 3.3 feedback 表列名 含义 类型 长度 缺省值 允许空FeedBackID 评论编号 Int 4 无 否FeedBack 评论内容 Text 8 无 否PublishTime 发表时间 Datetime 8 无 否UserName 用户名 Varchar 20 无 否TwitterID 微博 ID int 4 无 否重庆邮电大学移通学院毕业设计(论文) 第 3 章 数据库设计16d) 留言表,此表主要用于保存留言的基本信息,内容见表 3.4 所示:表 3.4 message 表(文章知识表)列名 含义 类型 长度 缺省值 允许空MessageID 留言
46、编号 Int 4 无 否Content 留言内容 Text 8 无 否PublishTime 发表时间 Datetime 8 无 否LastModifyTime 最后回复时间 Datetime 8 无 否UserName 用户名 Varchar 20 无 否BlogID 用户 ID int 4 无 否e) 友好表,此表用于保存用户好友的基本信息,内容见表 3.1 所示:表 3.5 friend 表列名 含义 类型 长度 缺省值 允许空BlogID 好友 ID Int 4 无 否UserName 好友名称 Varchar 20 无 否Link 好友连接 Varchar 100 无 否3.4 E-
47、R 模型为了把用户的数据要求清晰明确地表达出来,通常要建立一个概念性的数据模型(也称为信息模型) 。概念性数据模型是一种面向问题的数据模型,是按照用户的观点来对数据和信息建模。它描述了从用户角度看到的数据,它反映了用户的现实环境,且与在软件系统中的实现方法无关。最常用的表示概念性数据模型的方法,是实体联系方法(EntityRelationship Approach) 16。这种方法用 ER 图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法。用这种方法表示的概念性数据模型又称为 ER 模型。ER模型中包含“实体” , “联系”和“属性” 15。在本系统中,关系属性如图 3.1 所示:微
48、博用户转播次数发表时间评论内容用户 ID发表1N1N重庆邮电大学移通学院毕业设计(论文) 第 3 章 数据库设计17图 3.1 数据 E-R 图参照完整性是保证在主键(被参照表中)和外键之间的关系总是得到维护。对两个相关联的表(主表和从表)进行操作数据的插入和删除的时候,通过参照完整性保证它们之间的数据的一致性。用户自定义完整性,不同的数据库系统根据起数据应用环境的不同,往往还需要一些特殊的约束条件。它反应某一具体应用所涉及的数据必须满足的语义要求。对于用户自定义完整性可以通过数据库设计,也可以通过程序代码来实现。由于程序设计的灵活性和便捷性,在整个系统的调试过程中对于不完善的地方只需对代码进行修改而不用更改数据库,因此在系统中采用了程序代码来