ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:338.07KB ,
资源ID:9657187      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9657187.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库原理及应用课程设计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库原理及应用课程设计.docx

1、数据库原理及应用课程设计 本科生课程设计课程名称数据库原理及应用课程设计课程编号J1670101学号201311621230学生姓名张少涛所在专业计算机科学与技术所在班级计科1132指导教师徐龙琴成绩教师签字年 月 日课程设计时间: 2014年 12月 10日 至2014年 12月 30日目 录设计总说明 I第1章需求分析 3第2章概念结构设计 3第3章逻辑结构设计 5第4章物理结构设计 9第5章系统实现 135.1 前台界面 135.2 后台管理 16优缺点自我评价 18参考文献 18设计总说明(1) 系统开发目的数据库课程设计是为数据库原理及应用课程而独立开设的实践性课程,对于巩固数据库知

2、识加强学生的实际动手能力和提高学生综合素质十分必要。通过本实验达到以下目的: 1、培养学生具有数据库应用软件系统的设计和开发能力。 2、 熟练掌握一种数据库系统(如SQL SERVER)的使用。 3、 通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高自己动手能力 提高分析问题和解决问题的能力。(2) 开发内容要分析图书管理系统的需求分析,概念结构分析,逻辑结构分析,物理结构分析,数据库的实现以及数据库的保护与维修,通过不断地调试来实现数据软件之间的完善。(3) 开发要求进行新书入库、现有图书信息修改以及删除; 能够实现对读者基本信息的查询和编辑管理; 能够进行预约功能

3、; 能够进行借阅信息的查询功能;(4) 开发环境及工具系统前台开发软件:My Eclipse系统后台管理软件:SQL server management studio 2008系统开发语言:Jsp(5) 系统功能简介能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括:1) 图书信息的录入、删除及修改。2) 图书信息的多关键字检索查询。3) 图书的出借、返还、预约。数据库原理及应用课程设计报告第1章需求分析进行系统设计,首先要对系统的现状进行分析。根据系统的目标、需求和功能,制定和选择一个较好的系统方案,从而达到一个合理的优化系统。每个学校都有图书馆,最初由于图书数

4、量和种类较少,人工手动管理比较方便和灵活。随着社会的发展,图书的数量和种类越来越多,人工手动管理会降低工作的效率,希望建立一个图书管理系统,是为了解决人工手动管理图书信息在实践的问题,从而达到系统化、规范化、标准化的水平。该系统的建立不但给管理者带来了方便,也节省了工作时间从而提高了工作效率。需求分析是在于要弄清用户对开发的数据库应用系统的确切要求。数据库设计的第一步是明确数据库的目的和如何使用,也就是说需要从数据库中得到哪些信息。明确目的之后,就可以确定您需要保存哪些主题的信息(表),以及每个主题需要保存哪些信息(表中字段)。在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求

5、划分系统功能模块。这样,就把一个大的系统分解成了几个小系统。这里把系统的层次划分为了四个部分:图书维护,人员信息管理,图书借阅管理,信息查询。能够实现以下功能:进行新书入库、现有图书信息修改以及删除; 能够实现对读者基本信息的查询和编辑管理; 能够进行预约功能; 能够进行借阅信息的查询功能;第2章概念结构设计根据以上需求分析,一个基本的图书馆管理系统数据库大致包括10个表,分别存放相应子功能模块的数据信息,期中“读者信息”和“图书信息”表是关键的表,用于存放图书馆读者的信息和文献的信息,图书馆管理系统实际上就是对读者和文献的管理。其他涉及读者信息和文献信息的表,都只是记录相应的编号,并根据作为

6、外键的“编号”字段相对应。数据库要表述的信息有:(1)读者类型(2)读者信息(3)图书基本信息(4)图书信息(6)图书借阅(7)图书归还(8)图书丢失(9)图书预约各个主要实体的属性的E-R图各实体及属性图如图所示2.2各实体及其联系的E-R图第3章逻辑结构设计将概念结构转化为一般的关系、网状、层次模型; 将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换; 对数据模型进行优化。把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。所以E-R图转换如下:读者类型(身份、可借册数、可续借册数、可借时间)图书基本信息(ISBN、书名、版次、类

7、型、作者、出版社、价格、现存量、库存总量)读者信息(编号、姓名、身份、读者性别、联系方式、登记日期、有效期至、违规次数、现借图书数、是否挂失)图书信息(编号、ISBN、入库时间)图书归还(归还编号、图书编号、读者编号、归还时间)3.2具体逻辑模型设计3.2.1读者类型表字段名数据类型能否为空说明身份char (20)not nullprimary key可借册数intnot null可续借次数intnot null可借时间char (10)not null3.2.2图书基本信息表字段名数据类型能否为空说明ISBNchar (20)not nullprimary key书名char(20)not

8、 null版次char(20)not null类型char(20)not null作者char(20)not null出版社char(20)not null价格floatnot null现存量intnot null库存总量intnot null3.2.3读者信息表字段名数据类型能否为空说明编号char(20)not nullprimary key姓名char(20),not null身份char(20)not nullforeign key (身份) references 读者类型(身份)性别char(8)not nullcheck (性别 in (男,女),联系方式char(12)not n

9、ull登记日期datetimenot null有效期至datetimenot null借书数量Intnot null是否挂失char(8)not null3.2.4图书信息表字段名数据类型能否为空说明编号char(20)not nullprimary key,ISBNchar (20)not nullforeign key(ISBN)references 图书基本信息(ISBN)入库时间datetimenot null3.2.5图书借阅表字段名数据类型能否为空说明借阅编号char (20)not nullprimary key图书编号char (20)not nullforeign key (

10、图书编号) references 图书信息(编号)读者编号char (20)not nullforeign key (读者编号) references 读者信息(编号)借阅时间datetimenot null应还时间datetimenot null续借次数intnot null第4章物理结构设计create table 读者类型表(身份 char(20) primary key,可借册数 int not null,可续借次数 int not null,可借天数 int not null);create table 图书基本信息表(ISBN char(20) primary key,书名 cha

11、r(20) not null,版次 char(20) not null,类型 char(20) not null,作者 char(20) not null,出版社 char(20) not null,价格 float not null,现存量 int not null,库存总量 int not null);create table 读者表(编号 char(20) not null primary key,密码 varchar(20) not null,姓名 char(20) not null,身份 char(20) not null foreign key (身份) references 读者

12、类型表(身份),性别 char(2) not null check (性别 in(男,女),联系方式 char(12) not null,注册时间 datetime not null,有效期 datetime not null,借书数量 int not null,是否挂失 bit not null,);create table 图书信息表(编号 char(20) not null primary key,ISBN char(20) not null foreign key(ISBN) references 图书基本信息表(ISBN),入库时间 datetime not null);create

13、 table 借书信息表(借书编号 int IDENTITY not null primary key,图书编号 char(20) not null foreign key(图书编号) references 图书信息表(编号),读者编号 char(20) not null foreign key(读者编号) references 读者表(编号),借书日期 datetime not null,应还书日期 datetime not null,还书日期 datetime,续借次数 int not null);第5章系统实现前台实现主页个人信息界面检索借阅情况后台实现借书还书图书管理读者类型管理读者管

14、理优缺点及自我评价优点:这个学生图书管理系统能够准确表示图书的借阅,归还,预约。管理员也能够很好地掌握此图书管理系统的用法。 缺点:现此系统最大的缺点就是借阅者的界面还不够吸引,不够漂亮,还有没有对读者的借阅实现了简单的统计,没有进行排名等功能。 自我评价:通过这次的数据库课程设计,我更了解数据库的重要性了,学习到不同的东西是这次课程设计的最大收获,虽然遇到了很多的困难,但是通过与别人的讨论,交流,也能够解决问题,所以在接下来的实践,我会更加努力地学习,不断使自己进步,这样才能够充实自己。参考文献(1)数据库原理及设计 陶宏才编 清华大学出版社(2)SQL Server 2000 编程员指南李

15、香敏编 北京希望电子出版社(3)软件需求分析 Swapna Kishore编 机械工业出版社(4)数据库系统概论 王珊 萨师煊(5)JDK 的 src 和 Docs (6) Thinking in Java (7) Java 实例技术手册 David Flanagan(8) Effective Java (9) 疯狂Java讲义 应用互联网XX数据库及源码War包下载地址:忽略:/创建表和存储过程的sql语句create table 读者类型表(身份 char(20) primary key,可借册数 int not null,可续借次数 int not null,可借天数 int not n

16、ull);create table 图书基本信息表(ISBN char(20) primary key,书名 char(20) not null,版次 char(20) not null,类型 char(20) not null,作者 char(20) not null,出版社 char(20) not null,价格 float not null,现存量 int not null,库存总量 int not null);create table 读者表(编号 char(20) not null primary key,密码 varchar(20) not null,姓名 char(20) no

17、t null,身份 char(20) not null foreign key (身份) references 读者类型表(身份),性别 char(2) not null check (性别 in(男,女),联系方式 char(12) not null,注册时间 datetime not null,有效期 datetime not null,借书数量 int not null,是否挂失 bit not null,);create table 图书信息表(编号 char(20) not null primary key,ISBN char(20) not null foreign key(ISB

18、N) references 图书基本信息表(ISBN),入库时间 datetime not null);create table 借书信息表(借书编号 int IDENTITY not null primary key,图书编号 char(20) not null foreign key(图书编号) references 图书信息表(编号),读者编号 char(20) not null foreign key(读者编号) references 读者表(编号),借书日期 datetime not null,应还书日期 datetime not null,还书日期 datetime,续借次数 in

19、t not null);create table 图书丢失表(丢失编号 int IDENTITY(1,1) not null primary key,图书编号 char(20) not null ,读者编号 char(20) not null,偿还金额 float not null,操作时间 datetime not null);create table 图书注销表(注销编号 int IDENTITY(1,1) not null primary key,图书编号 char(20) not null ,ISBN char(20) not null foreign key(ISBN) refere

20、nces 图书基本信息表(ISBN),注销时间 datetime not null);create table 图书预约表(预约编号 int IDENTITY(1,1) primary key,图书编号 char(20) foreign key (图书编号) references 图书信息表(编号),读者编号 char(20) foreign key(读者编号) references 读者表(编号),预约时间 datetime not null)create proc borrow 读者编号 char(20),图书编号 char(20),return int outputasbegindecl

21、are ISBN char(20);declare 可借天数 int;select 可借天数=可借天数 from 读者类型表,读者表 where 读者类型表.身份 =读者表.身份 and 编号=读者编号;select ISBN=ISBN from 图书信息表 where 编号=图书编号;set return = -1;if not exists(select * from 图书预约表 where 图书编号=图书编号 and 读者编号!=读者编号 and 最迟借阅期 = GETDATE()and not exists (select * from 借书信息表 where 图书编号 = 图书编号

22、and 还书日期 is null)and (select 借书数量 from 读者表 where 编号=读者编号)=1)beginset xact_abort onbegin traninsert 借书信息表 values(图书编号,读者编号,GETDATE(),dateadd(day,可借天数,GETDATE(),null,0);update 读者表 set 借书数量=借书数量+1 where 编号=读者编号;update 图书基本信息表 set 现存量=现存量-1 where ISBN=ISBN;delete from 图书预约表 where 读者编号=读者编号 and 图书编号=图书编号

23、;set return = 0;commit tranendendcreate proc returnbook 读者编号 char(20),图书编号 char(20),return int outputasbegin declare ISBN char(20);select ISBN=ISBN from 图书信息表 where 编号=图书编号;set return = -1;if exists (select * from 借书信息表 where 图书编号=图书编号 and 读者编号=读者编号 and 还书日期 is null)beginset xact_abort onbegin tranu

24、pdate 借书信息表 set 还书日期=GETDATE() where 图书编号=图书编号 and 读者编号=读者编号 and 还书日期 is null;update 读者表 set 借书数量= 借书数量-1 where 编号=读者编号;update 图书基本信息表 set 现存量 = 现存量+1 where ISBN =ISBN;set return = 0;commit tranendendcreate proc reserve 读者编号 char(20),图书编号 char(20)as begindeclare basetime datetime;if exists(select *

25、from 借书信息表 where 图书编号 = 图书编号 and 还书日期 is null)select basetime=应还书日期 from 借书信息表 where 图书编号 = 图书编号 and 还书日期 is null;elseset basetime = getdate();if not exists(select * from 图书预约表 where 图书编号=图书编号 and 最迟借阅期 = GETDATE()insert 图书预约表 values(图书编号,读者编号,GETDATE(),DATEADD(day,7,basetime);endcreate proc delbook

26、 编号 char(20),return int outputasbeginset return = -1;if exists(select * from 图书信息表 where 编号=编号)beginbegin tranupdate 读者表 set 借书数量=借书数量-1 where 编号 =(select 读者编号 from 借书信息表 where 图书编号=编号 and 还书日期 is null);update 图书基本信息表 set 库存总量=库存总量-1 where ISBN = (select ISBN from 图书信息表 where 编号=编号);if not exists(select * from 借书信息表 where 图书编号=编号 and 还书日期 is null)update 图书基本信息表 set 现存量=现存量-1 where ISBN = (select ISBN from 图书信息表 where 编号=编号);insert into 图书注销表 select * from 图书信息表 where 编号=编号;delete from 图书信息表 where 编号=编号set return = 0;commit tranendend.忽略此处.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1