SQL程序设计——图书管理系统(13页).doc
《SQL程序设计——图书管理系统(13页).doc》由会员分享,可在线阅读,更多相关《SQL程序设计——图书管理系统(13页).doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-SQL程序设计图书管理系统-第 13 页SQL程序设计图书管理系统学院:计算机与信息工程学院专业:计算机科学与技术班级:2班学号:201110910521姓名:张亮亮 日期:2013-12-3分数等级:中1.开发背景数据库技术和Internet的飞速发展,使它们已经成为现代信息技术的重要组成部分,是现在计算机信息系统和计算机应用系统的基础和核心。对于任何一个企业来说,数据是企业重要的资产,如何有效利用这些数据,对于企业发展起着极其重要的作用。随着我国市场经济的迅速发展和人们生活水平的不断提高,图书馆藏书的树木逐渐增大,这也挑战了图书管理方面的技术,以前的人工管理方式已经不再适应现在的环境,取
2、而代之的是先进的图书管理系统,通过使用PowerBuilder创建的图书管理系统可以让管理人员方便而快捷的进行管理、查询、借阅、录入等工作。2.需求分析2.1系统目标图书管理信息系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强.数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。系统开发的总体任务是实现各种信息的系统化,规范化和自动化。2.2需求定义图书馆管理系统开发。系统开发的总的设计目标是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。本系统主要实现对图书馆信息
3、的管理,主要功能为管理有关读者、图书、借阅、查询、删除和管理员的信息等。本系统结构分为读者类别管理、读者档案管理、图书类型管理、图书档案管理以及图书流程管理,读者管理可以浏览读者的信息,可以对读者信息进行维护。图书管理可以浏览图书的信息,可以对图书信息进行维护。借阅管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。本系统主要解决的问题是利用关键字对数据库进行查询。其系统的功能模块图如下:图书管理系统图书管理图书资料投诉管理系统管理图书赔偿用户管理密码管理退出系统图书借阅图书登记图2-1 系统功能模块图针对一般图书管理信息系统的需求,通过对图书管理工作过程的内容和数据流程分析,设计如
4、下面所示的数据项: 读者信息 属性:读者学号,读者姓名,读者性别,联系电话,所在院系,生效日期,失效日期,违章状况,累计借书 主键:读者学号 书籍信息 属性:ISBN,书名,作者,出版社,出版日期,简介 主键:ISBN 管理员信息 属性:工作号,姓名,性别,电话,家庭住址 主键:工作号 2.3数据流程2.3.1 读者作为学生对图书管理系统的要求有:1. 能按各种方式(比如书名、编号、作者)查询图书馆的藏书情况。2. 能够方便地借阅图书、续借图书、归还图书。3. 能够查询自己的基本资料、借阅图书情况。4. 能够熟悉图书管理系统的使用。读者进入系统工作的流程图为:查询修改密码借阅续借归还注册注销
5、2-1进入系统工作的流程图2.3.2 图书管理员作为图书管理员,他们对图书管理系统的要求有:1. 能方便的对图书进行录入登记,注销陈旧的书籍。2. 能够方便地对新生进行登记,或注销已经毕业的学生信息(基本信息,借阅信息)。3. 能够随时发布一些诸如各学院学生借阅图书超期情况、馆内藏书情况、借情况等信息,以便各学院能够随时获知本院学生的一些借书信息。图书管理员工作的流程图为:2-2图书管理员工作流程图3.功能描述系统功能分析是在系统开发的总体任务的基础上完成。本系统需要完成的功能主要有5部分:(1) 图书基本情况的录入,修改,删除等基本操作。1书籍类别标准的制定,类别信息的输入,包括类别编号,类
6、别名称,关键词,备注信息等。2书籍类别信息的查询,修改,包括类别编号,类别名称,关键词,备注信息等。3书籍信息的输入,包括书籍编号,书籍名称,书籍类别,作者名称,出版社名称,出版日期,书籍页数,关键词,登记日期,备注信息等。(2) 办理借书卡模块。1新生办理借书证。2丢失办理借书证。(3) 实现借书功能。1借书信息的输入,包括借书信息编号,读书编号,读者姓名,书籍编号,书籍名称,借书日期,备注信息等。2借书信息的查询,修改,包括借书信息编号,读者编号,读者姓名,书籍编号,书籍名称,借书日期,备注信息等。(4) 实现还书功能。1还书信息的输入,包括还书信息编号,读者编号,读者姓名,书籍编号,书籍
7、名称,借书日期,还书日期,备注信息等。2还书信息的查询和修改,包括还书信息编号,读书编号,读者姓名,书籍编号,书籍名称,借书日期,还书日期,备注信息等。(5) 能方便的对图书进行查询。对超期的情况能自动给出提示信息4.概念模图书登记注册录入修改个人信息注销超期处理型设计各部分E-R图如下:(1)读者信息类别实体E-R图读者编号借书期限借书数量种类名称读者类别实体(2)书籍信息类别实体E-R图图书编号书籍类别出版社书籍名称书籍类别实体5.逻辑模型设计和优化从理论E-R模型到理论关系模型的整理转换,通过E-R模型到关系模型的转化,可以得到如下关系模式: 借阅关系 属性:工作号,读者学号,ISBN,
8、是否续借,借书日期,还书日期,备注。 主键:工作号,读者学号,ISBN 管理员_书籍关系 属性:工作号,ISBN,添加时间,是否在馆 主键:工作号,ISBN 管理员_学生关系 属性:工作号,读者学号,确认借还 主键:工作号,读者学号通过由概念模型设计得到CDM图powerdesigner转换成对应的PDM图:PDM图5.1图书信息表列名数据类型可否为空ISBNvarchar否书名varchar否作者varchar否出版社varchar是出版日期datetime是简介varchar是5.2 读者信息表列名数据类型可否为空读者学号varchar否读者姓名varchar否读者性别varchar否联系
9、电话varchar是所在院系varchar否5.3 管理员信息表列名数据类型可否为空工作号varchar否姓名varchar否性别varchar否电话varchar是家庭住址varchar是5.4 借阅表 列名数据类型可否为空工作号char否ISBNchar否读者学号char否借阅日期datetime否还书日期datetime否是否续借char否5.5 管理员_书籍 列名数据类型可否为空工作号char否ISBNchar 否添加时间datatime是是否在馆char是5.6 管理员_学生 列名数据类型可否为空工作号char否读者学号char否借还确认char否6.物理设计和实施 从理论关系模型到
10、实现实施数据库建立,物理文件的安排和建立索引 6.1 建立索引 为了提高在表中搜索元组的速度,在实际实现的时候应该基于键码建立索引是各表中建立索引的表项: (1)读者信息(读者学号) (2)书籍信息(ISBN) (3)管理员信息(工作号) (4)借阅(工作号,读者学号,ISBN) (5)管理员_书籍(工作号,ISBN) (6)管理员_学生(工作号,读者学号) 6.2 SQL语句如下所示:/* Table: 书籍信息 */create table 书籍信息 ISBN char(20) not null, 书名 char(20), 作者 char(10), 出版社 char(15), 出版日期 c
11、har(30), 简介 char(160), constraint PK_书籍信息 primary key (ISBN)/* Index: 书籍信息_PK */create unique index 书籍信息_PK on 书籍信息 (ISBN ASC/* Table: 投诉 */create table 投诉 工作号 char(10) not null, 学号 char(10) not null, 投书意见 char(100), 投诉日期 char(30), 受诉日期 char(30), constraint PK_投诉 primary key (工作号, 学号)/* Index: 投诉_PK
12、 */create unique index 投诉_PK on 投诉 (工作号 ASC,学号 ASC/* Index: 投诉_FK */create index 投诉_FK on 投诉 (工作号 ASC/* Index: 投诉2_FK */create index 投诉2_FK on 投诉 (学号 ASC/* Table: 登记 */create table 登记 工作号 char(10) not null, 学号 char(10) not null, ISBN char(20) not null, 证书日期 char(30) not null, 还书日期 char(30) not null,
13、 违章状况 char(160), 累计借书 char(160), 备注 char(160), constraint PK_登记 primary key (工作号, 学号, ISBN)/* Index: 登记_PK */create unique index 登记_PK on 登记 (工作号 ASC,学号 ASC,ISBN ASC/* Index: 登记_FK */create index 登记_FK on 登记 (工作号 ASC/* Index: 登记2_FK */create index 登记2_FK on 登记 (学号 ASC/* Index: 登记3_FK */create index
14、登记3_FK on 登记 (ISBN ASC/* Table: 管理员信息 */create table 管理员信息 工作号 char(10) not null, 姓名 char(10), 性别 char(5), 电话 char(15), 所在院系 char(25), constraint PK_管理员信息 primary key (工作号)/* Index: 管理员信息_PK */create unique index 管理员信息_PK on 管理员信息 (工作号 ASC/* Table: 读者信息 */create table 读者信息 学号 char(10) not null, 姓名 c
15、har(10), 性别 char(5), 电话 char(15), 所在院系 char(25), constraint PK_读者信息 primary key (学号)/* Index: 读者信息_PK */create unique index 读者信息_PK on 读者信息 (学号 ASC7.主要数据操纵语句 7.1管理员操作 (1)注册(register) INSERT INTO 管理员 (工作号,姓名,性别,电话,家庭住址,备注) VALUES(#工作号,#姓名,#性别,#电话,#家庭住址,#备注) 说明:在登记操作后,管理员得到一个唯一的工作号,可以根据这个工作号采查询和修改数据。
16、(2)注销(unregister) DELETE FROM Provider WHERE(工作号=#工作号); (3)修改个人信息(update) UPdate 管理员 Set (工作号=#工作号,姓名=#姓名,性别=#性别,电话=#电话,家庭住址=#家庭住址) WHERE(工作号#工作号) (4)增加书籍(addbooks) INSERT INTO 图书 (ISBN,书名,作者,出版社,出版日期,简介,) VALUES(#ISBN,#书名,#作者,#出版社,#出版日期,#简介,#备注) INSERT INTO 管理员_书籍表(工作号,ISBN,添加时间,是否在馆) VALUES(#工作号,#
17、ISBN,#添加时间,#是否在馆) (5)删除书籍(deletebooks) DELETE 图书 WHERE(ISBN =# ISBN) (6)修改书籍(updatebooks) UPDATE 图书(书名=#书名, 作者=#作者, 出版社=#出版社, 出版日期= #出版日期, 简介=#简介) WHERE(ISBN =# ISBN) 7.2读者操作 (1)注册(register) INSERT INTO 读者(读者学号,读者姓名,读者性别,联系电话,所在系, 生效日期,失效日期,违章状况,累计借书,备注) VALUES(#读者学号,#读者姓名,#读者性别,#联系电话,#所在系, #生效日期,#失
18、效日期,#违章状况,#累计借书,#备注) 说明:在登记操作后,读者得到一个唯一的ID,可以根据这个ID来查询和修改自己的信息。 (2)注销(unregister) DELETE 读者 WHERE(读者学号=#读者学号) (3)修改个人信息(update) UPDATE 读者 Set(读者姓名=#读者姓名,联系电话=#联系电话, 所在系=#所在系,生效日期=#生效日期,失效日期=#失效日期, 违章状况=#违章状况,累计借书=#累计借书,备注=#备注) WHERE(读者学号=#读者学号) (4)查询(select) SELECT ISBN,书名,作者,出版社 FROM图书 WHERE ISBN=#
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 程序设计 图书 管理 系统 13
限制150内