《数据库开发技术》课程设计
重庆大学
2005级计算机科学与技术专业
指导老师:
组长:张兴 组员:杨怡 刘洋 何桀 何经伟 马培训
班级:2005级计算机科学与技术
2006-12-31
1
前言
随着数据库应用技术的发展,我们希望了解并掌握管理开发数据库应用程序的方法。数据库应用程序中 Access是单机版应用程序的常用后台数据库,SQL Server是网络版应用程序的常见数据库。
这次课程设计我们将使用Visual Basic开发SQL Server数据库应用程序 --- 图书管理系统。通过这次课程设计 我们将了解应用程序的实际开发过程,学会运用所学习的知识开发应用程序,为日后的提高打下良好的基础
。
图书管理系统可以有效地管理读者信息和图书资源,并且可以控制图书借阅流程。它主要应用图书馆、外借处和借书机构等地方。本系统以SQL Server 2000作为后台数据库,具有很强的使用性。因此也能可以使得我们可以更好了解和掌握数据库原理这门课程。
2
目录
1、需求分析------------------------------------------------------------------------------------3 1.1、系统功能分析 -----------------------------------------------------------------------4 1.2、系统功能模块设计-------------------------------------------------------------------5 1.3、数据库需求分析----------------------------------------------------------------------6 2、概念设计------------------------------------------------------------------------------------7 3、逻辑设计------------------------------------------------------------------------------------7 3.1图书类型表 BookType-------------------------------------------------------------- 7 3.2借阅证件类型表 CardType---------------------------------------------------------7 3.3图书基本信息表 BookInfo--------------------------------------------------------- 8 3.4借阅证件信息表 CardInfo-----------------------------------------------------------8 3.5图书借阅信息表 BorrowInfo-------------------------------------------------------8 3.6用户管理信息表 PasswdInfo-------------------------------------------------------8 4、数据库结构的实现------------------------------------------------------------------------8 4.1、创建数据库和数据表的SQL语句------------------------------------------------8 4.2、SQL Server2000设置----------------------------------------------------------------11 4.3、ADO 数据模型-----------------------------------------------------------------------11 4.4、Visual Basic设置---------------------------------------------------------------------11 4.5、创建数据库----------------------------------------------------------------------------11 4.6、创建与数据库的连接----------------------------------------------------------------11 5、图书管理系统功能的实现---------------------------------------------------------------11 5.1、系统主菜单----------------------------------------------------------------------------11 5.2、借阅编辑菜单-------------------------------------------------------------------------12 5.3、借阅证件编辑菜单-------------------------------------------------------------------12 5.4、借阅证件信息编辑菜单-------------------------------------------------------------12 5.5、图书基本信息编辑菜单-------------------------------------------------------------12 5.6、图书类型编辑菜单-------------------------------------------------------------------12 5.7、用户编辑菜单-------------------------------------------------------------------------13 6、系统的编译----------------------------------------------------------------------------------13
任务划分--------------------------------------------------------------------------------------- -14
1.需求分析
1.1 系统功能分析
3
图书管理系统可以有效地管理读者信息和图书资源,并且可以控制图书借阅的流程。它主要应用于图书馆,外借处和解书机构等地方。本系统以SQL Server 2000为后台数据库,具有很强的实用性,用户只要根据实际的实用情况稍加修改,就可以把它应用到实际工作中。
图书管理系统得基本功能是对 图书信息、借阅证件信息和借阅信息进行管理,具体功能描述如下。
(1) 图书分类管理,功能包括:
添加图书分类,如图书类型编号、图书类型名称和上级图书类型编号; 修改图书分类,只能修改图书类型名称; 删除图书分类; 查看图书分类;
(2) 图书基本信息管理,功能包括:
添加图书基本信息,如图书编号、名称、作者、图书类型编号和封面图
片等;
修改图书基本信息,除图书编号外的所有信息; 删除图书基本信息; 查看图书基本信息; 调用图书封面图片;
(3) 图书封面图片管理,功能包括:
添加图书封面图片,将指定的图像文件存储到数据中; 修改图书封面图片; 删除图书封面图片; 查看图书封面图片;
(4) 借阅证件类别管理,功能包括: 添加借阅证件类别,如类型编号、类型名称和可借阅书籍的最大数目等; 修改借阅证件类别,除借阅证类型编号外的所有信息; 删除借阅证件类别; 查看借阅证件类别;
(5) 借阅证件信息管理,功能包括:
添加借阅证件信息,如借阅证号、读者姓名、借阅证类型编号和证件状
态等;
修改借阅证件信息;除借阅证号和证件状态外的所有信息; 删除借阅证信息; 查看借阅证信息;
(6) 图书借阅管理,功能包括: 图书借阅,如借阅证号、图书编号、借阅日期、归还日期和借阅状态等; 图书续借,填写续借日期、修改规划日期和借阅状态; 图书挂失; 图书归还;
查看图书信息。
(7) 系统登陆,功能包括: 验证用户名和密码正确性; 保存用户名和用户类型; (8) 系统用户管理,功能包括:
4
添加系统用户信息,如用户名、密码和用户类型等信息; 修改系统用户信息,如密码和用户类型等; 删除系统用户信息; 查看系统用户信息;
(9) “关于”模块,功能包括:
显示应用程序基本信息,包括应用程序的名称、版本和说明等信息; 显示系统信息,主要调用Windows自带的系统信息;
本系统以SQL SERVER2000作为后台数据库,以VISUAL BASIC6.0中文企业版作为前台开发工具。
1.2 系统功能模块设计
图书管理 系统用户管理 图书信息管理 图书借阅管理 帮助模块 创建、修改和删除普通用户信息 修改超级用户的用户和密码 改变用户的权限 修改自身的用户名和密码 图书分类管理 基本信息管理 封面图片管理 图书借阅情况管理 借阅证件信息管理 借阅证件信息管理 图书借阅 图书续借 图书挂失 图书归还
1.3、数据库需求分析
系统工作流程的分析如图所示。
5
开始 失败 重试3次 用户登录 成功 用户管理模块 读取用户类型 普通用户 管理自己的用户信息 超级用户 1.管理自己的用户信息 2.管理其他用户的信息 3.改变其他用户的权限 图书信息管理模块 对图书信息进行管理 图书借阅管理模块 对借阅证件进行管理 对借阅信息进行管理 数据项和数据结构设计如下:
图书类型:图书类型编号、图书类型名称,上级图书类型编号;
图书基本信息:图书编号,图书名称,作者,出版社,图书价格,图书类型
编号封面图片,备注;
借阅证件类型:借阅证件类型,借阅证件类型名称,可借阅书籍的最大数目,
可借阅书籍的最长时间,可续借书籍的最长时间;
借阅证件信息表:借阅证号,读者姓名,工作单位,身份证号,借阅证类型
办证时间,证件状态
图书借阅信息:借阅证号,图书编号,借阅日期,续借日期,归还日期,过
期罚金,借阅状态;
用户管理信息:用户名,密码,用户类型;
2、概念设计
6
得到1.3的数据项和数据结构后,设计规划出的实体有图书类型,图书基本信息,借阅证件类型,借阅证件信息,图书借阅信息,用户管理信息几个实体. 具体E-R图如下:
用户名,密码,用户类型 借阅证号,姓名,工作单位,身份证号,图书编号,名称,作者,出版社,价格,类型编号,封面图片,备注 用户管理信息 借阅证类型,办证时间,证件状态 用户管理 借阅证件信息 图书基本信息 图书分类 借阅证件类型 证件管理 借阅证类型,借阅证件类型名称,可借阅书籍最大数,最长时间及续借最长时间 图书类型 借阅信息管理 图书类型编号,图书类型名称,上级图书类型编号 图书借阅信息 借阅证号,图书编号,借阅日期,续借日期,归还日期,过期罚金,借阅状态 实体之间关系E-R图
3、逻辑设计
现在需要将2中的数据库概念结构转化为SQL Server200数据库系统所支持的实际数据模型,即数据库的逻辑结构。
图书管理系统中各个表的设计结果如下表所示,每个表格为数据库中的一个表。 3.1图书类型表 BookType 字段名称 数据类型 TypeID TypeName UID 字段名称 CtypeID TypeName MaxCount MaxDays RenewDays int varchar(20) int 数据类型 varchar(10) varchar(20) smallint smallint smallint yes yes yes yes yes 必填字段 7
必填字段 yes yes yes 必填字段 说明 图书类型编号(主键) 图书类型名称 上级图书类型编号 说明 借阅证类型(主键) 借阅证类型名称 可借阅书籍最大数 可借阅书籍最长时间 可续借书籍最长时间 说明 3.2借阅证件类型表 CardType 3.3图书基本信息表 BookInfo 字段名称 数据类型
BookNo BookName Author Publisher Price TypeID CoverPhoto Memo varchar(20) varchar(200) varchar(100) varchar(100) real int image varchar(1000) yes yes yes yes yes yes no no 必填字段 yes yes no yes yes yes yes 图书编号(主键) 图书名称 作者 出版社 图书价格 图书类型编号 封面图片 备注 说明 借阅证号(主键) 读者姓名 工作单位 身份证号 借阅证类型 办证时间 证件状态(0有效,1过期,2挂失) 3.4借阅证件信息表 CardInfo 字段名称 数据类型 CardNo Reader WorkPlace IDCard CTypeID CreateDate CardState varchar(16) varchar(20) varchar(50) varchar(18) varchar(10) datetime tinyint 3.5图书借阅信息表 BorrowInfo 字段名称 CardNo BookNo BorrowDate RenewDate ReturnDate Fine BorrowState 数据类型 varchar(16) varchar(20) datetime datetime datetime real tinyint yes yes yes no yes no yes 必填字段 说明 借阅证号 图书编号(主键) 借阅日期 续借日期 归还日期 过期罚金,默认0 借阅状态(0借阅,1续借,2过期) 3.6用户管理信息表 PasswdInfo 字段名称 UserName Passwd UserType 数据类型 varchar(20) varchar(50) tinyint yes no yes 必填字段 说明 用户名(主键) 密码 用户类型(1超级用户,2普通用户.) 4、数据库结构的实现
在前面的需求分析和概念结构设计中,得到了数据库的逻辑结构,现在在SQL SERVER2000数据库系统中实现该逻辑结构。这是利用数据库系统中的SQL查询分析器实现的。 4.1、创建数据库和数据表的SQL语句
用文本编辑器将存储过程输入,并保存为:Bookmanage.sql USE master GO
CREATE DATABASE BookManage ON
8
PRIMARY ( NAME = Bm1,
-- FILENAME = 'C:\\Program Files\\Microsoft SQL Server\\MSSQL\\Data\\BmData1.mdf', FILENAME = 'E:\\Data\\BmData1.mdf', SIZE = 10MB, MAXSIZE = 200, FILEGROWTH = 2), ( NAME = Bm2,
-- FILENAME = 'C:\\Program Files\\Microsoft SQL Server\\MSSQL\\Data\\BmData2.ndf', FILENAME = 'E:\\Data\\BmData2.ndf', SIZE = 10MB, MAXSIZE = 200, FILEGROWTH = 2),
( NAME = Bm3,
-- FILENAME = 'C:\\Program Files\\Microsoft SQL Server\\MSSQL\\Data\\BmData3.ndf', FILENAME = 'E:\\Data\\BmData3.ndf', SIZE = 10MB, MAXSIZE = 200, FILEGROWTH = 2) LOG ON
( NAME = BmLog1,
-- FILENAME = 'C:\\Program Files\\Microsoft SQL Server\\MSSQL\\Data\\BmLog1.ldf', FILENAME = 'E:\\Data\\BmLog1.ldf', SIZE = 1MB, MAXSIZE = 20, FILEGROWTH = 1),
( NAME = BmLog2,
-- FILENAME = 'C:\\Program Files\\Microsoft SQL Server\\MSSQL\\Data\\BmLog2.ldf', FILENAME = 'E:\\Data\\BmLog2.ldf', SIZE = 1MB, MAXSIZE = 20, FILEGROWTH = 1) GO
--图书类型表 BookType CREATE TABLE BookType (TypeID TypeName UID )
--借阅证件类型表 CardType CREATE TABLE CardType (CTypeID TypeName MaxCount
varchar(10) PRIMARY KEY, varchar(20) NOT NULL, smallint NOT NULL,
9
int PRIMARY KEY IDENTITY, varchar(20) NOT NULL,
int NOT NULL
MaxDays smallint NOT NULL, smallint NOT NULL
RenewDays )
--图书基本信息表 BookInfo CREATE TABLE BookInfo (BookNo BookName Author Publisher Price TypeID CoverPhoto Memo )
varchar(20) Primary Key, varchar(50) NOT NULL, varchar(20) NOT NULL, varchar(30) NOT NULL, real NOT NULL, int NOT NULL, image,
varchar(255)
--借阅证件信息表 CardInfo CREATE TABLE CardInfo (CardNo Reader WorkPlace IDCard CTypeID
varchar(16) Primary Key, varchar(20) NOT NULL, varchar(50),
varchar(18) NOT NULL, varchar(10) NOT NULL,
CreateDate datetime NOT NULL, CardState tinyint NOT NULL )
--图书借阅信息表 BorrowInfo CREATE TABLE BorrowInfo (CardNo BookNo BorrowDate RenewDate ReturnDate Fine BorrowState )
varchar(16) NOT NULL, varchar(20) Primary Key, datetime NOT NULL, datetime,
datetime NOT NULL, real DEFAULT(0), tinyint NOT NULL
--用户管理信息表 PasswdInfo
CREATE TABLE PasswdInfo (UserName Passwd UserType )
INSERT INTO PasswdInfo Values('super', '0', 1)
4.2、SQL Server2000设置
varchar(20) Primary Key, varchar(50),
tinyint NOT NULL DEFAULT(2)
10
为确保程序的正常运行,需要对SQL Server2000进行相应的设置,打开SQL Server2000的管理器。 选择“SQL Server”中的服务器(应为计算机名)→然后选择单击右健 并选择弹出式菜单中的“属性”→选择“安全性”属性页,并设置成“SQL Server和Windows”身份验证。 4.3、ADO 数据模型
通过连接从应用程序中访问数据源。连接时必须指定要连接到的数据源以及连接所使用的用户名和口令信息。对象模型使用Connection对象完成连接功能。
Connection对象代表与数据源的连接。如果是客户端/服务器数据库系统,该对象可以等价于到服务器的实际网络连接。访问数据库时需要创建一个Connection对象,通过它建立到数据库德连接。ConnectionString是连接字符串,指定用于连接数据源的信息。 4.4、Visual Basic设置
在Visual Basic6.0中程序利用ADO对数据库的访问和操作,需要添加ADO库。
选择Visual Basic的“工程”菜单中的“引用”,在对话框中选择“Microsoft ActiveX Data Object 2.6 Library”。 4.5、创建数据库
在SQL Server2000的查询分析器中打开Bookmanage.sql文件。 选中全部代码并执行,将产生程序运行需要的数据表和存储过程。 4.6、创建与数据库的连接
程序对数据的访问需要通过字符串联接来实现
如果通过ODBC数据源访问数据库,则要在运行数据库应用程序的计算机上配置ODBC数据源,这是一项比较繁琐的工作。可以通过直接设置数据源提供者(Provider)和数据库文件的方法连接字符串。例如,要访问SQL Server数据库,设置连接字符串的代码如下: Din cnn As New ADODB.Connection
Cnn.ConnectionString=”Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=Bookmanage”
5、图书管理系统功能的实现
通过上述工作,有关数据库的所有后台工作已经完成。
现在,利用Visual Basic6.0中文企业版来编写数据库系统的客户端程序。
5.1、系统主菜单(主窗体名:frmMain)
11
5.2、借阅编辑菜单
5.3、借阅证件编辑菜单
5.4、借阅证件信息编辑菜单
5.5、图书基本信息编辑菜单
5.6、图书类型编辑菜单
12
5.7、用户编辑菜单
5.8、系统功能的程序实现
见源程序。
6、系统的编译
完成了图书管理系统的编程和调试工作后,将系统编译和发行。
在Visual Basic6.0的主菜单中,启动对象:主窗体──frmMain。 最后,选择生成可执行文件
13
《数据库开发技术》课程设计
任务划分
课程设计题目:图书管理系统
姓名 张兴 杨怡 刘洋 何桀 何经伟 马培训 项目职务 组长 组员 组员 组员 组员 组员 任 务 系统分析、系统设计、系统调试及设计文档撰写 系统需求分析 图书基本信息的输入、查询、修改的设计与调试 系统逻辑设计 图书类型的输入、查询、修改的设计与调试 系统数据库结构的实现 系统用户管理的输入、查询、修改的设计与调试 系统概念设计 图书借阅管理的输入、查询、修改的设计与调试 系统功能的实现 系统信息的设计与调试
14
因篇幅问题不能全部显示,请点此查看更多更全内容