数据库图书借阅管理系统.docx

上传人:b****8 文档编号:9780101 上传时间:2023-02-06 格式:DOCX 页数:38 大小:379.07KB
下载 相关 举报
数据库图书借阅管理系统.docx_第1页
第1页 / 共38页
数据库图书借阅管理系统.docx_第2页
第2页 / 共38页
数据库图书借阅管理系统.docx_第3页
第3页 / 共38页
数据库图书借阅管理系统.docx_第4页
第4页 / 共38页
数据库图书借阅管理系统.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

数据库图书借阅管理系统.docx

《数据库图书借阅管理系统.docx》由会员分享,可在线阅读,更多相关《数据库图书借阅管理系统.docx(38页珍藏版)》请在冰豆网上搜索。

数据库图书借阅管理系统.docx

数据库图书借阅管理系统

 

大型数据库课程设计

设计报告

 

题目:

图书借阅管理系统

学号:

学生姓名:

指导教师:

提交时间:

2014-11-22

 

目录

 

1.需求分析................................................................................................................2

1.1需求调查......................................................................................................2

1.2系统功能分析..............................................................................................2

2.概念结构设计........................................................................................................3

2.1概念设计......................................................................................................3

2.2E-R图建立...................................................................................................3

3.逻辑结构设计........................................................................................................8

3.1E-R图向关系模式转换...............................................................................8

3.2建立关系模式.............................................................................................8

3.3关系模式规范化处理.................................................................................8

3.4用户子模式建立.........................................................................................8

3.5关系模式逻辑结构定义..............................................................................10

4.物理结构设计........................................................................................................11

5.数据库实施与测试................................................................................................12

5.1数据库实施..................................................................................................12

5.1.1数据库及数据库对象建立................................................................12

5.1.2数据存入数据库................................................................................13

5.1.3函数设计............................................................................................13

5.2数据库测试..................................................................................................14

6.数据库完整型设计................................................................................................16

6.1主键及唯一性索引......................................................................................16

6.2参照完整型..................................................................................................16

6.3Check约束....................................................................................................16

6.4触发器设计..................................................................................................17

6.5规则..............................................................................................................17

7.数据库视图设计....................................................................................................18

8.数据库存储过程设计............................................................................................19

9.总结........................................................................................................................27

10.参考文献..............................................................................................................................27

某书店图书借阅管理系统

第1章 需求分析

1.1 需求调查

通过对各个书店的市场调查,该图书借阅管理系统的需求如下:

1)系统管理:

实现系统管理人员对系统的管理,包括添加删除用户,数据备份,数据还原,注销等功能。

2)读者信息管理:

添加读者信息,根据借书证编号查看读者信息,根据读者ID删除读者,借阅证到期的读者更改借阅证办证时间。

3)书籍信息管理:

添加一条书籍信息,删除一条书籍信息,查看一条图书信息,根据图书名查看图书信息,根据图书类别查看图书信息,根据作者查看图书信息,根据出版社产看图书信息,根据ISBN查看图书库存,根据书籍名查看库存。

4)借阅管理:

借书管理,还书管理,续借管理,查看所有借阅信息,根据读者ID查看借阅信息,根据读者ID查看借书记录,根据读者ID查看借书记录,根据读者ID查看罚款信息。

1.2系统功能分析

 

图1-2系统功能分析图

第2章 概念结构设计

2.1概念设计

概念结构设计阶段的目标是通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。

即通过对数据流程图的分析归纳和总结,建立E-R图。

概念结构的设计方法有两种:

(1)集中式模式设计法:

这种方法是根据需求由一个统一机构或人员设计一个综合的全局模式。

这种方法简单方便,适用于小型或不复杂的系统设计,由于该方法很难描述复杂的语义关联,而不适于大型的或复杂的系统设计。

(2)视图集成设计法:

这种方法是将一个系统分解成若干个子系统,首先对每一个子系统进行模式设计,建立各个局部视图,然后将这些局部视图进行集成,最终形成整个系统的全局模式。

2.2E-R图建立

局部E-R图

1.对‘读者’建立E-R图,其中‘读者ID’为主键

 

 

图2-1读者E-R图

 

2.对‘书籍’建立E-R图,其中‘图书ID’为主键

 

 

图2-2书籍E-R图

3.对‘读者类别’建立E-R图,其中‘读者类别编号’为主键

 

 

图2-3读者类别E-R图

 

4、对‘借阅’建立E-R图

 

图2-4借阅E-R图

5、对‘还书’建立E-R图

 

图2-5还书E-R图

 

6、对‘罚款’建立E-R图

 

图2-6 罚款E-R图

7、对‘罚款类别’建立E-R图

 

 

图2-7 罚款类别E-R图

 

全局E-R图

 

第3章 逻辑结构设计

3.1 E-R图向关系模式转换

数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本E一R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。

逻辑结构是独立于任何一种数据模型的,在实际应用中,一般所用的数据库环境已经给定(如SQLServer或Oracel或MySql)。

由于目前使用的数据库基本上都是关系数据库,因此首先需要将E-R图转换为关系模型,然后根据具体DBMS的特点和限制转换为特定的DBMS支持下的数据模型,最后进行优化。

3.2建立关系模式

读者信息:

读者ID,密码,读者姓名,读者性别,读者类别,读者单位,办证时间,联

系方式;

读者类别信息:

读者类别编号,读者类别名,允许借阅图书最大数,持有图书最长期

限,借阅证期限;

书籍信息:

图书ID,ISBN,书籍名称,书籍类别,书籍作者,出版社,定价,出版日期,

登记日期,状态;

借书信息:

借书证编号,读者姓名,书籍编号,ISBN,书籍名,读者借书时间;

还书信息:

借书证编号,书籍编号,ISBN,图书名,读者姓名,还书时间;

罚款信息:

借书证编号,读者姓名,书籍编号,ISBN,书籍名,借阅日期,归还日期,应

还日期,罚款类别编号,处理状态;

罚款类别:

罚款类别编号,类别名,罚款原因,罚款金额

3.3关系模式规范化处理

根据F,分析每一个关系模式是否满足3NF,对不满足3NF的关系模式要进行规范化处理。

优化处理,消除不必要的数据冗余

3.4用户子模式建立

根据需求分析,研究建立满足不同需求的用户子模式,子模式表示形式为:

子模式名(属性列表)

3.5关系模式逻辑结构定义

1.读者详细信息

字段名

数据类型

长度

约束

读者ID

Char

10

主键,Notnull

密码

char

20

Notnull

姓名

char

15

Notnull

性别

char

2

男/女,notnull

类别编号

char

2

外键,notnull

单位

char

30

null

办证日期

date

Notnull

联系方式

char

20

Null

表3-1

2、读者类别详细信息

字段名

数据类型

长度

约束

读者类别编号

char

2

主键,'01'/'02'

读者类别名

char

15

'普通读者'/'高级读者'

可借阅最大数目

smallint

3/6

持有最长期限

smallint

30/60

借阅证期限

smallint

1

表3-2

 

3、书籍详细信息

字段名

数据类型

长度

约束

图书ID

char

10

主键

ISBN

char

20

Notnull

书籍名

char

30

Notnull

书籍类别

Char

10

Notnull

作者

char

15

Notnull

出版社

char

30

Notnull

定价

money

Notnull

出版日期

date

Notnull

登记日期

date

Notnull

状态

bit

Notnull

表3-3

4、罚款类别详细信息

字段名

数据类型

长度

约束

罚款类别编号

char

5

主键

罚款类别名

char

15

Notnull

罚款原因

char

30

Notnull

罚款金额

money

null

表3-4

5、借阅详细信息

字段名

数据类型

长度

约束

ID

int

主键,自增

图书ID

char

10

Notnull

读者ID

char

10

Notnull

ISBN

char

20

Notnull

借走日期

date

Notnull

归还日期

date

null

应还日期

date

Notnull

罚款类别编号

char

5

null

处理状态

bit

null

表3-5

第4章数据库物理结构设计

数据库物理设计:

设计数据库的物理结构,根据数据库的逻辑结构来选定RDBMS(如Oracle、Sybase等),并设计和实施数据库的存储结构、存取方式等。

数据库物理设计是后半段。

将一个给定逻辑结构实施到具体的环境中时,逻辑数据模型要选取一个具体的工作环境,这个工作环境提供了数据存储结构与存取方法,这个过程就是数据库的物理设计。

物理结构依赖于给定的DBMS和和硬件系统,因此设计人员必须充分了解所用RDBMS的内部特征、存储结构、存取方法。

数据库的物理设计通常分为两步,第一,确定数据库的物理结构,第二,评价实施空间效率和时间效率

确定数据库的物理结构包含下面四方面的内容:

1、确定数据的存储结构

2、设计数据的存取路径

3、确定数据的存放位置

4、确定系统配置

数据库物理设计过程中需要对时间效率、空间效率、维护代价和各种用户要求进行权衡,选择一个优化方案作为数据库物理结构。

在数据库物理设计中,最有效的方式是集中地存储和检索对象。

第5章 数据库实施与测试

5.1数据库实施

5.1.1数据库及数据库对象建立

(1)--建立读者类别表

createtable读者类别

读者类别编号char

(2)primarykeynotnullcheck(读者类别编号in('01','02')),

读者类别名char(15)notnullcheck(读者类别名in('普通读者','高级读者')),

可借阅最大数目smallintnotnullcheck(可借阅最大数目in(3,6)),

持有最长期限smallintnotnullcheck(持有最长期限in(30,60)),

借阅证期限smallintnotnullcheck(借阅证期限in

(1))

(2)--建立读者表

createtable读者

读者IDchar(10)notnullprimarykey,

密码char(20)notnull,

姓名char(15)notnull,

性别char

(2)notnullcheck(性别in('男','女')),

类别编号char

(2)notnullforeignkey(类别编号)references读者类别(读者类别编号),

单位char(30)null,

办证日期datenotnull,

联系方式char(20)null

(3)--建立书籍表

createtable书籍

图书IDchar(10)notnullprimarykey,

ISBNchar(20)notnull,

书籍名char(30)notnull,

书籍类别char(10)notnull,

作者char(15)notnull,

出版社char(30)notnull,

定价moneynotnull,

出版日期datenotnull,

登记日期datenotnull,

状态bitnotnull

(4)--建立罚款类别表

createtable罚款类别

罚款类别编号char(5)notnullprimarykey,

罚款类别名char(15)notnull,

罚款原因char(30)notnull,

罚款金额moneynull

(5)--建立借阅信息表

createtable借阅信息

idintprimarykeyidentity(1,1),--id自增

图书IDchar(10)notnull,

读者IDchar(10)notnull,

ISBNchar(20)notnull,

借走日期datenotnull,

归还日期datenull,

应还日期datenotnull,

罚款类别编号char(5)null,

处理状态bitnull

foreignkey(图书ID)references书籍(图书ID),

foreignkey(读者ID)references读者(读者ID),

foreignkey(罚款类别编号)references罚款类别(罚款类别编号)

5.1.2数据存入数据库

读者信息由存储过程随机产生100条数据,代码略

书籍信息由存储过程随机产生100条数据,代码略

5.1.3自定义函数

--根据读者ID判断读者证是否过期,判断依据:

将读者办证日期加上一年,再和当前系统时间比较

alterfunctioncheck_reader_date(@reader_idchar(10))returnsbit

as

begin

declare@reader_register_datedate,@resultbit

set@reader_register_date=(select办证日期from读者where读者ID=@reader_id)

if(Dateadd(year,1,@reader_register_date)

--如果过期,返回bit=0

set@result=0

else

set@result=1

return@result

end

--测试check_reader_date()

declare@resultbit

set@result=dbo.check_reader_date('1000002')

if(@result=1)

print'没过期'

else

print'过期'

--判断读者已借的书籍数量是否超出限制

createfunctioncheck_reader_books(@reader_idchar(10))returnsbit

as

begin

declare@resultbit--记录返回值

declare@up_book_numsmallint--记录读者最高可借的书籍数量

declare@borrow_numsmallint--记录读者已借的书籍数量

set@up_book_num=(select可借阅最大数目

fromdbo.读者类别

where读者类别编号=(select类别编号

fromdbo.读者

where读者ID=@reader_id

set@borrow_num=(selectcount(*)fromdbo.借阅信息

where读者ID=@reader_idand处理状态=0)

if(@borrow_num<@up_book_num)

--可以再借

set@result=1

else

--所借数目达到上限

set@result=0

return@result

end

--判断读者是否有罚款没有交

alterfunctioncheck_ticket(@reader_idchar(10))returnsbit

as

begin

declare@resultbit

if((selectcount(*)fromdbo.借阅信息where读者ID=@reader_idand罚款类别编号!

=null)=0)

--如果借阅信息里读者的罚款记录为空,返回

set@result=1

else

set@result=0

return@result

end

--selectdbo.check_ticket('1000043')

--根据读者ID获得图书应该归还的日期

createfunctionlend_date(@reader_idchar(10))returnsdate

as

begin

declare@datedate

declare@up_borrow_datesmallint

set@up_borrow_date=(select持有最长期限fromdbo.读者类别

where读者类别编号=(select类别编号fromdbo.读者

where读者ID=@reader_id))

set@date=Dateadd(day,@up_borrow_date,cast(getdate()asdate))

return@date

end

 

第6章 数据库完整性设计

6.1主键及唯一性索引

主键及索引

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 交规考试

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

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