图书管理系统需求设计数据库课程设计Word格式文档下载.docx

上传人:b****5 文档编号:19791408 上传时间:2023-01-10 格式:DOCX 页数:16 大小:309.86KB
下载 相关 举报
图书管理系统需求设计数据库课程设计Word格式文档下载.docx_第1页
第1页 / 共16页
图书管理系统需求设计数据库课程设计Word格式文档下载.docx_第2页
第2页 / 共16页
图书管理系统需求设计数据库课程设计Word格式文档下载.docx_第3页
第3页 / 共16页
图书管理系统需求设计数据库课程设计Word格式文档下载.docx_第4页
第4页 / 共16页
图书管理系统需求设计数据库课程设计Word格式文档下载.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

图书管理系统需求设计数据库课程设计Word格式文档下载.docx

《图书管理系统需求设计数据库课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《图书管理系统需求设计数据库课程设计Word格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。

图书管理系统需求设计数据库课程设计Word格式文档下载.docx

(1)图书信息管理模块

主要实现对图书基本信息的录入、查询修改、删除操作。

录入图书的图书号、图书名、作者、出版社、出版时间、现有量等信息,以图书编码为唯一关键字。

使用查询功能查询出需要修改/删除的记录,然后进行修改/删除操作,修改时要保证图书号的唯一性。

图书下架功能将下架图书的基本信息删除。

(2)读者信息管理模块

实现读者信息的录入、查询、修改和删除操作。

录入读者姓名、借书卡号、电话、单位、性别等信息,以借书卡号为唯一关键字。

使用查询功能查询出需要修改/删除的记录,然后进行修改/删除操作,修改时要保证借

书卡号的唯一性。

图书卡的注销是借书卡持有者将不再在此图书馆借阅书籍,其借书卡将不能继续使用,而被注销,从而删除关于此读者的全部信息。

(3)借还书信息管理模块

实现借书、还书的手续办理、信息查询、续签及借书超期处理等操作。

借书手续要先输入借书卡号,检查是否有未还图书记录和借书数量的检查.若符合则添加借书卡号,书号及借书时间等信息。

借书记录查询及续签:

输入借记卡号可获得其相关信息并可办理续签手续。

还书手续:

输入借记卡号,删除此借书记录,并将还回的图书记录到未借出类别中。

3、代码设计:

--录入(图书)

CStringstrSql;

CStringdateTime=publishTime.Format(_T("

%Y-%m-%d"

));

strSql.Format("

INSERTINTO

Book_info(Book_id,Book_name,Writer,Publish,PublishTime,Introduction,Book_count)

VALUES('

%s'

'

%s)"

book_id,book_name,writer,publish,date

Time,introduction,book_count);

--查询及修改(图书)

--图书信息查询

CStringsqlstr;

sqlstr.Format("

SELECTCard_id,Book_id,Lendtime,expectBacktimeFROMBorrow_cardWHEREBook_id='

"

book_id_Bo);

m_pRecordset.CreateInstance("

ADODB.Recordset"

);

//为Recordset对象创建实例_bstr_tstrCmd=(_bstr_t)sqlstr;

m_pRecordset=m_pConnection->

Execute(strCmd,&

RecordsAffected,ADODB:

:

adCmdText);

_variant_tvCard_id,vBook_id,vLendtime,vexpectBacktime;

try

{

while(!

m_pRecordset->

adoEOF)

vCard_id=m_pRecordset->

GetCollect(_variant_t((long)0));

GetCollect("

Card_id"

vBook_id=m_pRecordset->

Book_id"

vLendtime=m_pRecordset->

Lendtime"

vexpectBacktime=m_pRecordset->

expectBacktime"

CStringstrtemp;

if(vCard_id.vt!

=VT_NULL)

strtemp+="

"

;

strtemp+=(LPCTSTR)(_bstr_t)vCard_id;

}

if(vBook_id.vt!

strtemp+=(LPCTSTR)(_bstr_t)vBook_id;

if(vLendtime.vt!

strtemp+=(LPCTSTR)(_bstr_t)vLendtime;

if(vexpectBacktime.vt!

strtemp+=(LPCTSTR)(_bstr_t)vexpectBacktime;

list_Bo.AddString(strtemp);

list_Bo.AddString("

\n"

MoveNext();

catch(_com_error&

e)

AfxMessageBox(e.Description());

--图书信息修改

UPDATEBorrow_cardSET

expectBacktime=expectBacktime+15WHEREBook_id='

book_id_X);

_bstr_tstrCmd=(_bstr_t)sqlstr;

m_pConnection->

--删除(图书)

if(!

D_bookname.IsEmpty())

UPDATEBook_infoSETBook_count=0WHEREBook_name='

D_bookname);

else

UPDATEBook_infoSETBook_count=0WHEREBook_id='

D_bookid);

--续签:

--还书手续办理:

CStringdateTime;

dateTime=back_time_B.Format(_T("

UPDATEBorrow_cardSETBacktime='

WHEREBook_id='

ANDCard_id='

dateTime,book_id_B,card_id_B);

_bstr_tstrCmd=(_bstr_t)strSql;

UPDATEBook_infoSETBook_count=Book_count+1WHEREBook_id='

book_id_B);

//图书超期检测

//为Recordset对象创建实例COleDateTimenow;

now=COleDateTime:

GetCurrentTime();

CStringsqlStr;

sqlStr.Format("

SELECT*FROMBorrow_cardWHERECard_id='

ANDBook_id='

ANDBacktimeisNOTNULLAND

expectBacktime<

Backtime"

card_id_B,book_id_B);

_bstr_tstrCmd=(_bstr_t)sqlStr;

//图书超期处理

intdays(0),tempDays(0);

COleDateTimebackDay,expectBackday;

COleDateTimeSpantimeSpan;

_variant_tvBackDays,vExpectBackDays;

vBackDays=m_pRecordset->

GetCollect(_variant_t((long)3));

vExpectBackDays=m_pRecordset->

GetCollect(_variant_t((long)4));

backDay.ParseDateTime((LPCTSTR)(_bstr_t)vBackDays);

expectBackday.ParseDateTime((LPCTSTR)(_bstr_t)vExpectBackDays);

timeSpan=expectBackday-backDay;

tempDays=timeSpan.GetDays();

CStringmesStr;

floattempYuan=tempDays*0.1;

mesStr.Format("

借书卡号:

%s,借书:

%s,超期%d天应缴罚款%.2f元

card_id_B,book_id_B,tempDays,tempYuan);

AfxMessageBox(mesStr);

days+=tempDays;

//还书后删除借书记录

读者

图书

DELETEFROMBorrow_cardWHEREBook_id='

ANDCard_id='

book_id_B,card_id_B);

4、数据库概念结构设计

借书记录查询及续签根据上面的设计规划出的实体有:

图书实体、读者实体、借还书实体。

它们之间的关系如下图。

借出时间

图书名

借书卡号

图书号

作者

姓名

性别

借还书

单位

现有量

出版时间

电话号码

内容简介

出版社

归还时间

5、数据库逻辑结构设计

现在需要将上面的数据库概念结构转化为SQLServer2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。

在上面的实体及实体之间的基础上,形成数据库中的表及各个表之间的关系。

图书管理系统数据库中各个表格的设计如下面几个表所示。

每个

KEY

表表示数据库中的一个数据表。

图书信息表(Book_info)

序号

字段号

字段含义

字段类型

字段长度

小数位

允许空

1

Book_id

书号

Varchar

14

NOTNULL

2

Book_name

书名

30

3

Writer

20

NULL

4

Publish

5

PublishTime

Datetime

6

Introductio

n

TEXT

500

7

Book_count

图书数量

INTEGER

借书卡信息表(Reader_info)

Card_id

8

Name

Sex

Unit

Email

电子邮件

Phone

电话

15

借书登记卡信息(BorrowCard_info)

Lendtime

Backtime

Expect_Ba

ckTime

预期归还时间

6、数据库及基本表结构定义--图书信息表

CREATETABLEBook_info

(Book_idVarchar(14)PRIMARYKEY,

Book_nameVarchar(30)NOTNULL,

WriterVarchar(20),

PublishVarchar(20),

PublishTimeDATETIME,

IntroductionTEXT,

Book_countINTEGERNOTNULL)

--读者信息表

CREATETABLEReader_info

(Card_idVarchar(8)PRIMARYKEY,

NameVARCHAR(8)NOTNULL,

WriterVarchar(8),

SexVARCHAR

(2),

UnitVARCHAR(20),

EmailVARCHAR(64),

PhoneVARCHAR(20))

--借书信息表

CREATETABLEBorrow_card

(Card_idVARCHAR(8)NOTNULL,

Book_idVARCHAR(14)NOTNULL,

LendtimeDATETIME,

expectBacktimeDATETIME,

BacktimeDATETIME,

PRIMARYKEY(Book_id,Card_id),

FOREIGNKEY(Book_id)REFERENCESBook_info(Book_id)ONDELETECASCADEONUPDATECASCADE,FOREIGNKEY(Card_id)REFERENCESReader_info(Card_id)ONDELETECASCADEONUPDATECASCADE)

7、系统总体设计

在编写这个程序的时候,我们使用了OFFICE办公软件中的重要组件access创建数据库,visualstudio2005的环境中编写了这个程序。

在为期10天的数据库课程设计中,我们先对整个程序做了主题构思,确立各个模块,逐一完成他们,从而完成整个程序。

图书管理员可以实现图书录入、查询、下架,借书记录添加、查询、修改以及还书等操作。

完成主体构思以后我们正式开始制作这个程序。

我们把数据库命名为BOOK(即图书管理系统),制作了三张数据表,在制作界面的时候我们尽量考虑到界面美观,在这方面基本没有遇到问题,然而在书写代码的时候却出现了很多的问题。

8、总结

软件特点:

使用时用户必须先登录才可进行操作,未注册的用户必须先注册。

操作时用户通过对话框按键来完成所需求的功能

遇到问题:

1)数据库创建好图书信息表,读者信息表及借书信息表后,在程序中添加创用户表时,数据库中不会创建这个表。

2)创建了用户表后在对其进行修改和添加时,总是提示语法错误。

解决方法:

1)自己在数据库中手动添加的用户表

2)在用户表的修改和添加语句中把用户表中属性名用[]括起来。

改进想法:

1)对数据库进行更严格的密码保护,添加数据库密码。

收获:

在这次的数据库实习中,在从开始的设计到后面的编程的过程中收获较多。

体验到了先设计再编程的诸多好处,例如在写程序时可以有一个比较清晰的思路,知道有哪些类,需要实现哪些功能等。

也体验了数据库和程序结合的编程应用,学了程序与数据库链接的几种方式,并在程序中运用。

再次巩固了数据库语句的应用。

感受较深的还是在写程序前的各种分析及设计,不同的想法就会产生不同的解决方案。

把自己想成用户,或是设计人员去和别人交流思想,改进设计,才能等到用户满意的完善的软件系统,设计人员才能清晰的去实现整体的需求。

所以这次最大的收获应该是编程前的设计,要清楚的知道自己需要哪些类才能将功能全面实现,在着手程序才是最有效率的编程步骤。

9、附录

规格说明书

用户使用手册(首次登陆可用:

用户名:

gaojj密码:

123)

运行程序,就会出现用户登录界面,用户可选择登录或注册,注册则进入注册界面进行新用户的注册操作。

选择登录就可进入到功能选择界面,可根据用户需求选择功能按钮。

用户登陆界面

用户注册界面

选择操作界面

将新书信息按属性名对应添加即可。

输入书名可获得为此书名的图书的相关信息,并在下面的列表中显示。

修改只需将图书号添加,然后填写要修改的属性信息即可。

用户可根据不同需求,选择填入图书名或图书号点击删除按钮,图书信息。

将新读者信息按属性名对应添加即可。

输入借书卡号可获得此借书卡持有者的相关信息,并在下面的列表中显示。

修改只需将借书卡号添加,然后填写要修改的属性信息即可。

输入借书卡号,可将此借书卡的相关信息删除。

用户只需输入借书卡号和图书号即可。

输入图书号即可查询该图书的借阅情况,同样输入图书号可办理续借手续。

输入借书卡号和图书号即可办理还书手续,若图书借阅超期则会显示超期时间和罚款钱数。

图书录入界面

图书信息查询及修改界面

图书信息查询

借书记录查询及图书续借的界面

借书卡信息查询及修改界面

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

当前位置:首页 > 解决方案 > 其它

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

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