第四章 数据库设计和结构创建
4.1数据库设计过程
数据库设计的全过程,可以相应地分成三个阶段:第一个阶段为数据库需求分析阶段,第二个阶段为建立概念性数据模型,第三个阶段为逻辑设计阶段。
当然要设计一个有效的数据库,必须用系统工程的观点来考虑问题。在系统分析阶段,设计者和用户双方要密切合作,共同收集和分析数据管理中信息的内容和用户对处理的要求。
根据系统分析,旅游网站系统设计与开发的要求如下 :
(1)需求分析:
① 能够处理旅游信息的日常数据、对新闻标题,内容的输入,修改,查找以及删除;
② 能够实现用户与网站的交流;
③ 能够进行用户间的互动交流;
(2)系统性能要求:
① 系统安全、可靠;
② 功能齐全;
③ 操作方便、界面友好;
④ 易于维护和扩充。
(3)系统的功能分析:
密码设置:每个管理员均有自己的密码,可以防止非本系统管理员进入本系统;
信息维护:为了对每一则自驾百宝箱进行管理。系统维护包括对各种表记录的修改、删除、添加,查找等操作。
系统查询:可以按关键字进行模糊查询
4.1.1数据库需求分析
需求分析是在于要弄清用户对开发的数据库应用系统的确切要求。Visual SQL SERVER 2005 数据库设计的第一步是明确数据库的目的和如何使用。也就是说需要从数据库中得到哪些信息。明确目的之后,就可以确定您需要保存哪些主题的信息(表),以及每个主题需要保存哪些信息(表中字段)。是进行系统功能划分和系统设计最重要的一个环节,根据系统数据流程图,可以得到两个数据库表:管理员信息表(allusers)、景点信息(jingdianxinxi)表等:,以下为系统所需的数据项和数据结构的使用情况:
(1) 管理员信息:调用管理员信息表,生成系统编号,用户名,密码,权限等。
(2) 注册用户信息:调用注册用户信息表,生成系统编号, 用户名,密码,姓名,电话,邮箱,QQ,头像,籍贯,地址,性别,等等。
(3) 景点信息:调用景点信息表,生成系统编号,名称,星级,地址,电话,简介,照片,票价等。
(4) 新闻信息:调用新闻信息表,生成系统编号,标题,类别,内容,添加人等。
4.1.2数据库概念结构设计E-R图
数据库概念结构设计是数据库应用程序开发一个非常关键的环节,它具有一定的独立性,通常采用E-R图(实体—关系图)的方法进行设计,它能将用户的数据要求明确地表达出来。根据本系统所使用的数据库以及系统的功能结构画出主要的E-R图,如图4.1所示。
(1) 管理员信息实体:调用管理员信息表,生成系统编号,用户名,密码,权限等。
(2) 注册用户信息实体:调用注册用户信息表,生成系统编号, 用户名,密码,姓名,电话,邮箱,QQ,头像,籍贯,地址,性别,等等。
(3) 景点信息实体:调用景点信息表,生成系统编号,名称,星级,地址,电话,简介,照片,票价等。
(4) 新闻信息实体:调用新闻信息表,生成系统编号,标题,类别,内容,添加人等。
4.1.3数据库逻辑结构设计
数据库逻辑设计对系统的结构,各个子模块结构流程图的详细说明,先对其功能模块的介绍:
1.管理员信息管理
管理员针对自己的信息进行管理,如进行密码修改,以防止信息泄漏和系统安全。
2.景点信息管理
功能:主要是搜索名称,或星级,查找景点信息,。
4.2 数据库结构的创建
数据结构的创建是对数据库表的创建,系统创建两个数据库表:可以得到两个数据库表:管理员信息表(allusers)、站内新闻(xinwentongzhi)表:,
管理员信息表
管理员信息表是对管理员信息表的管理,存贮系统登录ID,用户名,密码、权限等信息。
其对应的字段如表4.1
a
第五章 旅游网站系统的实现
5.1模块化的开发环境的简介
模块化的程序设计,使得前台页面设计与程序设计几乎完全分离。在前台页面采用过程调用方法。在修改页面设计时只需要在相应位置调用设计好的过程就可以了。这样可以大大减少代码的冗余度.以达到提高代码的重复利用.另外,在调用的过程中传不同的参数以达到不同的效果.,旅游网站系统设计与开发采用三层架构的设计方案.
5.2数据库的连接
本系统系统采用sql server2000进行数据库的连接选择“Microsoft SQL SERVER 2005 Driver”,与数据源名HotelManage.mdb连接,如图(5.2)
图5.2 数据库连接图
5.3 功能的实现
5.3.1.系统首页:
系统首页是城市旅游网的第一个页面。如图(5.3)
图(5.3) 系统首页
系统首页可分为三部分:第一部分为网站名称及欢迎辞。
第二部分是网站功能菜单,以单排列表的形式展开,分别列出系统的信息分类,并显示系统时间等相关信息,提供后台登陆入口。
第三部分为网站的最新的信息。
主要代码如下:
图(5.4) 景点介绍列表页面
此系列操作界面为前台对景点的所有操作界面,包括景点的列表和详细信息,用户可在此页面进行对景点信息的所有操作。
实现本模块的主要代码如下:
5.3.3站内新闻模块此页面为站内新闻,可随时了解最新的新闻,双击可查看详细内容,实现本模块的主要代码如下所示:
5.3.4用户注册模块
此页面为用户注册管理界面,包括用户名,密码,姓名,电话,邮箱,QQ,头像,籍贯,地址,性别,等,可按用户名查找相关信息。实现本模块的主要代码如下所示
5.3.5自驾游模块
此模块为自驾游模块,包括,线路编号,线路名称,目的地,交通工具,出行时间,发布人等,
可按路编号,线路名称,目的地,交通工具,查找庆相关信息。
实现主要代码如下:
5.3.6在线留言模块
用户可以此留言,也可查看留言,如下图所示
实现本模块的主要代码如下所示:
<5.4系统后台操作
在本系统后台中有五个模块组成。它们分别是酒店信息管理、留言管理、自驾游管理,旅游商品管理、网友博文及景点信息管理在内的全方位旅行服务,下面就开发这几个模块的过程及所遇到的问题分别加以介绍。
5.4.1 系统后台登陆界面
系统后台登陆界面的入口在前台的功能列表的最右边,点击即可显示如下界面。
如图.(5.7)
图(5.7) 系统后台登陆界面
在此界面,系统核对管理员的用户名和密码,以保证系统的安全。
本模块是系统登陆界面,实现的功能是检测合法用户,验证其用户名密码,以杜绝非法用户侵入系统。
本模块界面非常简单,就一用户名和密码两个文本框和一个登陆按钮,但实现的方法比较复杂,因为系统要自动判断其输入的用户名及密码的正误,还要自动识别其权限(超级管理员与普通管理员之分),如果登陆正常后,系统要将当前用户名和权限记录下来以便之后其他操作给予适当的权限分配。
实现本模块的主要代码如下所示:
5.4.2系统后台主操作界面
当管理人员有合法的身份进入后,看到的就是这个界面,如图(5.8)
图 (5.8)系统后台主操作界面
由此界面可见,系统设计时秉承了“功能齐全化,操作简便化”的设计理念,界面可分为系统名称、功能列表和操作界面三部分。
<
5.4.2管理员管理
管理员作为系统提供的一个很主要的信息分类,系统管理时是一个重点项目,所以在此以之为例说明后台操作细节。
图(5.9) 管理员信息操作页面
该模块主要是让超级管理员可以添加系统中的普通管理员来共同管理本系统。
该模块分为两个小块,上面是添加新管理员,包括用户名和密码两个可见字段,还有一个权限是默认隐藏字段。下面是将已有的管理员信息以列表的形式列出,简单明了!
由于考虑到系统人员泛滥问题,本模块仅限超级管理员一人使用。
实现本模块的主要代码如下所示:
5.4.3 注册会员管理界面
此页面为用户注册管理界面,包括用户名,密码,姓名,电话,邮箱,QQ,头像,籍贯,地址,性别,等,可按用户名查找相关信息。实现本模块的主要代码如下所示:
此系列操作界面为后台对经典线路的所有操作界面,包括线路信息的添加和查询操作,管理员可在此页面进行对线路信息的所有操作。
从以上界面可知,系统设计尽量考虑了操作的简便性,功能的强大性,所以,不一一介绍其操作规范。
5.4.4 景点信息管理界面
此页面为景点信息添加,查询页面,可按名称或星级查找您所需要的景点。实现本模块的主要代码如下所示:
5.4.5 站内新闻管理界面
此页面为站内新闻,可随时了解最新的新闻,双击可查看详细内容,实现本模块的主要代码如下所示:
5.4.6 酒店信息管理界面
此页面为酒店信息添加,酒店信息查询,及预订管理.,实现本模块的主要代码如下所示:
5.4.7留言板管理界面
此页面为留言板管理页面,管理员管理用户可的留言,查看留言。实现本模块的主要代码如下所示:
第六章 物理设计
设计原理
不同的数据库产品所提供的物理环境、存取方法和存储结构有很大差别,能供设计人员使用的设计变量、参数范围也很不相同,因此没有通用的物理设计方法可遵循,只能给出一般的设计内容和原则。希望设计优化的物理数据库结构,使得在数据库上运行的各种事务响应时间小、存储空间利用率高、事务吞吐率大。为此首先对要运行的事务进行详细的分析,获得选择物理数据库设计所需要的参数。其次,要充分了解所有的RDBMS的内部特征,特别是系统提供的存取方法和存储结构。
确定数据库物理结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、聚簇、日志、备份等的存储安排和存储结构;确定系统配置等。确定数据的存放位置和存储结构要综合考虑存取时间、存储空间利用率和维护代价三方面的因素。这三方面因素是相互矛盾的,因此需要进行权衡,选择一个折中的方案。
系统的设计方案
1.数据库存储位置:根据以上的数据库设计原理,在建立数据库时,我将此数据库既student数据库存储在本地计算机的我的文档中的毕业设计软件/数据文件中。数据库中有数据表六个。
2.文件增长方式:可以由上图看到,设置的数据文件的增长方式为按百分比增长的方式,最大文件大小没有限制。而设置日志文件的增长方式为按兆字节增长的方式,最大文件大小限制为5MB。
存取方法
数据库系统是多用户共享的系统,对同一个关系要建立多条存取路径才能满足多用户的多种应用要求。物理设计的任务之一就是要确定选择哪些存取方法,即建立哪些存取路径。存取方法是快速存取数据库中数据的技术。数据库管理系统一般都提供多种存取方法。常用的存取方法有三类。第一类是索引方法,目前主要是B+树索引方法;第二类是聚簇(Cluster)方法;第三类是HASH方法。B+树索引方法是数据库中经典的存取方法,使用最普通。
1.索引存取方法:在设计本系统时,已经为教职工信息表中的编号、姓名属性建立了索引,由于编号、姓名属性要经常在查询条件中出现,所以要在这个属性上建立索引。关系上定义的索引数并不是越多越好,系统为维护索引要付出代价,查找索引也要付出代价。例如,若一个关系的更新频率很高,这个关系上定义的索引数不能太多。因为更新一个关系时,必须对这个关系上有关的索引做相应的修改。
2.聚簇存取方法:为了提高某个属性(或属性组)的查询速度,把这个或这些属性(称为聚簇码)上具有相同值的元组集中存放在连续的物理块称为聚簇。聚簇功能可以大大提高按聚簇码进行查询的效率。聚簇功能不但适用于单个关系,也适用于经常进行连续操作的多个关系。即把多个连接关系的元组按连接属性值聚集存放,聚簇中的连接属性称为聚簇码。这就相当于把多个关系按“预连接”的形式存放,从而大大提高连续操作的效率。
3.HASH存取方法:有些数据库管理系统提供了HASH存取方法。选择HASH存取方法的规则如下:
如果一个关系的属性主要出现在等连接条件中或主要出现在相等比较选择条件中,则此关系可以选择HASH存取方法。
第七章系统详细配置方法
配置环境变量:
我的电脑—右键—属性—高级—环境变量—系统变量—新建,变量名:CLASSPATH ,注意为大写,变量值:你所安装JDK的根目录下的lib文件夹,如:C:\Program Files\Java\jdk1.5.0\lib\tools.jar;.注意后面以分号和一个点结尾;
修改path变量:我的电脑—右键—属性—高级—环境变量—系统变量—选择path,点编辑,在变量值最后增加一个分号,增加你安装的JDK的根目录下的bin文件夹:C:\Program Files\Java\jdk1.5.0\bin;
在命令行分别输入java 、javac,如无错误提示,安装完成;
如果是B/S结构程序,双击E:\jakarta-tomcat-5.0.28\bin\startup.bat,如果出现黑色TOMCAT界面,安装成功,否则重装;
安装SQLServer2000数据库,一路默认,注意不要选择域用户,设置sa用户的密码为123;
安装SQLServer2000数据库SP3补丁,当提示已成功传递文件之后,找到安装的目录,双击setup.bat,看提示安装,基本默认;
附加数据库:打开开始—程序—Microsoft SQLServer—服务管理器,启动数据库,开始—程序—Microsoft SQLServer—企业管理器,在左侧树状菜单,选择数据库-右键-所有任务-附加数据库,点击浏览,选择你的文件夹下的.MDF文件,确定;
如果是 C/S结构程序,安装你的程序,OK;
如果是B/S结构程序,复制你的网站文件到E:\jakarta-tomcat-5.0.28\webapps下,启动E:\jakarta-tomcat-5.0.28\bin\startup.bat,在IE中输入http://localhost:8080/你的网站名,OK;
如果需要配置数据源,开始-控制面板-管理工具-数据源ODBC-添加-SQLServer-完成,名称填写readme.txt文件里的数据源名,描述为空,服务器填写“.”就可以,下一步-下一步-更改默认的数据库为你的附加数据库-下一步-完成-测试数据源,如提示“测试成功”,一路确定,否则重装;
总结
在本系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。因为对旅游业宣传的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。虽然旅游信息宣传网站在中小型的城市中的应用不是很多,但是未来的发展方向,在本次开发过程由于受种种的限制,未能实现全面系统的数据测试,因此在以后的系统更新过程中可能会造成一些不必要的数据损失。
尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。相信本旅游网站系统设计与开发是一套中小型旅游网站系统在日常管理中必不可少的管理软件,通过开发这个系统,我掌握了的项本过程,了解了的基本知识巩固了我对JSP的学习,但在这次毕业设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法,以及与同学们之间相互帮助的精神。