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

付费下载

下载本文档

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

文档简介

德州学院信息管理学院课程设计报告实习名称 专业综合实习(数据库) 设计题目高校图书信息系统数据库的设计与应用 实习时间 2016.12.05-2016.12.16 专业班级 14级网络工程(系统开发与管理) 指导老师 鲁燕 学生姓名 黄岩 学 号 201401003017 教学单位 (盖章) 二一六 年 十二 月 十六 日德州学院 信息管理学院 2013级 网络开发管理专业 “数据库系统原理”课程设计目 录1 开发背景12 功能描述13 数据分析23.1 数据流图23.1.1总数据流图23.1.2入库处理33.1.3借书处理33.1.4还书处理43.2 数据字典44 概念模型设计74.1 图书信息模块74.2 借阅者信息模块74.3 图书管理员信息模块84.4 销书单模块84.5 实体及其联系图94.6 完整的E-R图105 逻辑模型设计和优化116 物理设计和实施116.1 数据库建立116.1.1TB_BOOKINFO116.1.2TB_BOOKTYPE136.2 数据库初始化连接156.2.1LIBRARY_JAVA156.2.2LOGIN_JAVA186.3 程序测试216.3.1登入216.3.2主界面216.3.3读者信息修改与删除226.3.4图书类别修改226.3.5图书信息修改236.3.6图书验收236.3.7图书借阅管理247 课程设计心得体会24参考文献25iii德州学院 信息管理学院 2014级 网络开发管理专业 “数据库系统原理”课程设计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_bookInfoUSE db_libraryGOIF EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(Ndbo.FK_TB_BOOKI_REFERENCE_TB_BOOKT) AND parent_object_id = OBJECT_ID(Ndbo.tb_bookInfo)ALTER TABLE dbo.tb_bookInfo DROP CONSTRAINT FK_TB_BOOKI_REFERENCE_TB_BOOKTGOUSE db_libraryGO/* Object: Table dbo.tb_bookInfo Script Date: 12/05/2016 20:40:07 */IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(Ndbo.tb_bookInfo) AND type in (NU)DROP TABLE dbo.tb_bookInfoGOUSE db_libraryGO/* Object: Table dbo.tb_bookInfo Script Date: 12/05/2016 20:40:07 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE dbo.tb_bookInfo(ISBN varchar(13) NOT NULL,typeId int NOT NULL,bookname varchar(40) NOT NULL,writer varchar(21) NOT NULL,translator varchar(30) NULL,publisher varchar(50) NOT NULL,date smalldatetime NOT NULL,price money NOT NULL, CONSTRAINT PK_TB_BOOKINFO PRIMARY KEY NONCLUSTERED (ISBN ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYGOSET ANSI_PADDING OFFGOALTER TABLE dbo.tb_bookInfo WITH CHECK ADD CONSTRAINT FK_TB_BOOKI_REFERENCE_TB_BOOKT FOREIGN KEY(typeId)REFERENCES dbo.tb_bookType (id)UPDATE db_library.dbo.tb_bookInfoSET ISBN = ,typeId = ,bookname = ,writer = ,translator = ,publisher = ,date = ,price = WHERE GODELETE FROM db_library.dbo.tb_bookInfoWHERE GO6.1.2tb_bookTypeUSE db_libraryGO/* Object: Table dbo.tb_bookType Script Date: 12/05/2016 20:44:15 */IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(Ndbo.tb_bookType) AND type in (NU)DROP TABLE dbo.tb_bookTypeGOUSE db_libraryGO/* Object: Table dbo.tb_bookType Script Date: 12/05/2016 20:44:15 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE dbo.tb_bookType(id int IDENTITY(1,1) NOT NULL,typeName varchar(20) NOT NULL,days int NULL,fk float NULL, CONSTRAINT PK_TB_BOOKTYPE PRIMARY KEY NONCLUSTERED (id ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYGOINSERT INTO db_library.dbo.tb_bookType (typeName,days,fk)VALUES (,)GOUPDATE db_library.dbo.tb_bookTypeSET typeName = ,days = ,fk = WHERE GODELETE FROM db_library.dbo.tb_bookType WHERE GO6.2 数据库初始化连接6.2.1Library_java/*主窗体 */public class Library extends JFrame private static final JDesktopPane DESKTOP_PANE = new JDesktopPane();public static void main(String args) try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName();new BookLoginIFrame();/登录窗口 catch (Exception ex) public Library() super();setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);/setModalExclusionType(ModalExclusionType.APPLICATION_EXCLUDE);setLocationByPlatform(true);setSize(800, 600);setTitle(图书馆管理系统);JMenuBar menuBar = createMenu(); / 调用创建菜单栏的方法setJMenuBar(menuBar);JToolBar toolBar = createToolBar(); / 调用创建工具栏的方法getContentPane().add(toolBar, BorderLayout.NORTH);final JLabel label = new JLabel();label.setBounds(0, 0, 0, 0);label.setIcon(null); / 窗体背景DESKTOP_PANE.addComponentListener(new ComponentAdapter() public void componentResized(final ComponentEvent e) Dimension size = e.getComponent().getSize();label.setSize(e.getComponent().getSize();label.setText(););DESKTOP_PANE.add(label,new Integer(Integer.MIN_VALUE);getContentPane().add(DESKTOP_PANE);* 创建工具栏* * return JToolBarprivate JToolBar createToolBar() / 创建工具栏的方法JToolBar toolBar = new JToolBar();toolBar.setFloatable(false);toolBar.setBorder(new BevelBorder(BevelBorder.RAISED);JButton bookAddButton=new JButton(MenuActions.BOOK_ADD);/ImageIcon icon=CreatecdIcon.add(bookAdd.bmp);/创建图标方法ImageIcon icon=new ImageIcon(Library.class.getResource(/bookAddtb.jpg);/添加菜单栏图标bookAddButton.setIcon(icon);bookAddButton.setHideActionText(true);/bookAddButton.setToolTipText(fjdkjfk);/图片上提示字toolBar.add(bookAddButton);/toolBar.add(MenuActions.BOOK_MODIFY);/在工具栏中添加图书修改与删除图标JButton bookModiAndDelButton=new JButton(MenuActions.BOOK_MODIFY);ImageIcon bookmodiicon=CreatecdIcon.add(bookModiAndDeltb.jpg);/创建图标方法bookModiAndDelButton.setIcon(bookmodiicon);bookModiAndDelButton.setHideActionText(true);toolBar.add(bookModiAndDelButton);JButton bookTypeAddButton=new JButton(MenuActions.BOOKTYPE_ADD);ImageIcon bookTypeAddicon=CreatecdIcon.add(bookTypeAddtb.jpg);/创建图标方法bookTypeAddButton.setIcon(bookTypeAddicon);bookTypeAddButton.setHideActionText(true);toolBar.add(bookTypeAddButton);JButton bookBorrowButton=new JButton(MenuActions.BORROW);ImageIcon bookBorrowicon=CreatecdIcon.add(bookBorrowtb.jpg);/创建图标方法bookBorrowButton.setIcon(bookBorrowicon);bookBorrowButton.setHideActionText(true);toolBar.add(bookBorrowButton);JButton bookOrderButton=new JButton(MenuActions.NEWBOOK_ORDER);ImageIcon bookOrdericon=CreatecdIcon.add(bookOrdertb.jpg);/创建图标方法bookOrderButton.setIcon(bookOrdericon);bookOrderButton.setHideActionText(true);toolBar.add(bookOrderButton);JButton bookCheckButton=new JButton(MenuActions.NEWBOOK_CHECK_ACCEPT);ImageIcon bookCheckicon=CreatecdIcon.add(newbookChecktb.jpg);/创建图标方法bookCheckButton.setIcon(bookCheckicon);bookCheckButton.setHideActionText(true);toolBar.add(bookCheckButton);JButton readerAddButton=new JButton(MenuActions.READER_ADD);ImageIcon readerAddicon=CreatecdIcon.add(readerAddtb.jpg);/创建图标方法readerAddButton.setIcon(readerAddicon);readerAddButton.setHideActionText(true);toolBar.add(readerAddButton);JButton readerModiAndDelButton=new JButton(MenuActions.READER_MODIFY);ImageIcon readerModiAndDelicon=CreatecdIcon.add(readerModiAndDeltb.jpg);/创建图标方法readerModiAndDelButton.setIcon(readerModiAndDelicon);readerModiAndDelButton.setHideActionText(true);toolBar.add(readerModiAndDelButton);JButton ExitButton=new JButton(MenuActions.EXIT);ImageIcon Exiticon=CreatecdIcon.add(exittb.jpg);/创建图标方法ExitButton.setIcon(Exiticon);ExitButton.setHideActionText(true);toolBar.add(ExitButton);return toolBar;* 创建菜单栏 */private JMenuBar createMenu() / 创建菜单栏的方法JMenuBar menuBar = new JMenuBar();JMenu bookOrderMenu = new JMenu(); / 初始化新书订购管理菜单bookOrderMenu.setIcon(CreatecdIcon.add(xsdgcd.jpg);bookOrderMenu.add(MenuActions.NEWBOOK_ORDER);bookOrderMenu.add(MenuActions.NEWBOOK_CHECK_ACCEPT); JMenu baseMenu = new JMenu();/ 初始化基础数据维护菜单menuBar.add(baseMenu); / 添加基础数据维护菜单到菜单栏menuBar.add(bookOrderMenu); / 添加新书订购管理菜单到菜单栏menuBar.add(borrowManageMenu); / 添加借阅管理菜单到菜单栏menuBar.add(sysManageMenu); / 添加系统维护菜单到菜单栏return menuBar;6.2.2login_javapublic class BookLoginIFrame extends JFrame private class BookResetAction implements ActionListener void actionPerformed(final ActionEvent e)username.setText();password.setText();class BookLoginAction implements ActionListener public void actionPerformed(final ActionEvent e) user = Dao.check(username.getText(), password.getText();if (user.getName() != null) try Library frame = new Library();frame.setVisible(true);BookLoginIFrame.this.setVisible(false); catch (Exception ex) ex.printStackTrace(); else JOptionPane.showMessageDialog(null, 只有管理员才可以登录!);username.setText();password.setText();private JPasswordField password;private JTextField username;private JButton login;private JButton reset;private static Operater user;public BookLoginIFrame() super();final BorderLayout borderLayout = new BorderLayout();setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);borderLayout.setVgap(10);getContentPane().setLayout(borderLayout);setTitle(图书馆管理系统登录);label.setText(用 户 名:);username = new JTextField(20);username.setPreferredSize(new Dimension(0, 0);panel_2.add(username);final JLabel label_1 = new JLabel();label_1.setHorizontalAlignment(SwingConstants.CENTER);panel_2.add(label_1);label_1.setText(密 码:);password = new JPasswordField(20);password.setDocument(new MyDocument(6);password.setEchoChar(*);/设置密码框的回显字符password.addKeyListener(new KeyAdapter() public void keyPressed(final KeyEvent e) if (e.getKeyCode() = 10)login.doClick(););login.setText(登录);panel_1.add(login);reset=new JButton();reset.addActionListener(new BookResetAction();reset.se

温馨提示

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

评论

0/150

提交评论