10 5 用户界面设计
(3)帮助和提示原则。要对用户命令做出反应,帮助用户处理问题。系统要设计有恢复出错现场的能力,在系统内部处理工作要有提示,尽量把主动权让给用户。
(4)媒体最佳组合原则。多媒体界面的成功并不在于仅向用户提供丰富的媒体,而应在相关理论指导下,注意处理好各种媒体间的关系,恰当选用。
(5)优化原则:为了达到优化的目的,合理的运用窗口,菜单,对象等的继承,自定义用户对象,事件,函数,减少不必要的重复性代码,使程序简介明了,也方便了将来的维护。
本章详细的介绍了用户界面的开发工具,设计思想以及设计原则,这只是系统开发的第一个环节,下面要介绍的数据库分量更为重要。
基于JSP的图书馆管理系统的研究与设计 11
6 数据库分析与设计
自20世纪70年代以来,数据库技术得到迅速发展。目前世界上已经有数百万个数据库系统在运行,其应用已经深入到社会生活的各个领域,从企业管理,银行管理,资源管理,经济预测一直到信息检索,档案管理,普查统计等。
现在,数据库技术还在不断发展,并且不断的与其它计算机技术相互渗透。数据库技术与网络通信技术相结合,产生了分布式数据库系统。数据库技术与面象对象技术相结合,产生了面向对象数据库系统等各种数据库系统。
6.1 数据库简介
本人设计的是一个关于图书馆图书管理的数据库系统,通过这个系统管理员可以简捷、方便的对图书记录查阅、增加、删除等功能,而用户也可以通过这个系统对进行图书查询、借阅、归还等功能。
该数据库应用程序按照用户权限和实现功能的不同分为两部分:外部学生对数据库的查询访问和内部管理人员对数据记录的管理维护。每一部分中包含各自实现的各项功能,对每一项功能的实现,将按照窗体设计以及运行情况的顺序逐一进行设计。
所以,在此基础之上我选择了小巧易于操作的MySQL数据库,与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余。
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言——结构化查询语言(SQL)进行数据库管理。
由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。MySQL虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。
6.2 数据库的设计
数据库结构设计使用的数据库管理系统以及系统开发工具设计出数据库以及各个数据表的结构。
本系统数据库开发汇集各种信息以供查询、存储和检索。其优点在于它能使用数据表示图或自定义窗体收集信息。它提供数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。本系统数据库是一种关系型数据库工具,关系数据库是已开发的最通用的数据库。
12 6 数据库分析与设计
通过分析图书馆管理系统的功能,开始对数据库进行操作,首先在Navicat Lite for MySQL软件中创建名为library的数据库。在library名下再创建四张表,分别名为book、brbook、reader、user。具体设计如下表:
表6-1 管理员信息表
列名 userId userName Password sex role 数据类型 Int(11)
Varchar(255) Varchar(255) Varchar(255) Varchar(255) 可否为空 Not null Not null Not null Not null Not null
表6-2 图书信息表
说明
用户注册主键 用户名 注册密码 性别 用户权限
列名 bookID bookCode bookName bookType price Status 数据类型 Int (11)
Varchar(255) Varchar(255) Varchar(255) Float
Varchar(255) 可否为空 Not null Not null Not null Not null Not null Not null
表6-3 借阅信息表
说明
图书ID(主键) 图书编号 图书名 图书类型 图书价格 图书借阅状态
列名
borrowID bookID readerID borrowDate returnDate
realReturnDate punishMoney 数据类型 Int(11) Int (11) Int (11) Date Date Date float 可否为空 Not null Not null Not null Not null Not null Not null Not null
表6-4 图书馆读者信息表
说明
借阅信息主键 借阅信息外键 借阅信息外键 借书时间 应还书日期 实际还书日期 逾期未还书罚金
列名
readerID readerName Sex Hobby className major address hometown 数据类型 Int(11)
Varchar(255) Varchar(255) Varchar(255) Varchar(255) Varchar(255) Varchar(255) Varchar(255) 可否为空 Not null Not null Not null Not null Not null Not null Not null Not null
说明
读者ID(主键) 读者姓名 读者性别 读者爱好 读者所在班级 读者所在专业 读者住址 读者家乡
数据库各表如下:
基于JSP的图书馆管理系统的研究与设计 13
图6-1 图书表
图6-2 读者表
图6-3 借阅表
14 6 数据库分析与设计
图6-4 用户表
6.3 数据库的安全性
本系统的数据库安全性设计考虑到以下几方面:第一,加强服务器和数据库口令管理,确保口令只有数据管理员知道;第二,加强授权管理,确保浏览器查询权限(即只能读,不能写);第三,从硬件上加强防护,用户终端上只提供键盘、鼠标、显示器,不安装软驱、光驱,禁止端口和串口的使用,使用户无法通过利用外界软件工具的方法从事破坏数据库机会;第四,从软件上防护,读者查询微机的功能是读者进行查询书目和借出查询,利用操作系统预装的浏览器就行,无需安装其他任何软件,禁止用户读写注册表信息,禁止用户使用命令行操作,从软件上高度防范,使黑客无机可乘。
经过这次数据库建立的实际操作,让每个人都对数据库从整体概念到设计再到安全性的认识都有了质的飞跃。在数据库的基础上设计系统,编写代码会少很多曲折。