数据库设计(多彩贴吧)_第1页
数据库设计(多彩贴吧)_第2页
数据库设计(多彩贴吧)_第3页
数据库设计(多彩贴吧)_第4页
数据库设计(多彩贴吧)_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库课程设计题目名称基于PHP+MySQL的多彩贴吧组别:组员:指导老师:一.设计背景1.1本次课程设计的说明 本次数据库课程设计,我将重点放在数据库的设计上,做好根本的需求分析;重点进行概念结构设计,逻辑结构设计,数据库物理设计,以及数据库实施阶段中的数据库创立和SQL脚本的编写局部。 由于本次数据库课程设计的重点不在应用程序的编写和界面的设计上,所以在这方面花费的精力不会太多,当然,其中还有一个原因是采用自己不太熟悉的技术进行系统的编写,最终导致系统的整体外观不是很满意。由于应用系统编写技术的限制,很多在数据库设计时采用的技术将很难出现在系统上,比方触发器。 本次课程设计的成果——多彩贴吧必须运行在已经搭建好的环境下,因此需要阅读“安装和使用说明”文档后将环境搭建好,方可正常运行本系统,进行一系列的操作。1.2设计多彩贴吧的背景贴吧是百度旗下独立品牌,全球最大中文社区。贴吧自2003年12月3日上线,贴吧的创意来自于百度首席执行官李彦宏:结合搜索引擎建立一个在线的交流平台,让那些对同一个话题感兴趣的人们聚集在一起,方便地展开交流和互相帮助。贴吧是一种基于关键词的主题交流社区,它与搜索紧密结合,准确把握用户需求,通过用户输入的关键词,自动生成讨论区,使用户能立即参与交流,发布自己所拥有的其所感兴趣话题的信息和想法。2009年12月,百度针对“贴吧”的商标所有权正式获得国家工商行政管理总局商标局核准,同时,tieba独立域名也正式启用。贴吧的使命是让更多志同道合的人相聚在我们的贴吧。成为大家的一个互动的平台。目前贴吧的产品也很多,比方有i贴吧、吧刊、大全、贴吧俱乐部等等。贴吧的特点有人工信息聚合方式对搜索引擎的补充、共同兴趣爱好者的快捷聚集、封闭式交流话题带来的深度互动等。贴吧的平台很开放,谁都可以在贴吧上发表自己的言论。贴吧在长期的运用中已经创造了自己的品牌价值:可以创造一种新的社区模式、网络文化现象策源地、兴起社区开放之风。使用方式也很简单用户名输入一个关键词后即可进入一个讨论区,成为XX吧,如果这个名字的贴吧已经创立好了,那就可以直接参加讨论,如果尚未建立,那么可直接申请建立该吧。贴吧的一些常规操作也有:进入贴吧、浏览贴吧、发布贴吧、搜索贴吧。贴吧的开展历程近10年了,已经初步成熟。从2003年12月,贴吧的正式上线,搜索引擎步入社区化时代。到目前贴吧已经成为人人共知的一个交流平台。在本学期的数据库课程设计的作品中,我们根据我们的宗旨要设计出一个实用的作品来。然后去图书馆、上网搜集一些相关的资料,在我们两位组员的共同努力下完成了我们的作品。这次的作品我们取名为“多彩贴吧”。是因为我们的贴吧可以为人们提供一个交流的平台,也可以为自己记录自己的“多彩人生”。人生是多彩的、生活是多彩的。所以我们就命名为“多彩贴吧”。二.开发环境本学籍管理系统的开发与运行环境如下:开发环境:WindowsXP、win7辅助工具:PowerDesignerTrial11,DreamweaverCS4数据库管理系统:MySQL编程语言:PHP+HTML运行环境:Windows2000/XP/2003/win7三.需求分析3.1引言进行数据库设计首先必须准确了解也分析用户需求〔包括数据和处理〕。目的是为多彩贴吧数据库系统的设计打下牢牢的根底,是数据库开发的重要文件依据,主要为数据库设计人员使用,是用户和系统分析员的工程依据文件。作为“地基”的需求分析是否做得充分与准确,它决定了在其上构建数据库大厦的速度和质量。需求分析做得不好,甚至会导致整个数据库设计返工重做。本系统的开发是设计一个学多彩贴吧.(数据库系统〕。3.2用户需求本贴吧是根据广阔社会人员的需求而设计,因为网络的开展,人与人之间的直接交流越来越少,人们越来越多在网络上直接进行交流。这样交流的人不受时间和地点的限制,方便快捷。还可以把相同兴趣爱好的人聚在一起交流讨论同一个话题。本贴吧根据实际的需要分为四个功能模块:系统设置、帖子管理、用户管理、其他管理。然后再由这四个模块对具体的功能进行展开实现各个功能。实现的具体功能如下:1、系统管理——根本设置、管理员管理、数据库管理、缓存管理、前台日志、后台日志2、帖子管理——帖子审核、主题管理、回帖管理、批量删除、回收站管理3、用户管理——用户审核、用户管理、封锁管理、短消息管理、积分管理4、其他管理——不良词语过滤、广告管理、附件管理、友情链接。3.3划分功能模块根据系统功能的需求分析和用户需求的具体的特点,经过模块化的分析得到如下列图3-1所示的系统功能模块结构图。图3-1系统功能模块图3.4数据流图3.4.1数据流图介绍数据流图也称为数据流程图dateflowdiagram,DFD,是一种便于用户理解和分析系统数据流程的图形工具,摆脱了系统和具体内容,精确的在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成局部。数据流图的根本组成成分:(1)数据流:是由一组固定成分的数据组成,表示数据的流向。值得注意的是,数据流图中描述的是数据流,而不是控制流。除了流向数据存储或从数据存储流出的数据不必命名外,每个数据流必须要有一个适宜的名字,以反映该数据流的含义。(2)加工:加工描述了输入数据流到输出数据之间的变换,也就是输入数据流经过什么处理后变成了输出数据。每个加工都有一个名字和编号。编号能反映该加工位于分层的数据流图的哪个层次和哪张图中,能够看出它是由哪个加工分解出来的子加工。(3)数据存储:数据存储表示暂时存储的数据。每个数据存储都有一个名字。(4)外部实体:外部实体是存在于软件系统之外的人员或组织,指出数据所需要的发源地或系统所产生的数据的归属地。3.4.2系统数据流图(1)顶层数据流图图3-2多彩贴吧顶层数据流图(2)子层数据流图图3-3管理员管理数据流程图图3-4封锁管理数据流程图图3-5积分管理数据流图图3-6广告管理数据流图在系统流程图当中,我们画出了一个多彩贴吧顶层流程图〔即可以总的概括出我们这个多彩贴吧的一些根本的功能与设置等。然后我们还画出了3个子流程图。分别是管理员管理数据流程图、封锁管理数据流图积分管理数据流图、广告管理数据流图。因为篇幅的关系,我们没有一一画出我们的子流程图,只是挑了3个比拟有代表性的子数据流程图。其他的子数据流图也类似的,我们就不一一画出来了。3.5数据字典3.5.1数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果,数据字典是对系统所用到的所有表结构的描述,多彩贴吧的主要数据见下表。表3.1管理员信息表序号字段别名数据类型数据长度码1id用户号mediumint8Y2Name用户名varchar30N3Site地址mediumint1N4Type类型mediumint1N5Theme主题varchar255N6Picture图片Varchar255N7Link链接Varchar255N8Code编码Text10N表3.2申请用户信息表序号字段别名数据类型数据长度码1Id申请用户号mediumint8Y2Username申请用户名varchar30N3Object目的varchar30N4Why平安问题varchar255N5Type类型mediumint1N表3.3不良词语过滤信息表序号字段别名数据类型数据长度码1Id编号mediumint8Y2Content内容varchar30N3Type类型mediumint1N表3.4数据链接信息表序号字段别名数据类型数据长度码1Id编号mediumint8Y2Name帖子名字varchar30N3Link链接varchar255N4Picture图片varchar2N5Type所属类型mediumint1N6queue排序mediumint8N表3.5帖子发布信息表序号字段别名数据类型数据长度码1Id编号mediumint8Y2Theme帖子主题varchar100N3Content内容Text255N4Addresser发帖人Varchar30N5Addressee被访地址Varchar30N6Sent发送时间Timestamp10N7Isread传播mediumint1N表3.6回贴信息表序号字段别名数据类型数据长度码1Id编号mediumint8Y2Tid回复编号mediumint8N3Operate操作Varchar30N4Operatetime操作时间TimestampN5IpIp地址Varchar15N6Type类型Mediumint1N表3.7重新发送信息表序号字段别名数据类型数据长度码1Id编号Mediumint8Y2Theme主题varchar100Y3Content内容TextN4File文件Varchar8N5Author作者Varchar30N6IpIp地址Varchar15N7Published已发布TimestampN8Belong归属mediumint8N9Floor底层mediumint8N10Sate审核mediumint1N11Ismobile修改mediumint1N表3.8主题信息序号字段别名数据类型数据长度码1Id主题号mediumint8Y2Theme主题varchar100Y3Content内容TextN4File文件Varchar8N5Author作者Varchar30N6IpIp地址Varchar15N7Published发布TimestampN8Reauthor读者Varchar30N9Click点击次数mediumint8N10Reply回击mediumint8N11Top置顶mediumint1N12Boutique精品mediumint1N13Locks封锁mediumint1N14Vote投票mediumint1N15State规定mediumint1N16Ismobile修改mediumint1N表3.9更新帖子信息表序号字段别名数据类型数据长度码1Id编号Mediumint8Y2Oldfilename旧帖的名称Varchar25N3Filename帖的名字Varchar30N4Filetype文件类型Varchar30N5Username用户名Varchar30N6Uptime更新时间TimestampN表3.10用户点击信息表序号字段别名数据类型数据长度码1Id编号Mediumint8Y2Tid目标编号Mediumint8N3Options选择TextN4Result结果Varchar255N5Type类型Mediumint1N6State规定Mediumint1N7Already文本TextN3.5.2数据结构反映了数据之间的组合关系。一个数据结构可以由假设干个数据项组成,也可以由假设干个数据结构组成,或假设干个数据项和数据结构混合组成。经过数据项和用户需求的分析,我对本系统一共分了5个组,具体如下表所示:表3.10数据结构表数据结构名含义说明组成局部管理员信息对这个贴吧的一些根本的设置,一些权限的管理、设置。用户名+用户号+地址+类型+主题+图片+链接+编码帖子发布信息描述所发布的帖子的一些最根本的信息和一些发布的地址之类的。帖子编号+帖子主题+内容+发帖人+访问地址+发送时间+传播帖子。回帖信息对帖子回复的时候一些信息的设置、帖子编号+回复帖子的编号+操作员的相关信息+回帖操作时间+回帖的ip地址+回帖的类型主题信息对所发布的帖子进行一些主题的相关说明,对帖子的一些根本的设置要求。帖子编号+主题+内容+作者+发帖的ip地址+发布+点击的次数+回帖的信息+置顶+精品帖子+封锁帖子+点击帖子+修改帖子。更新信息对旧帖的删除和对新帖的更新发布等。编号+旧帖的名称+新帖的名称+帖子的类型+用户名+更新的时间。用户点击信息记录一些用户点击帖子的记录。对帖子点击次数的一些简单的统计。编号+目标编号+选择+结果+类型+规定要求+文本。四.概念结构设计概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成独立于具体DBMS的概念模型。4.1系统E-R图4.1.1根本设置管理对于系统设置管理,我们可以将管理员实体抽象出来,管理员属于系统里作为一个实体,管理员所管理的数据库也可以作为一个实体。在系统设置管理中存在这样的关系:根本设置中可以设置多个管理员,一个管理员可以管理过个数据库管理。一个管理员也可也可多篇前台日志和多篇后台日志。一篇日志只可以由一个管理员进行审核、编辑、管理。图4-1管理员关系E-R图4.1.2帖子管理对于帖子数据的管理,我们可以将帖子实体抽象出来,帖子审核、回帖属于帖子管理模块。可以将帖子管理作为一个实体。在帖子管理中一个帖子只可以由一个管理员审核,置为主帖、回帖管理、删帖管理、一个管理员可以管理多个帖子,是一对多的关系。图4-2帖子权限管理关系E-R图4.1.3用户管理对于用户管理,我们可以将用户实体抽象出来。在贴吧中可以存在这样的关系,管理员可以对申请的用户进行审核、用户管理、封锁管理、短消息管理、积分管理。图4-3教务关系E-R图以上是本系统中的根本的实体和关系,本系统是将其分步找出来加以描述,下面是本系统总体的E-R图:图4-4多彩贴吧系统E-R图4.2概念模型概念模型是在对用户需求分析之后,通过画出本系统抽象出的E-R图,由概念模型辅助工具PowerDesigner11进行设计,通过具体地设置和绘图,最后就形成了概念模型图,生成的概念结构就能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型。五.逻辑结构设计逻辑结构设计就是把概念结构设计阶段设计好的根本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。设计逻辑结构一般分为3步进行:〔1〕将概念结构转换为一般的关系、网状、层次模型;〔2〕将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;〔3〕对数据模型进行优化。5.1关系模型将E-R图转换为关系模型实际上就是要奖实体型、实体的属性和实体型之间的联系转换为关系模式,这种转换一般遵循如下原那么:一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体型间的联系那么有以下不同的情况:〔1〕一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,那么与该联系相连的个实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的侯选码。如果与某一端实体对应的关系模式合并,那么需要在关系模式的属性中参加另一个关系模式的码和联系本身的属性。〔2〕一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,那么与该联系相连的个各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。〔3〕一个m:n联系转换为一个关系模式。与该联系相连的个实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一局部。〔4〕3个或3个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一局部。〔5〕具有相同码的关系模式可合并。六.数据库实现6.1物理结构设计数据库的物理设计就是为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程。物理结构设计阶段实现的是数据库系统的内模式,它的质量直接决定了整个系统的性能。因此在确定数据库的存储结构和存取方法之前,对数据库系统所支持的事务要进行仔细分析,获得优化数据库物理设计的参数数据库的物理设计通常分为两步:〔1〕确定数据库的物理结构,在关系数据库中主要指存取方法和存取结构;〔2〕对物理结构进行评价,评价的重点是时间和空间效率。6.1.1确定数据库的存储结构 由于本系统的数据库建立不是很大,所以数据存储采用的是一个磁盘的一个分区。6.1.2存取方法和优化方法存取方法是快速存取数据库中数据的技术。数据库管理系统一般都是提供多种存取方法。常用的存取方法有三类。第一类是索引方法,目前主要是B+树索引方法;第二类是聚簇方法;第三类是HASH方法。数据库的索引类似书的目录。在书中,目录允许用户不必浏览全书就能迅速地找到所需要的位置。在数据库中,索引也允许应用程序迅速找到表中的数据,而不必扫描整个数据库。在书中,目录就是内容和相应页号的清单。在数据库中,索引就是表中数据和相应存储位置的列表。使用索引可以大大减少数据的查询时间。但需要注意的是索引虽然能加速查询的速度,但是为数据库中的每张表都设置大量的索引并不是一个明智的做法。这是因为增加索引也有其不利的一面:首先,每个索引都将占用一定的存储空间,如果建立聚簇索引(会改变数据物理存储位置的一种索引),占用需要的空间就会更大;其次,当对表中的数据进行增加、删除和修改的时候,索引也要动态地维护,这样就降低了数据的更新速度。6.2功能实现完成数据库的物理设计之后,设计人员就要用RDBMS提供的数据定义语言和其他实用程序将数据库逻辑设计和物理设计结果严格描述出来,成为DBMS可以接受的源代码,再经过调试产生目标模式。然后就可以组织数据入库,最后就在此根底上编写各个表相关的触发器和存储过程。6.3数据库的实施完成数据库的物理设计之后,设计人员就要用RDBMS提供的数据定义语言和其他实用程序将数据库逻辑设计和物理设计结果严格描述出来,成为DBMS可以接受的源代码,再经过调试产生目标模式。然后就可以组织数据入库了,这就是数据库实施阶段。6.3.1数据库的实施数据库的实施主要是根据逻辑结构设计和物理结构设计的结果,在计算机系统上建立实际的数据库结构、导入数据并进行程序的调试。它相当于软件工程中的代码编写和程序调试的阶段。当在PowerDesignerTrial11中设计好本系统的物理结构之后,就可以向数据库转换为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论