數(shù)據(jù)庫系統(tǒng)原理課程設(shè)計報告-圖書管理系統(tǒng)(共21頁)
《數(shù)據(jù)庫系統(tǒng)原理課程設(shè)計報告-圖書管理系統(tǒng)(共21頁)》由會員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫系統(tǒng)原理課程設(shè)計報告-圖書管理系統(tǒng)(共21頁)(21頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、精選優(yōu)質(zhì)文檔-----傾情為你奉上 數(shù)據(jù)庫系統(tǒng)原理課程設(shè)計報告 設(shè)計題目: 圖書管理系統(tǒng) 班 級: 學(xué) 號: 姓 名: 指導(dǎo)教師: 完成日期: 成績:
2、 專心---專注---專業(yè) 摘要 在計算機日益普及的今天,對個人而言若采用一套行之有效的圖書管理系統(tǒng)來管理自己的書籍,會方便許多。對圖書管理部門而言,以前單一的手工檢索已不能滿足人們的要求,往往是投入了大量的人力和財力卻得不到搞笑的管理效率。為了便于圖書資料的管理需要有效的圖書管理軟件,減輕工作人員的工作量,方便工作人員對它的操作,提高管理的質(zhì)量和水平,做到高效,智能化管理,達(dá)到提高圖書借閱信息管理效率的目的。采用數(shù)據(jù)庫技術(shù)生成的的圖書借閱管理系統(tǒng)將會極大的方便借閱者并簡化圖書管理人員和工作人員的勞動,使工作人員從繁忙,復(fù)雜的工作進(jìn)入到一個簡單,高效的工作中。基于這個問題,開發(fā)了大學(xué)圖
3、書管理系統(tǒng)。 目錄 5 0 0 第1章 系統(tǒng)概述 《數(shù)據(jù)庫原理及應(yīng)用》課程的學(xué)習(xí),其主要的目標(biāo)是能利用課程中學(xué)習(xí)到的數(shù)據(jù)庫知識與技術(shù)較好地開發(fā)設(shè)計出數(shù)據(jù)庫應(yīng)用系統(tǒng),去解決各行各業(yè)信息化處理的要求。本實驗主要在于鞏固學(xué)生對數(shù)據(jù)庫的基本原理和基礎(chǔ)理論的理解,掌握數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計開發(fā)的基本方法,進(jìn)一步提高學(xué)生的綜合運用所學(xué)的知識能力。為了使數(shù)據(jù)庫的應(yīng)用系統(tǒng)開發(fā)設(shè)計合理、規(guī)范、有序、正確、高效進(jìn)行,現(xiàn)在廣泛采用的是工程化6階段開發(fā)設(shè)計過程與方法,它們是需求分析階段、概念結(jié)構(gòu)設(shè)計階段、邏輯結(jié)構(gòu)設(shè)計階段、物理結(jié)構(gòu)設(shè)計階段、數(shù)據(jù)庫
4、實施、數(shù)據(jù)庫系統(tǒng)運行與維護(hù)階段。我們按照以上幾點開發(fā)了圖書管理系統(tǒng)數(shù)據(jù)庫。圖書管理系統(tǒng)要求讀者較好的正我數(shù)據(jù)庫知識與技術(shù)外,還要求讀者掌握某種客戶端開發(fā)工具或語言。這里是利用dreamwave,myeclipse,tomcat開發(fā)工具來實現(xiàn)示例系統(tǒng)的。用 j s, angularjs控制前臺頁面邏輯數(shù)據(jù)庫用postgres,將PostgresQL驅(qū)動放在tomcat lib庫中即可。編寫語言java ee,程序類型:web。 這次課程設(shè)計能順利通過是老師的細(xì)心指導(dǎo)和我們小組團(tuán)結(jié)一致、努力的結(jié)果。在這次課程設(shè)計中每位同學(xué)都積極參與各項環(huán)節(jié)的設(shè)計,但我們也有分工。初步列出如下:李高鋼和吳捷擔(dān)任
5、的工作是對系統(tǒng)的需求分析、構(gòu)思數(shù)據(jù)流圖、把E-R圖轉(zhuǎn)化成關(guān)系模型并對其進(jìn)行規(guī)范化處理、用SQL語言建表、視圖以及文檔的初步編寫等。余立,楊豪和高凱倫的工作是負(fù)責(zé)畫數(shù)據(jù)流圖和E-R圖,以及轉(zhuǎn)化初始關(guān)系模型,和內(nèi)容摘要等的編寫。李高鋼是我們組的組長,除對我們所制作單個模塊審核外還擔(dān)任了WORD文檔的總結(jié)排版。這次數(shù)據(jù)庫的課程設(shè)計讓我們對數(shù)據(jù)庫的操作有了進(jìn)一步的了解,受益匪淺。 第二章 系統(tǒng)數(shù)據(jù)庫設(shè)計部分 2.1 需求分析 2.1.1 需求描述 每個學(xué)校都有圖書館,最初由于圖書數(shù)量和種類較少,人工手動管理比較方便和靈活。隨著社會的發(fā)展,圖書的數(shù)量和種類越來越多,人工
6、手動管理會降低工作的效率,希望建立一個圖書管理系統(tǒng),是為了解決人工手動管理圖書信息在實踐的問題,從而達(dá)到系統(tǒng)化,規(guī)范化,標(biāo)準(zhǔn)化的水平。該系統(tǒng)不但給管理者帶來了方便,也節(jié)省了工作時間從而提高了工作的效率。 2.1.2 數(shù)據(jù)流圖 圖書管理員 圖書管理系統(tǒng) 管理人員 密碼輸入 管理人 員 保存退出 圖書存量表 數(shù)據(jù)備份 查詢操作 權(quán)限認(rèn)證 修改操作 錄入數(shù)目 刪除書目 顯示操作
7、 2.1.3 數(shù)據(jù)字典 數(shù)據(jù)流名:圖書 別 名:圖書館庫存圖書 組 成:書名+書名+作者+出版社+剩余數(shù) 備 注:無 插入函數(shù) 主菜單函數(shù) 文件讀入函數(shù) 刪除函數(shù) 退出程序 文件讀出函數(shù) 查詢函數(shù) 顯示函數(shù) 修改函數(shù) 數(shù)據(jù)概念設(shè)計 E-R圖 類別編號 書名 作者 圖書編號
8、 圖書 出版時間 數(shù)量 出版社 價格 編號 書名 作者 出版社 圖書搜索 代號 類別 出版日期 庫存數(shù)量 編號 庫存 數(shù)據(jù)庫邏輯結(jié)構(gòu) 圖書( 圖書編
9、號,圖書名,圖書的類別,作者,出版社,出版日期 ) 圖書管理員 (職工號 ,姓名,性別) 管理(圖書編號,錄入,刪除,修改) 數(shù)據(jù)庫物理機構(gòu) 身份驗證 退出程序 Y\N 主菜單 查找模塊 刪除模塊 修改模塊 顯示模塊 讀入模塊 備份模塊 錄 入 模 塊
10、 模塊劃分與功能需求關(guān)系 模塊編號 模塊名稱 功能 M1 身份驗證模塊 輸入驗證信息 M2 主菜單模塊 輸入選擇的功能 M3 錄入模塊 插入相關(guān)信息 M4 刪除模塊 刪除指定信息 M5 查詢模塊 查詢指定信息 M6 顯示模塊 以列表方式顯示所有信息 M7 備份模塊 備份文件信息 M8 退出模塊 退出程序 保存文件 第三章 系統(tǒng)設(shè)計 1. 程序的功能; 1〉 圖書信息錄入,刪除,修改,查詢,功能 2〉 用postgres保存學(xué)生信息數(shù)據(jù) 用java e
11、e技術(shù)實現(xiàn)數(shù)據(jù)庫的操作 2. 輸入輸出的要求; 圖書信息 圖書編號,名稱,價格,出版日期,出版單位…… 3. 測試數(shù)據(jù) Book表 圖書編號,名稱,價格,出版日期,出版單位 "TS006";"Android";23.50;12;"2014-07-12";"四川大學(xué)出版社";"網(wǎng)站設(shè)計";5 "TS007";"windosphone";23.50;12;"2014-07-25";"四川大學(xué)出版社";
12、"中國歷史";4 "TS008";"Android";23.50;12;"2014-07-09";"四川大學(xué)出版社";"網(wǎng)站設(shè)計";5 "TS009";"老人與海";23.50;12;"2013-08-09";"四川大學(xué)出版社";"計算機編程";3 . 數(shù)據(jù)庫設(shè)計: 設(shè)計表: 圖書表book , 用戶表:a
13、dmin 程序設(shè)計: 交互界面采用jsp頁面 用 j s, angularjs控制前臺頁面邏輯 數(shù)據(jù)庫用postgres,將PostgresQL驅(qū)動放在tomcat lib庫中即可 后端用jsp,servlet,Bean技術(shù)控制get,post,數(shù)據(jù)庫的數(shù)據(jù)處理,表單的提交 用表格顯示圖書信息,表單控制圖書的增,刪,改,查 a> 1.一個登錄界面 2. 表單 3.表格 Main()->登錄界面 1.添加add()
14、 2.查找search() 管理員-》主菜單 =》 3.修改 4.刪除delete() 表格顯示圖書數(shù)據(jù): 每個按鈕對應(yīng)一個post請求,用angularjs綁定元素實現(xiàn) ng-click=add()提交事件,后端用servlet響應(yīng)請求,再用Bean處理數(shù)據(jù),通過servlet返回數(shù)據(jù)或頁面到前端頁面,顯示更新信息(成功或失?。?。 表格可用dreamwave等工具調(diào)整樣式; 服務(wù)代碼可用my
15、eclipse工具編寫 服務(wù)器用tomcat 用到的js庫 angular.js 第四章 總結(jié) 經(jīng)過這些天的設(shè)計和開發(fā),圖書管理系統(tǒng)基本開發(fā)完畢。本系統(tǒng)基本能夠完成學(xué)生圖書的查詢、錄入、刪除、修改等。這次的課程設(shè)計是分組討論和制作的。在制作的過程中,我學(xué)到的不僅是知識,我還認(rèn)識到許多事情。這次設(shè)計對我們的綜合能力是一次很好的鍛煉,使我的編程水平提高了一大步,同時也使我充分的認(rèn)識到合作的可貴。 在我們所制作的學(xué)生學(xué)籍管理系統(tǒng)中,涉及到數(shù)據(jù)庫、javaee等,交互界面采用jsp頁面用 j s, angularjs控制前臺頁面邏輯數(shù)據(jù)庫用postgres,將PostgresQL驅(qū)
16、動放在tomcat lib庫中即可。后端用jsp,servlet,Bean技術(shù)控制get,post,數(shù)據(jù)庫的數(shù)據(jù)處理,表單的提交用表格顯示圖書信息,表單控制圖書的增,刪,改,查。 還有就是由于我們對數(shù)據(jù)庫知識的掌握有限和不牢固,角色和視圖的創(chuàng)建沒有想象中的完美,備份和還原也只是初步的形成,以致學(xué)生學(xué)籍管理系統(tǒng)只是達(dá)到了基本要求,有待進(jìn)一步改善,希望老師給予批評。 主要參考文獻(xiàn) javaweb實戰(zhàn)1200例
17、 Angularjs中文社區(qū) 附錄 5、核心源程序清單和執(zhí)行結(jié)果 源程序要按照寫程序的規(guī)則來編寫。要結(jié)構(gòu)清晰,重點函數(shù)的重點變量,重點功能部分要加上清晰的程序注釋。 Book.jsp <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
18、; <%@ page import="java.sql.*" %> <%@ page import="java.io.*" %> <jsp:useBean id="db" class="ligaogang.DB" scope="page"/> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+requ
19、est.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html ng-app="bookModule"> <head> <base href="<%=basePath%>"> <ti
20、tle>My JSP 'book.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <
21、meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <script type="text/javascript" src="js/jquery.js"></script> <script type="text/ja
22、vascript" src="js/angular.min.js"></script> <script type="text/javascript" src="js/bookModule.js"></script> <link rel="stylesheet" type="text/css" href="css/styles.css"> </head> <body
23、ng-controller="bookController"><center> <form action="searchResult.jsp" method="post"> <table width="80%" border="1" id="table1" style="border-color:#FFCCFF;"> <tbody> <tr> <
24、;td align="center" nowrap="nowrap">圖書編號</td> <td align="center"><input type="text" name="BookNo" ng-model="Book.Bookno"></td> <td align="center" nowrap="nowrap">價格</td>
25、; <td align="center"><input type="text" name="BookPrice"></td> <td align="center" nowrap="nowrap">類別</td><td align="center"><input type="text" name="BookType" ng-model
26、="Book.BookType"></td> <td align="center" nowrap="nowrap">出版社</td> <td align="center"><input type="text" name="PublishHouse" ng-model="Book.PublishHouse"></td> </tr>
27、 <tr> <td align="center" nowrap="nowrap">圖書名</td> <td align="center"><input type="text" name="BookName" ng-model="Book.BookName"></td> <td align="center" nowrap=&quo
28、t;nowrap">數(shù)量</td> <td align="center"><input type="text" name="Count" ng-model="Book.Count"></td> <td align="center" nowrap="nowrap">書類代號</td><td align="center"><input typ
29、e="text" name="BookTypeNo" ng-model="Book.BookTypeNo"></td> <td align="center" nowrap="nowrap">出版日期</td> <td align="center"><input type="date" name="PublishDate" ng-model=&quo
30、t;Book.PublishDate"></td> </tr> <tr> <td height="36" align="center" nowrap="nowrap">搜索條件</td> <td height="36"><select name="subsql" ng-model="Book.subsql">
31、 <option value="bookName">圖書名</option> <option value="bookType">類別</option> <option value="publish">出版社</option> </select></td> <td height="36" align="center" nowrap=&qu
32、ot;nowrap">條件值</td> <td height="36" colspan="2"><input type="text" name="subsqlvalue" ng-model="Book.subsqlvalue"></td> <td height="36" colspan="3" align="center" nowrap=&qu
33、ot;nowrap"><button type="submit">查詢</button> <button type="button" ng-click="addBook(Book)">增加</button> <button type="button" id="modifyBook">修改</button>
34、 <button type="button" id="deleteBook">刪除</button> </td> </tr> </tbody> </table> </form> </center> </br> <center> <table border="1" width="80%" style="border-c
35、olor:#FFCCFF;"> <tr> <td>圖書編號</td> <td>圖書名</td> <td>價格</td> <td>數(shù)量</td> <td>出版日期</td> <td>出版社</td> <td>類別</td> <td>書類代號</td> </tr> <% try{ ResultSet rt =(ResultSet)
36、session.getAttribute("resultset"); while(rt.next()){ String barcode=rt.getString("barcode"); String bookName=rt.getString("bookName"); int bookType=rt.getInt("bookType"); float price=rt.getFloat("price"); int count=rt.getInt("count");
37、 java.util.Date publishDate=rt.getDate("publishDate"); String publishName=rt.getString("publish"); String introductionName=rt.getString("introduction"); %> <tr> <td><%=barcode%></td> <td><%=bookName%></td>
38、 <td><%=price%></td> <td><%=count%></td> <td><%=publishDate%></td> <td><%=publishName%></td> <td><%=introductionName%></td> <td><%=bookType%></td>
39、 </tr> <%} }catch(Exception e){ out.println(e); } %> </table> </center> </body> </html> Sevlet: addbook.java package ligaogang; import java.io.IOException; import java.io.PrintWriter; import java.text.ParseException; import java.text
40、.SimpleDateFormat; import java.util.Date; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class addBook extends HttpServlet { /** * Constructor of the obje
41、ct. */ public addBook() { super(); } /** * Destruction of the servlet. <br> */ public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } /** * The doGet method of the servlet. <br> * * This m
42、ethod is called when a form has its tag value method equals to get. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurr
43、ed */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 T
44、ransitional//EN\">"); out.println("<HTML>"); out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>"); out.println(" <BODY>"); out.print(" This is "); out.print(this.getClass()); out.println(
45、", using the GET method"); out.println(" </BODY>"); out.println("</HTML>"); out.flush(); out.close(); } /** * The doPost method of the servlet. <br> * * This method is called when a form has its tag value method equals to po
46、st. * * @param request the request send by the client to the server * @param response the response send by the server to the client * @throws ServletException if an error occurred * @throws IOException if an error occurred */ public void doPost(HttpServletRequest request, HttpSe
47、rvletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); String BookNo=request.getParameter("BookNo"); int BookPrice=Integer.parseInt(request.getParameter("BookPrice"));
48、 int BookType=Integer.parseInt(request.getParameter("BookType")); String PublishHouse=request.getParameter("PublishHouse"); String BookName=request.getParameter("BookName"); int Count=Integer.parseInt(request.getParameter("Count")); SimpleDateFo
49、rmat df=new SimpleDateFormat("yyyy-MM-dd"); Date PublishDate = null; try { PublishDate = df.parse(request.getParameter("PublishDate")); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } String BookTypeNo=request.ge
50、tParameter("BookTypeNo"); DB db=new DB(); int state= db.insertBook( BookNo, BookName, BookPrice, Count, PublishDate, PublishHouse, BookTypeNo, BookType); if(state!=-1) out.println("success!"); } /** * Initialization of the servlet. <br> * * @throws ServletException if an error occurs */ public void init() throws ServletException { // Put your code here } }
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 市教育局冬季運動會安全工作預(yù)案
- 2024年秋季《思想道德與法治》大作業(yè)及答案3套試卷
- 2024年教師年度考核表個人工作總結(jié)(可編輯)
- 2024年xx村兩委涉案資金退還保證書
- 2024年憲法宣傳周活動總結(jié)+在機關(guān)“弘揚憲法精神推動發(fā)改工作高質(zhì)量發(fā)展”專題宣講報告會上的講話
- 2024年XX村合作社年報總結(jié)
- 2024-2025年秋季第一學(xué)期初中歷史上冊教研組工作總結(jié)
- 2024年小學(xué)高級教師年終工作總結(jié)匯報
- 2024-2025年秋季第一學(xué)期初中物理上冊教研組工作總結(jié)
- 2024年xx鎮(zhèn)交通年度總結(jié)
- 2024-2025年秋季第一學(xué)期小學(xué)語文教師工作總結(jié)
- 2024年XX村陳規(guī)陋習(xí)整治報告
- 2025年學(xué)校元旦迎新盛典活動策劃方案
- 2024年學(xué)校周邊安全隱患自查報告
- 2024年XX鎮(zhèn)農(nóng)村規(guī)劃管控述職報告