数据库课程设计报告图书管理系统_第1页
数据库课程设计报告图书管理系统_第2页
数据库课程设计报告图书管理系统_第3页
数据库课程设计报告图书管理系统_第4页
数据库课程设计报告图书管理系统_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、成绩计算机学院数据库课程设计报告题 目 图书管理系统 专业班级 04级计算机科学与技术7班学 号 姓 名 合 作 者 指导教师 2007年6月16日广东工业大学课程设计任务书题目名称图书管理系统学生学院计算机专业班级计算机科学与技术04级7班姓 名学 号一、课程设计的内容1、完成一个数据库应用系统的设计全过程,内容包括:完成需求分析、数据库设计、数据库建立、数据输入、应用系统的设计和开发、用户界面的设计和实现、系统调试和安装等工作。 2、撰写课程设计报告。 二、课程设计的要求与数据1、dbms选择不限制dbms,即可以选择任意大、小型rdbms,甚至前台开发工具,例如:oracle,sybas

2、e,sql server,access,mysql,viaual foxpro,delphi,powerbuilder,c+ builder等等。建议使用oracle,sql server等大型rdbms。2、系统结构及相关技术建议采用c/s结构,例如access+vb,oracle+delphi,sql server +interdev,oracle+powerbuilder,mysql+ vb,access+c+ builder等,可选择使用b/s/s结构,请查阅网络数据库技术相关资料,例如asp(.net)、jsp(j2ee)等。 3、课程设计报告,内容要求如下:(1) 封面(2) 目录

3、(3) 正文1) 关技术介绍(分析)2) 需求分析3) 概念结构设计4) 逻辑结构设计5) 数据库物理设计6) 数据库实施7) 系统测试方案和测试报告8) 安装和使用说明a) 参考文献(参考教材的参考文献格式)三、课程设计应完成的工作1、设计并实现了一个图书馆管理系统,功能包括有:图书借阅、现有图书信息、已借图书、逾期图书、图书出售等功能。2、本系统有两个人分工合作完成,胡晓剑主要负责系统的实现设计和优化,而陈明华负责数据库的设计优化。3、撰写课程设计报告。四、课程设计进程安排序号设计各阶段内容地点起止日期1系统需求分析与功能概要设计工学一号馆4156月11日2总体设计西二5296月12日3数

4、据库设计及其连接工学一号馆4156月13日4应用程序设计西二5296月14日5程序调试工学一号馆4156月15日6数据库的优化及其细节优化工学一号馆4156月16日7设计报告与成果提交西二5296月17日五、应收集的资料及主要参考文献【1】数据库系统概论(第四版) 王珊 萨师煊编著;【2】sql server2000 数据库管理与开发实用教程 李丹等编著; 【3】sql server2000 编程时尚应用百例 机械工业出版社;【4】c#程序员开发指南 中国林业出版社和北京希望电子出版社;【5】microsoft visual studio .net 2003应用大全 电子工业出版社;发出任务书

5、日期:2007年6月11 日 指导教师签名:计划完成日期: 2007年6 月17 日 基层教学单位责任人签章:主管院长签章:目录1、相关技术介绍(分析)【两人合作】6系统的开发环境61.1、操作系统:windows xp 中文专业版61.2、数据库管理系统:sql server 2000 个人版61.3、开发软件:microsoft visual studio .net 200362、需求分析【胡晓剑做】72.1 读者管理模块72.2 图书管理模块82.3日常工作模块82.4数据字典93、概念结构设计【胡晓剑做】10图书馆管理系统e-r图104、逻辑结构设计【陈明华做】115、数据库物理设计【

6、两人合作】115.1创建各表相应的sql语句如下:115.2创建各表的主码等约束关系:135.3创建存储过程166、数据库的实施【陈明华做】18系统的开发过程187、系统测试方案和测试报告【胡晓剑做】188、安装和使用说明。279、参考文献2710、小结281、相关技术介绍(分析) 两人合作 系统的开发环境1.1、操作系统:windows xp 中文专业版1.2、数据库管理系统:sql server 2000 个人版区别与foxpro、access小型数据库,sql server是一个功能完备的数据库管理系统。它包括支持开发的引擎、标准sql语言、扩展的特性等功能。而像存储过程等特征,也是大型

7、数据库管理系统才拥有的。一个成功的信息管理系统,是建立在许多条件之上的,而数据库是其中一个非常重要的条件和关键技术。信息管理系统所涉及的数据库设计分五个步骤:数据库需求分析、概念设计、逻辑设计、物理设计与加载测试。 (1)数据库需求分析的任务是将业务管理单证流化为数据流,划分主题之间的边界,绘制出dfd图,并完成相应的数据字典。 (2)概念设计的任务是从dfd出发,绘制出本主题的实体关系图,并列出各个实体与关系的纲要表。 (3)逻辑设计的任务是从e-r图与对应的纲要表出发,确定各个实体及关系的表名属性。 (4)物理设计的任务是确定所有属性的类型、宽度与取值范围,设计出基本表的主键,将所有的表名

8、与字段名英文化(现在很多软件能支持中文字段,如mssqlserver,我就是用的中文字段名),实现物理建库,完成数据库物理设计字典。 (5)加载测试工作贯穿于程序测试工作的全过程,整个录入、修改、查询、处理工作均可视为对数据库的加载测试工作。 要设计出一个好的信息管理系统数据库,除满足系统所要求的功能外,还必须遵守下列原则:基本表的个数越少越好。主键的个数越少越好。键是表间连接的工具,主键越少,表间的连接就越简单。字段的个数越少越好。所有基本表的设计均应尽量符合第三范式。1.3、开发软件:microsoft visual studio .net 2005 visual studio .net

9、2005是.net2003的下一个版本,不过它的功能增强了,人性化功能更强,控件编程与实现代码可以分开,比较容易上手。 2、需求分析 胡晓剑做的一般通用的图书馆管理系统包括系统管理、读者管理、编目、图书流通、统计、查询等功能。比较先进的图书馆管理系统能够在一个界面下实现图书、音像、期刊的管理,设置假期、设置暂离器(提高安全性)、暂停某些读者的借阅权、导入导出读者、交换数据。功能应包括查询图书馆所存的图书、个人借阅情况及个人信息的修改,对图书借阅者的借阅及还书要求进行操作,对过期者进行罚款记录等。为了达到一致性的需求,我们在图书管理有较强关联性的表之间建立起了一致性约束。本图书馆的基本功能,如图

10、1所示,其中每个功能由若干个相关联的子功能模块组成。 图1 图书馆管理系统应包括的功能2.1 读者管理模块 “读者管理”用于管理读者相关的信息,包含功能模块如图2图2 读者档案管理功能模块“读者类型设置”用于设置读者的类型及相关的信息,内容包括类型,图书册数,期刊册数,续借次数,限制图书,限制期刊等。“读者档案管理”用于设置读者相关的信息,内容包括编号,条形码,姓名,性别,类型,出生日期,有效证件,联系方式,登记日期,有效期至,操作员,备注,图书借阅次数,是否挂失等。2.2 图书管理模块“图书管理”用于管理图书相关的信息,包含功能模块如图3.4所示。图3图书管理功能模块“图书类型设置”用于设置

11、图书的类型及相关信息,内容包括类型名称,可借天数等。“出版社管理”用于设置图书所属的出版社的基础信息,内容包括出版社编号,出版社名称等。“图书档案管理”用于设置图书相关的信息,内容包括编号,书名,类型,作者,出版社,价格,页码,现存量,库存总量,入库时间,操作员,简介,借出次数,是否注销等。“图书注销”用于注销,报废图书,将图书档案的是否注销字段设置为1,被注销的图书不可以再借出。2.3日常工作模块“日常工作功能模块”用于日常借还书等操作,包含如图4所示的子功能模块。“图书借阅”用于登记读者借阅图书的记录并减少图书在库的库存,登记内容包括借阅编号、图书编号、读者编号、借阅时间、应还时间、操作员

12、等。“图书归还”用于登记读者归还图书的记录并增加图书在库的库存,登记内容包括归还编号、图书编号、读者编号、归还时间、操作员等。 “图书罚款”用于对图书超期、丢失等情况的罚款管理,内容包括罚款编号、图书编号、读者编号、罚款日期、应罚金额、实收金额、是否交款、备注等。“图书出售”用于对图书出售的管理,包括出售记录的编号,图书编号,购买者,购买数量,单价,出售时间等。 图4图书流通管理功能模块数据字典:2.4数据字典数据名称数据描述出版社保存图书对应出版社的基础信息读者类型保存读者类型及相关信息读者信息保存读者的各种信息图书借阅保存图书借阅记录图书信息保存图书信息图书归还保存图书归还记录图书罚款保存

13、图书罚款记录图书类型保存图书类型及相关信息图书出售保存图书出售的记录信息3、概念结构设计 胡晓剑做的 图书馆管理系统e-r图 图5 er图 4、逻辑结构设计 陈明华作,详见陈明华报告5、数据库物理设计 合作创建数据库5.1创建各表相应的sql语句如下:create table dbo.出版社 (出版社编号 int not null ,isbn varchar (40) null ,出版社名称 varchar (200) null ) on primarycreate table dbo.图书信息 (编号 varchar (50) not null ,书名 varchar (200) null

14、,类型 varchar (100) null ,作者 varchar (100) null ,出版社 varchar (100) null ,价格 money null ,页码 int null ,现存量 int null ,库存总量 int null ,入库时间 smalldatetime null ,操作员 varchar (20) null ,简介 varchar (100) null ,借出次数 int null ,是否注销 bit not null ) on primarycreate table dbo.图书借阅 (借阅编号 int identity (1, 1) not null

15、 ,图书编号 varchar (50) null ,读者编号 varchar (40) null ,借阅时间 smalldatetime null ,应还时间 smalldatetime null ,续借次数 int null ,操作员 varchar (20) null ,状态 varchar (10) null ) on primarycreate table dbo.图书归还 (归还编号 int identity (1, 1) not null ,图书编号 varchar (50) null ,读者编号 varchar (40) null ,退还押金 money null ,归还时间 s

16、malldatetime null ,操作员 varchar (20) null ,确定归还 bit null ) on primarycreate table dbo.图书出售 (出售编号 varchar (50) not null ,图书编号 varchar (50) not null ,订购者 varchar (100) null ,订购者联系方式 varchar (100) null ,订购数量 int null ,订购单价 money null ,订购日期 smalldatetime null ,是否验收 bit null ,验收日期 smalldatetime null ,操作员

17、varchar (20) null ) on primarycreate table dbo.图书类型 (类型编号 varchar (50) not null ,类型名称 varchar (100) null ,可借天数 int null ) on primarycreate table dbo.图书罚款 (罚款编号 int identity (1, 1) not null ,图书编号 varchar (50) null ,读者编号 varchar (20) null ,罚款日期 smalldatetime null ,应罚金额 money null ,实收金额 money null ,是否交

18、款 bit null ,备注 varchar (100) null ) on primarycreate table dbo.读者信息 (编号 varchar (20) not null ,姓名 varchar (20) null ,性别 varchar (8) null ,类型 varchar (20) not null ,登记日期 smalldatetime null ,有限期至 smalldatetime null ,操作员 varchar (20) null ,图书借阅次数 int null ,是否挂失 bit null ) on primarycreate table dbo.读者类

19、型 (类型 varchar (20) not null ,图书册书 smallint null ,续借次数 int null ,限制图书 bit null ) on primary5.2创建各表的主码等约束关系:alter table dbo.出版社 with nocheck add constraint pk_出版社 primary key clustered (出版社编号) on primary goalter table dbo.图书信息 with nocheck add constraint pk_图书信息 primary key clustered (编号) on primary g

20、oalter table dbo.图书借阅 with nocheck add constraint pk_图书借阅 primary key clustered (借阅编号) on primary goalter table dbo.图书归还 with nocheck add constraint pk_图书归还 primary key clustered (归还编号) on primary goalter table dbo.图书出售 with nocheck add constraint pk_图书出售 primary key clustered (出售编号) on primary goal

21、ter table dbo.图书类型 with nocheck add constraint pk_图书类型 primary key clustered (类型编号) on primary goalter table dbo.图书罚款 with nocheck add constraint pk_图书罚款 primary key clustered (罚款编号) on primary goalter table dbo.读者信息 with nocheck add constraint pk_读者信息 primary key clustered (编号) on primary goalter t

22、able dbo.读者类型 with nocheck add constraint pk_读者类型 primary key clustered (类型) on primary goalter table dbo.图书出售 add constraint df_图书出售_是否验收 default (0) for 是否验收goalter table dbo.图书信息 add constraint df_图书信息_借出次数 default (0) for 借出次数goalter table dbo.图书借阅 add constraint 图书借阅_图书编号_fk foreign key (图书编号)

23、references dbo.图书信息 (编号), constraint 图书借阅_读者信息_fk foreign key ( 读者编号 )references dbo.读者信息(编号)goalter table dbo.图书归还 add constraint 图书归还_图书编号_fk foreign key (图书编号) references dbo.图书信息 (编号), constraint 图书归还_读者信息_fk foreign key ( 读者编号 )references dbo.读者信息(编号)goalter table dbo.图书出售 add constraint fk_图书出

24、售_图书信息 foreign key (图书编号) references dbo.图书信息 (编号)goalter table dbo.图书罚款 add constraint fk_图书罚款_读者信息 foreign key (读者编号) references dbo.读者信息 (编号),constraint fk_图书罚款_图书信息 foreign key (图书编号) references dbo.图书信息 (编号)goalter table dbo.读者信息 add constraint fk_读者信息_读者类型 foreign key (类型) references dbo.读者类型

25、(类型)go5.3创建存储过程系统使用了“sf_图书征订”、“sf_图书借阅”和“sf_图书归还”3个存储过程,实现的功能分别为征订图书入库、借阅图书出库和归还图书入库等,产生罚款信息等功能。实现语句如下:set quoted_identifier on set ansi_nulls on create proc sf_图书借阅asbegin tran-借书出库,减少图书库存量,增加图书的借出次数update 图书信息 set 现存量 = isnull(现存量,0) - 1,借出次数=isnull(借出次数,0)+1from 图书信息 as a, 图书借阅 as bwhere a.编号=b.图

26、书编号 and b.状态=新借-设置借阅状态update 图书借阅 set 续借次数=0,状态=未还where 状态=新借commitset quoted_identifier off set ansi_nulls on set quoted_identifier on set ansi_nulls on create proc sf_图书归还 借阅编号 int, 罚款金额 moneyasbegin tran-借书出库,减少图书库存量update 图书信息 set 现存量 = isnull(现存量,0) + 1from 图书信息 as a, 图书借阅 as bwhere a.编号=b.图书编号

27、 and b.借阅编号=借阅编号- 如果罚金不是0, 在 图书罚款 中产生记录if 罚款金额 0insert into 图书罚款(图书编号,读者编号,罚款日期,应罚金额,是否交款)select 图书编号,读者编号,getdate(), 罚款金额, 0from 图书借阅 where 借阅编号=借阅编号- 插入图书归还表insert into 图书归还(图书编号,读者编号,归还时间)select 图书编号,读者编号,getdate()from 图书借阅 where 借阅编号=借阅编号-设置借阅状态update 图书借阅 set 状态=已还 where 借阅编号=借阅编号commitset quot

28、ed_identifier off set ansi_nulls on goset quoted_identifier on set ansi_nulls on create proc sf_图书出售asbegin tran-验收入库,增加图书库存量update 图书信息 set 库存总量 = isnull(库存总量,0) - b.订购数量, 现存量 = isnull(现存量,0) - b.订购数量from 图书信息 as a, 图书出售 as bwhere a.编号=b.图书编号 and b.是否验收=0-设置图书出售记录的标志,标志为已验收update 图书出售 set 验收日期=getdate(), 是否验收=1where 是否验收=0commitset quoted_identifier off set ansi_nulls on 6、数据库的实施 陈明华作,详见陈明华报告7、系统测试方案和测试

温馨提示

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

评论

0/150

提交评论