数据库课程设计图书管理系统.docx

上传人:b****6 文档编号:3697493 上传时间:2022-11-24 格式:DOCX 页数:26 大小:444.94KB
下载 相关 举报
数据库课程设计图书管理系统.docx_第1页
第1页 / 共26页
数据库课程设计图书管理系统.docx_第2页
第2页 / 共26页
数据库课程设计图书管理系统.docx_第3页
第3页 / 共26页
数据库课程设计图书管理系统.docx_第4页
第4页 / 共26页
数据库课程设计图书管理系统.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

数据库课程设计图书管理系统.docx

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

数据库课程设计图书管理系统.docx

数据库课程设计图书管理系统

德州学院信息管理学院

课程设计报告

 

实习名称专业综合实习(数据库)

设计题目高校图书信息系统数据库的设计与应用

实习时间2016.12.05--2016.12.16

专业班级14级网络工程(系统开发与管理)

指导老师鲁燕

学生姓名黄岩

学号************

教学单位(盖章)

二〇一六年十二月十六日

1开发背景

随着我国市场经济的迅速发展和人们生活水平的不断提高,高校图书馆藏书的数目逐渐增大,这也挑战了图书管理方面的技术,以前的人工管理方式已经不再适应现在的环境,取而代之的是先进的图书管理系统,通过使用数据库创建的图书管理系统可以让管理人员方便而快捷的进行管理、查询、借阅、录入等工作。

图书管理工作面对大量的可模块化处理的信息,是当今信息革命的一个重要阵地。

我开发的图书管理信息系统就是采用现代化的信息管理方式代替手工管理方式,提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。

2功能描述

本系统需要完成的功能主要有6部分:

(1)实现对图书信息的修改,包括定义、查询、更新、删除等操作图书信息包括图书编号,书名,作者姓名,出版社,出版日期,在库数,所在书库。

入库日期,出库日期等。

(2)实现对借阅者信息的修改,包括定义、查询、更新、删除等操作借阅者信息包括借书卡号,姓名,班级,院系等。

(3)实现借书功能。

借书信息的输入,包括借书卡号,图书编号,借出日期,到期日期,拖欠日期,罚款数目等。

借书信息的查询,修改,包括图书编号,借书卡号,借阅者姓名,图书名称,借出日期等。

(4)实现还书功能

还书信息的输入,包括图书编号,借书卡号,借阅者姓名,图书名称,借出日期等。

还书信息的查询和修改,包括还书信息编号,读书编号,读者姓名,书籍编号,书籍名称,借书日期,还书日期,备注信息等。

(5)实现销书功能对不符合要求的图书进行出库处理,包括图书编号,书名,作者姓名,出版社,出版日期,在库数,所在书库。

入库日期,出库日期等。

(6)实现对管理员信息的修改,包括定义、查询、更新、删除等操作管理员信息包括编号,姓名,负责书库等。

图2.1系统功能模块结构

3数据分析

3.1数据流图

3.1.1总数据流图

图3.1总数据流图

3.1.2入库处理

图3.2入库处理

3.1.3借书处理

图3.3借书处理

3.1.4还书处理

图3.4还书处理

3.2数据字典

表3.1借阅者姓名

数据项名:

借阅者姓名

数据项含义说明:

借阅者姓名

别名:

数据类型:

字符型

长度:

10

取值范围:

任意字符

取值含义:

借阅者姓名

表3.2借书卡号

数据项名:

借书卡号

数据项含义说明:

借阅者借书卡号

别名:

数据类型:

字符型

长度:

10

取值范围:

0000000000-9999999999

取值含义:

借阅者借书卡号

表3.3图书编号

数据项名:

图书编号

数据项含义说明:

图书编号

别名:

借书编码

数据类型:

字符型

长度:

10

取值范围:

0000000000-9999999999

取值含义:

图书编号

表3.4书名

数据项名:

书名

数据项含义说明:

书名

别名:

数据类型:

字符型

长度:

20

取值范围:

任意字符

取值含义:

图书名称

表3.5作者名称

数据项名:

作者名称

数据项含义说明:

作者名称

别名:

数据类型:

字符型

长度:

10

取值范围:

任意字符

取值含义:

作者名称

表3.5入库日期

数据项名:

入库日期

数据项含义说明:

图书入库日期

别名:

数据类型:

字符型

长度:

8

取值范围:

00000000-99999999

取值含义:

YYYY-MM-DD

表3.6所存书库

数据项名:

所存书库

数据项含义说明:

图书所存书库

别名:

数据类型:

字符型

长度:

10

取值范围:

任意字符

取值含义:

图书所存书库名

表3.7在库量

数据项名:

在库量

数据项含义说明:

图书在库量

别名:

数据类型:

字符型

长度:

5

取值范围:

00000-99999

取值含义:

图书在库数量

表3.8出版日期

数据项名:

出版日期

数据项含义说明:

图书出版日期

别名:

数据类型:

字符型

长度:

8

取值范围:

0000000-99999999

取值含义:

YYYY-MM-DD

表3.8到期日期

数据项名:

到期日期

数据项含义说明:

借阅到期日期

别名:

数据类型:

字符型

长度:

8

取值范围:

00000000-99999999

取值含义:

图书借阅到期日期

4概念模型设计

4.1图书信息模块

图4.1图书信息模块

4.2借阅者信息模块

图4.2借阅者信息模块

4.3图书管理员信息模块

图8图书管理员信息模块

4.4销书单模块

图4.3销书单模块

4.5实体及其联系图

图4.4实体及其联系图

4.6完整的E-R图

图4.5完整的E-R图

 

5逻辑模型设计和优化

从理论“E-R模型”到理论“关系模型”的整理转换,通过E-R模型到关系模型的转化,可以得到如下关系模式:

借阅者(借书卡号,姓名,班级,院系);

管理员(编号,姓名,负责书库);

图书(图书编号,书名,作者姓名,出版社,出版日期,在库数,所在书库,入库日期,出库日期);

借阅(借书卡号,图书编号,借出日期,到期日期,拖欠日期,罚款数目)

销书清单(管理员编号,图书编号,图书名称,销书日期,销书数量);

管理(管理员编号,借书卡号,图书编号)。

6物理设计和实施

6.1数据库建立

6.1.1tb_bookInfo

USE[db_library]

GO

IFEXISTS(SELECT*FROMsys.foreign_keysWHEREobject_id=OBJECT_ID(N'[dbo].[FK_TB_BOOKI_REFERENCE_TB_BOOKT]')ANDparent_object_id=OBJECT_ID(N'[dbo].[tb_bookInfo]'))

ALTERTABLE[dbo].[tb_bookInfo]DROPCONSTRAINT[FK_TB_BOOKI_REFERENCE_TB_BOOKT]

GO

USE[db_library]

GO

/******Object:

Table[dbo].[tb_bookInfo]ScriptDate:

12/05/201620:

40:

07******/

IFEXISTS(SELECT*FROMsys.objectsWHEREobject_id=OBJECT_ID(N'[dbo].[tb_bookInfo]')ANDtypein(N'U'))

DROPTABLE[dbo].[tb_bookInfo]

GO

USE[db_library]

GO

/******Object:

Table[dbo].[tb_bookInfo]ScriptDate:

12/05/201620:

40:

07******/

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

SETANSI_PADDINGON

GO

CREATETABLE[dbo].[tb_bookInfo](

[ISBN][varchar](13)NOTNULL,

[typeId][int]NOTNULL,

[bookname][varchar](40)NOTNULL,

[writer][varchar](21)NOTNULL,

[translator][varchar](30)NULL,

[publisher][varchar](50)NOTNULL,

[date][smalldatetime]NOTNULL,

[price][money]NOTNULL,

CONSTRAINT[PK_TB_BOOKINFO]PRIMARYKEYNONCLUSTERED

[ISBN]ASC

)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

SETANSI_PADDINGOFF

GO

ALTERTABLE[dbo].[tb_bookInfo]WITHCHECKADDCONSTRAINT[FK_TB_BOOKI_REFERENCE_TB_BOOKT]FOREIGNKEY([typeId])

REFERENCES[dbo].[tb_bookType]([id])

UPDATE[db_library].[dbo].[tb_bookInfo]

SET[ISBN]=

[typeId]=

[bookname]=

[writer]=

[translator]=

[publisher]=

[date]=

[price]=

WHERE<搜索条件,,>

GO

DELETEFROM[db_library].[dbo].[tb_bookInfo]

WHERE<搜索条件,,>

GO

6.1.2tb_bookType

USE[db_library]

GO

/******Object:

Table[dbo].[tb_bookType]ScriptDate:

12/05/201620:

44:

15******/

IFEXISTS(SELECT*FROMsys.objectsWHEREobject_id=OBJECT_ID(N'[dbo].[tb_bookType]')ANDtypein(N'U'))

DROPTABLE[dbo].[tb_bookType]

GO

USE[db_library]

GO

/******Object:

Table[dbo].[tb_bookType]ScriptDate:

12/05/201620:

44:

15******/

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

SETANSI_PADDINGON

GO

CREATETABLE[dbo].[tb_bookType](

[id][int]IDENTITY(1,1)NOTNULL,

[typeName][varchar](20)NOTNULL,

[days][int]NULL,

[fk][float]NULL,

CONSTRAINT[PK_TB_BOOKTYPE]PRIMARYKEYNONCLUSTERED

[id]ASC

)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

INSERTINTO[db_library].[dbo].[tb_bookType]

([typeName]

[days]

[fk])

VALUES

GO

UPDATE[db_library].[dbo].[tb_bookType]

SET[typeName]=

[days]=

[fk]=

WHERE<搜索条件,,>

GO

DELETEFROM[db_library].[dbo].[tb_bookType]

WHERE<搜索条件,,>

GO

6.2数据库初始化连接

6.2.1Library_java

/**主窗体*/

publicclassLibraryextendsJFrame{

privatestaticfinalJDesktopPaneDESKTOP_PANE=newJDesktopPane();

publicstaticvoidmain(String[]args){

try{

UIManager.setLookAndFeel(UIManager

.getSystemLookAndFeelClassName());

newBookLoginIFrame();//登录窗口

}catch(Exceptionex){

publicLibrary(){

super();

setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

//setModalExclusionType(ModalExclusionType.APPLICATION_EXCLUDE);

setLocationByPlatform(true);

setSize(800,600);

setTitle("图书馆管理系统");

JMenuBarmenuBar=createMenu();//调用创建菜单栏的方法

setJMenuBar(menuBar);

JToolBartoolBar=createToolBar();//调用创建工具栏的方法

getContentPane().add(toolBar,BorderLayout.NORTH);

finalJLabellabel=newJLabel();

label.setBounds(0,0,0,0);

label.setIcon(null);//窗体背景

DESKTOP_PANE.addComponentListener(newComponentAdapter(){

publicvoidcomponentResized(finalComponentEvente){

Dimensionsize=e.getComponent().getSize();

label.setSize(e.getComponent().getSize());

label.setText("

+size.height+"src='"

+this.getClass().getResource("/backImg.jpg")

+"'>");

}

});

DESKTOP_PANE.add(label,newInteger(Integer.MIN_VALUE));

getContentPane().add(DESKTOP_PANE);

}

*创建工具栏*

*@returnJToolBar

privateJToolBarcreateToolBar(){//创建工具栏的方法

JToolBartoolBar=newJToolBar();

toolBar.setFloatable(false);

toolBar.setBorder(newBevelBorder(BevelBorder.RAISED));

JButtonbookAddButton=newJButton(MenuActions.BOOK_ADD);

//ImageIconicon=CreatecdIcon.add("bookAdd.bmp");//创建图标方法

ImageIconicon=newImageIcon(Library.class.getResource("/bookAddtb.jpg"));//添加菜单栏图标

bookAddButton.setIcon(icon);

bookAddButton.setHideActionText(true);

//bookAddButton.setToolTipText("fjdkjfk");//图片上提示字

toolBar.add(bookAddButton);

//toolBar.add(MenuActions.BOOK_MODIFY);

//在工具栏中添加图书修改与删除图标

JButtonbookModiAndDelButton=newJButton(MenuActions.BOOK_MODIFY);

ImageIconbookmodiicon=CreatecdIcon.add("bookModiAndDeltb.jpg");//创建图标方法

bookModiAndDelButton.setIcon(bookmodiicon);

bookModiAndDelButton.setHideActionText(true);

toolBar.add(bookModiAndDelButton);

JButtonbookTypeAddButton=newJButton(MenuActions.BOOKTYPE_ADD);

ImageIconbookTypeAddicon=CreatecdIcon.add("bookTypeAddtb.jpg");//创建图标方法

bookTypeAddButton.setIcon(bookTypeAddicon);

bookTypeAddButton.setHideActionText(true);

toolBar.add(bookTypeAddButton);

JButtonbookBorrowButton=newJButton(MenuActions.BORROW);

ImageIconbookBorrowicon=CreatecdIcon.add("bookBorrowtb.jpg");//创建图标方法

bookBorrowButton.setIcon(bookBorrowicon);

bookBorrowButton.setHideActionText(true);

toolBar.add(bookBorrowButton);

JButtonbookOrderButton=newJButton(MenuActions.NEWBOOK_ORDER);

ImageIconbookOrdericon=CreatecdIcon.add("bookOrdertb.jpg");//创建图标方法

bookOrderButton.setIcon(bookOrdericon);

bookOrderButton.setHideActionText(true);

toolBar.add(bookOrderButton);

JButtonbookCheckButton=newJButton(MenuActions.NEWBOOK_CHECK_ACCEPT);

ImageIconbookCheckicon=CreatecdIcon.add("newbookChecktb.jpg");//创建图标方法

bookCheckButton.setIcon(bookCheckicon);

bookCheckButton.setHideActionText(true);

toolBar.add(bookCheckButton);

JButtonreaderAddButton=newJButton(MenuActions.READER_ADD);

ImageIconreaderAddicon=CreatecdIcon.add("readerAddtb.jpg");//创建图标方法

readerAddButton.setIcon(readerAddicon);

readerAddButton.setHideActionText(true);

toolBar.add(readerAddButton);

JButtonreaderModiAndDelButton=newJButton(MenuActions.READER_MODIFY);

ImageIconreaderModiAndDelicon=CreatecdIcon.add("readerModiAndDeltb.jpg");//创建图标方法

readerModiAndDelButton.setIcon(readerModiAndDelicon);

readerModiAndDelButton.setHideActionText(true);

toolBar.add(readerModiAndDelButton);

JButtonExitButton=newJButton(MenuActions.EXIT);

ImageIconExiticon=CreatecdIcon.add("exittb.jpg");//创建图标方法

ExitButton.setIcon(Exiticon);

ExitButton.setHideActionText(true);

toolBar.add(ExitButton);

returntoolBar;

}

*创建菜单栏*/

privateJMenuBarcreateMenu(){//创建菜单栏的方法

JMenuBarmenuBar=newJMenuBar();

JMenubookOrderMenu=newJMenu();//初始化新书订购管理菜单

bookOrderMenu.setIcon(CreatecdIcon.add("xsdgcd.jpg"));

bookOrderMenu.add(MenuActions.NEWBOOK_ORDER);

bookOrderMenu.add(MenuActions.NEWBOOK_CHECK_ACCEPT);

JMenubaseMenu=newJMenu();//初始化基础数据维护菜单

menuBar.add(baseMenu);//添加基础数据维护菜单到菜单栏

menuBar.add(bookOrderMenu);//添加新书订购管理菜单到菜单栏

menuBar.add(borrowManageMenu);//添

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

当前位置:首页 > 高中教育 > 小学教育

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

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