版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
數(shù)據(jù)庫信息管理系統(tǒng)-JAVA實現(xiàn)院系專業(yè)學(xué)生姓學(xué)號名課程名數(shù)據(jù)庫原理與設(shè)計方法稱授課時周學(xué)學(xué)間時分簡要評語考核論圖書管理信息數(shù)據(jù)庫系統(tǒng)設(shè)計題總評成績(含平時成績)備注任課教師簽名:日期:注:1.以論文或大作業(yè)為考核方式的課程必須填此表,綜合考試可不填?!昂喴u語”欄缺填無效。任課教師填寫后與試卷一起送院系研究生秘書處。學(xué)位課總評成績以百分制計分。圖書管理信息數(shù)據(jù)庫系統(tǒng) -JAVA實現(xiàn)目錄一、需求說明 51、任務(wù)概述 52、需求分析 52.1功能需求 532.2、數(shù)據(jù)描述 6靜態(tài)數(shù)據(jù) 6動態(tài)數(shù)據(jù) 6數(shù)據(jù)庫介紹 63、系統(tǒng)功能概要圖 64、運行環(huán)境 7二、數(shù)據(jù)庫的設(shè)計 71、數(shù)據(jù)庫設(shè)計的關(guān)系模型 72、創(chuàng)建數(shù)據(jù)庫的語句 83、給數(shù)據(jù)庫中插記錄的相關(guān)語句 124、數(shù)據(jù)字典 125、ER圖 14三、開發(fā)方案介紹 15四、應(yīng)用系統(tǒng)設(shè)計 16附錄 244一、需求說明1、任務(wù)概述滿足在線書店管理的需求,實現(xiàn)管理流程。主要功能包括用戶注冊、用戶登錄、購物商場、在線購物、訂單管理、系統(tǒng)導(dǎo)航、用戶退出、權(quán)限控制等。2、需求分析2.1功能需求在線書店系統(tǒng)作為一個網(wǎng)絡(luò)購物網(wǎng)站,它仿照淘寶網(wǎng)等知名購物網(wǎng)站,其總體要求即實現(xiàn)購物網(wǎng)站的5基本功能。具體功能要求如下:商品管理。這是管理員的功能。要實現(xiàn)增刪改查圖書、倉庫管理的功能。用戶管理。包括用戶注冊、用戶登錄和用戶退出三個方面,用戶還可以更改部分注冊信息。用戶登錄成功后,在首頁面可看到書籍展示。3) 購物車管理??梢孕薷摹h除選購書籍,并保存購物列表。當(dāng)用戶退出時或 session失效時,自動保存用戶購物車列表書籍。訂單管理。要實現(xiàn)生成訂單,刪除、修改、查詢訂單,提交訂單。提交后的訂單,只能查看訂單信息,不能進行修改,也不能刪除。權(quán)限控制。主頁面和注冊頁面任何人都可以訪問,其他頁面,只有已經(jīng)登錄成功的用戶才可訪問;若用戶還沒有登錄系統(tǒng),則返回到登錄頁面。2.2、數(shù)據(jù)描述靜態(tài)數(shù)據(jù)用戶類型、權(quán)限類型、管理員等。動態(tài)數(shù)據(jù)新用戶的注冊、新書的錄入、購書的信息、生成訂單等等。數(shù)據(jù)庫介紹數(shù)據(jù)庫名稱為shop,有八個表,分別為管理員表(Admin)、用戶注冊表(User)、圖書信息登記表(Book)、圖書上架信息登記表(Storage)、購物車圖書列表(Shopcar),用戶購買書籍的訂單表(Order)、訂單明細表(OrderBook)、購物車表(CartItem)。3、系統(tǒng)功能概要圖登錄用戶類管理員 一般用6個更查添查圖安個更瀏查我人改看加看書全人改覽看的信密圖圖庫入退信密圖購訂4、運行環(huán)境操作系統(tǒng):windowsxp數(shù)據(jù)庫:MySql數(shù)據(jù)庫程序環(huán)境:MyEclipse6.5二、數(shù)據(jù)庫的設(shè)計1、數(shù)據(jù)庫設(shè)計的關(guān)系模型Admin(id,name,password);User(id,name,password,sex,age,address,postcard,telephone,);Book(id,name,author,publisher,price);7Order(id,onDate,amount,total,postAddress,postcard,telephone,contact,userId,state);OrderBook(id,orderId,bookId,price,amount);Storage(id,bookId,amount,inDate);CartItem(id,bookId,amount);ShopCart(id,userId,bookId);2、創(chuàng)建數(shù)據(jù)庫的語句MySQL>connectshop;已連接。用戶表create table users(id intauto_increment primary key,name varchar(20),passwd varchar(20),sex varchar(2),age int,8address varchar(50),postcode varchar(6),phone varchar(15),adm int);圖書表CREATEtable books(id intauto_increment primary key,name varchar(40),author varchar(20),publisher varchar(30),price numeric(6,2));購物車表create table storages(id intauto_increment primary key,9bookIdint,amountint,inDatedate);訂單表create table `Order`(id int primary keyauto_increment, -- 主鍵onDate date , -- 下單日期amount int not null default 1,-- 購書總數(shù)total double not null default 0,-- 總金額postAddress varchar(50) not nulldefault '', -- 郵寄地址postcardvarchar(10) not null default'', -- 郵編telephone varchar(20) notnulldefault '', -- 聯(lián)系電話10contact varchar(10) notnulldefault '', -- 聯(lián)系人userid int, -- 采購人state int not null default 1-- 訂單狀態(tài)(1:初步訂單2:訂單已提交));訂單明細表create table OrderBook(id int primary keyauto_increment, -- 主鍵orderid int, --訂單編號bookid int, -- 圖書編號price double not null default 0,-- 單價amount int not null default 1-- 訂購數(shù)量113、給數(shù)據(jù)庫中插記錄的相關(guān)語句在用戶表中插入數(shù)據(jù)insert intousers(name,passwd,adm)values('tom','123',0);insert intousers(name,passwd,adm)values('admin','admin',1);注:其他數(shù)據(jù)在實際操作中插入。4、數(shù)據(jù)字典Admin表:字段名 字段說明 類型id 主鍵 Integername 用戶名稱 Varcharpassword 密碼 VarcharUser表:字段名字段說明類型id主鍵Integername用戶名稱Varcharpassword密碼Varcharsex性別Varcharage年齡Integeraddress住址Varcharpostcard郵編Varchartelephone電話Varchar12Book表:字段名字段說明類型id主鍵Integername書名Varcharauthor作者Varcharpublisher出版社Varcharprice價格DoubleOrder表:字段名字段說明類型id主鍵IntegeronDate下單日期Varcharamount購書總數(shù)Integertotal總金額IntegerpostAddress郵寄地址Varcharpostcard郵編Varchartelephone聯(lián)系電話Varcharcontact聯(lián)系人VarcharuserId采購人Varcharstate狀態(tài)ByteOrderBook表:字段名字段說明類型id主鍵IntegerorderId訂單編號IntegerbookId圖書編號Integerprice單價Doubleamount訂購數(shù)量IntegerStorage表:13字段名字段說明類型id主鍵IntegerbookId圖書Varcharamount數(shù)量IntegerinDate上貨時間VarcharCartItem 表:字段名 字段說明 類型id 主鍵 IntegerbookId 圖書編號 IntegerAmount 購書總數(shù) IntegerShopCart表:字段名 字段說明 類型id 主鍵 IntegeruserId 用戶編號 VarcharbookId 圖書編號 Integer5、ER圖14三、開發(fā)方案介紹由于該軟件使用于在線圖書管理模塊,實現(xiàn)的功能如下 :用戶注冊任何人都可注冊為站點用戶,注冊成功后,注冊信息要保存到數(shù)據(jù)庫;注冊成后,要重新顯示用戶注冊的信息用戶登陸系統(tǒng)成功后,除用戶名外,可隨意修改其他注冊信息。用戶登陸提供用戶登陸的入口登陸成功后,可進入在線商場,選購物品。購物商場購物商場中的書籍,由庫官員維護,庫官員可以為商場添加要銷售的書籍,也可以刪除正在銷售的書籍;商場中只能給用戶展示庫存中存在的書籍在線購物在線購物任何用戶都可在商場查閱書籍,并瀏覽其詳細信息任何用戶都可在商場中選購書籍后,存放在用戶的購物車中;用戶也可以根據(jù)書名、作者、出版社搜索書籍,若存在,也可選購;用戶可以管理自己購物車中的書籍,可以刪除某些已經(jīng)選購的書籍;用戶每次登陸系統(tǒng)后,都可查看購物車列表中的信息,并對其進行管理。訂單管理用戶可以從自己的購物車中選擇某些書籍,初步形成訂單,訂單中要注明購買的書籍列表、用戶具體15聯(lián)系信息、費用等相關(guān)信息,并保存到數(shù)據(jù)庫;訂單初步形成后,應(yīng)該從購物車中銷毀訂單中的書籍;用戶隨時都可查閱訂單的信息,也可對訂單中的聯(lián)系信息進行修改,也可刪除訂單;用戶也可對初步訂單進行提交,提交后的訂單,只能查看訂單信息,不能進行修改,也不能刪除。系統(tǒng)導(dǎo)航用戶在線購物時,隨時可以通過導(dǎo)航欄查看相關(guān)信息,比如“登陸信息” 、“在線購物”、“購物車”等導(dǎo)航用戶退出若用戶購物完畢,可以點擊“退出”鏈接,退出商場,要在內(nèi)存中清空用戶身份標(biāo)識,并返回到登陸頁面login.jsp權(quán)限控制login.jsp,任何用戶都可以訪問其他頁面,只有已經(jīng)登陸系統(tǒng)的用戶才可訪問;若用戶還沒有登陸系統(tǒng),則返回到登陸頁面。本系統(tǒng)是小型的方便運行的軟件,界面應(yīng)簡單明了,適合普通用戶和管理員操作。通過不同的賬戶口令可登陸類型不同的軟件界面,對圖書以及個人信息進行一系列的操作,并通過密碼機制來實現(xiàn)高級權(quán)限的管理員對后臺數(shù)據(jù)的添加、修改、刪除等操作。后臺連接的數(shù)據(jù)庫為 MySql;當(dāng)前臺數(shù)據(jù)經(jīng)過變動之后可實現(xiàn)提交保存。我們前臺的界面是通過 jsp來實現(xiàn)的,不否認界面做得確實不是很漂亮。四、應(yīng)用系統(tǒng)設(shè)計1、我們將整個系統(tǒng)分成了如下幾個模塊。最初是個登錄界面,如圖 1所示。圖1 進入系統(tǒng)的密碼登錄框有兩種選擇,可以以管理員登錄,可以以一般用戶登錄, 但是一般用戶登錄前需要先注冊,只有注冊成功后才可以登錄。2、在用戶名和密碼都正確的情況下我們將進入在線書店管理系統(tǒng)的主界面, 分為管理員界面和一般用戶界面,如下圖 2,圖3所示。16圖2管理員登錄圖3一般用戶登錄1)點擊圖2界面的登錄按鈕進入管理員界面。在這里我們提供了管理員查看圖書(圖 4)、添加圖書(圖5)、查看庫存(圖 6)、圖書入庫(圖 7)、修改圖書功能(圖 8)。a. 在進入這個頁面后,管理員可以查看現(xiàn)有的圖書,可以點擊修改按鈕,進行相應(yīng)圖書信息的修改。17圖4管理員查看圖書b.在這個頁面中,管理員可以添加圖書以及圖書的一些相關(guān)信息,比如書名、作者、出版社、價格等信息,點擊保存后,新的圖書將保持到數(shù)據(jù)庫中。圖5管理員添加圖書c.在這個頁面,管理員可以查看現(xiàn)有的庫存,可以查看圖書的書名、庫存總數(shù)、入庫時間等相關(guān)信息。圖6管理員查看庫存18d.在圖書入庫這個功能模塊中,管理員可以將新的圖書添加到圖書的庫存中。需要填圖書的數(shù)量和上架時間。圖7圖書入庫e.管理員可以根據(jù)實際需要,對圖書信息進行相關(guān)的修改,比如作者、出版社、價格等。圖8管理員可以修改圖書信息2)點擊圖3界面的登錄按鈕進入一般用戶登錄界面。 在這里我們提供了瀏覽圖書 (圖9)、查看購物車(圖10)、我的訂單功能(圖 11)。a.在進入一般用戶的界面后,用戶可以看看這個網(wǎng)上書店有些什么書,便于用戶選擇,該模塊還提供了購買功能,可以選擇放到購物車這個按鈕。先將圖書放到購物車。19圖9瀏覽圖書b.進入查看購物車,可以查看用戶剛剛購買的圖書,這時用戶可以選擇移出購物車,放棄剛才購買的圖書,也可以選擇進入結(jié)算中心,看看剛才購買的圖書的相關(guān)信息,包括價格等等。圖10-1查看購物車c.用戶可以選擇將圖書移出購物車。圖10-2用戶將圖書移出購物車d.用戶進入結(jié)算中心后,可以查看剛剛購買圖書的一些購買信息,并給用戶算出了價格和購買數(shù)量,并且列出了訂單的詳細信息,這時候用戶可以填寫訂單信息,從而生成訂單。20圖10-3進入結(jié)算中心后e.點擊生成訂單后,就顯示出剛剛生成的訂單的詳細信息,包括提交訂單、詳細信息、修改和刪除功能。像第二行,就是點擊提交訂單后就變成了已提交。提交以后只能查看詳細信息,而未提交以前可以提交、修改、刪除。圖10-4已生成訂單的詳細信息.詳細信息展示:g.修改相關(guān)的信息,當(dāng)點擊修改按鈕時,會提示確認修改么,目的是為了避免用戶的誤操作。21點擊確認后,可以對剛才生成的詳細信息進行修改,點擊修改訂單,可以生成新的訂單信息。h.當(dāng)刪除時,同樣會有提示,也是為了避免用戶的誤操作:22當(dāng)點擊確認后,圖書將從訂單中刪除:i. 用戶可以查看自己的訂單:23附錄本設(shè)計選用了 java語言完成,由于程序代碼較多,故在此處選擇主要代碼進行展示如下。1、//用戶注冊importcom.ShopException;importcom.dao.UserDAO;importcom.model.User;publicclassUserService{privateUserDAOuserDAO=newUserDAO();publicvoidreg(Useru){Useru2=userDAO.findByName(u.getName());if(u2!=null){thrownewShopException("用戶名已存在");}userDAO.add(u);}publicUserlogin(Useruser){Useruser2=userDAO.findByName(user.getName());if(user2==null){thrownewShopException("用戶名不存在");}if(user.getPasswd()!=null24&&!user.getPasswd().equals(user2.getPasswd())){ throw newShopException( "瀵嗙爜閿欒 ");}return user2;}public void updateUser(Useruser){userDAO.update(user);}public void changePasswd( int id,Stringpasswd){userDAO.updatePasswd(id,passwd);}}2、// 管理員添加圖書、查看圖書列表、查看庫存package com.service;import import com.ShopException;import import import import public class AdminService{private BookDAO bookDAO = newBookDAO();private StorgeDAO storgeDAO = newStorgeDAO();單例模式private AdminService(){}private static AdminService adminService ;public static AdminServicegetInstance(){if ( adminService == null ){adminService = newAdminService();}return adminService ;}25public void addBook(Bookbook){if ( bookDAO.findByName(book.getName())!= null )throw newShopException( "圖書已存在 ");bookDAO.add(book);}public List<Book>listBook(){List<Book>list= bookDAO.list();System. out.println(list.size());return list;}public BookgetBook( int id){return bookDAO.findById(id);}public void updateBook(Bookbook){bookDAO.update(book);}public void addStorage(Storages){Storages2= storgeDAO .findByBookId(s.getBookId());if (s2== null )storgeDAO .add(s);else {s2.setAmount(s2.getAmount()+s.getAmount());storgeDAO .update(s2);}}public List<Storage>listStorage(){List<Storage>list= storgeDAO .list();for (Storages:list){s.setBook( bookDAO.findById(s.getBookId()));}return list;}26}3、// 消費者:提交、修改、刪除訂單import import import import import import import import import import import publicclassCustomerService{privateStorgeDAOstorgeDAO=newStorgeDAO();privateBookDAObookDAO=newBookDAO();privateOrderDAOorderDAO=newOrderDAO();privateOrderBookDAOobookDAO=newOrderBookDAO();public List<Storage>listStores(){return storgeDAO .findBookInStore();}public BookfindBookById( int id){return bookDAO.findById(id);}public void viewCart(ShopCartcart){for (CartItemm:cart.getItems().values()){if (m.getBook()== null ){Bookbook= bookDAO.findById(m.getBookId());m.setBook(book);}}}public void generateOrder(Orderorder,List<OrderBook>obooks){27保存orderorderDAO.add(order);// 保存orderBook 的列表for (OrderBookobook:obooks){obook.setOrderid(order.getId()); // 只有order 保存過以后才會成生idobookDAO.add(obook);}}public List<Order>listOrderByUser( int userid){return orderDAO .findByUser(userid);}public OrderfindOrderById( int id){return orderDAO .findById(id);}修改和提交訂單都可調(diào)用此方法public void updateOrder(Orderorder){orderDAO .update(order);}public void deleteOrder( int orderid){// 刪除訂單中所有的訂單列表 orderbookobookDAO.delete(orderid);刪除訂單orderDAO .delete(orderid);}public List<OrderBook>findOrderBookByOrder( int orderid){return obookDAO.findByOrder(orderid);}}4、// 操作數(shù)據(jù)庫:添加圖書、查找圖書、更新圖書信息代碼import import public class Book
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030全球ASME 規(guī)范高壓釜行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球雙向拉伸PET薄膜行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國步進式爐床行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球半導(dǎo)體濕法工藝泵行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球地下雨水儲存系統(tǒng)行業(yè)調(diào)研及趨勢分析報告
- 網(wǎng)絡(luò)安全意識教育的重要性與實施
- 跨學(xué)科學(xué)習(xí)在小學(xué)STEM教育中的應(yīng)用
- 科技引領(lǐng)下的小學(xué)科學(xué)實驗教學(xué)設(shè)計與實施
- 現(xiàn)代科技在遠程醫(yī)療服務(wù)中的應(yīng)用及挑戰(zhàn)
- 教育信息化背景下的小組合作學(xué)習(xí)模式創(chuàng)新
- 2024-2025學(xué)年山東省濰坊市高一上冊1月期末考試數(shù)學(xué)檢測試題(附解析)
- 江蘇省揚州市蔣王小學(xué)2023~2024年五年級上學(xué)期英語期末試卷(含答案無聽力原文無音頻)
- 數(shù)學(xué)-湖南省新高考教學(xué)教研聯(lián)盟(長郡二十校聯(lián)盟)2024-2025學(xué)年2025屆高三上學(xué)期第一次預(yù)熱演練試題和答案
- 決勝中層:中層管理者的九項修煉-記錄
- 幼兒園人民幣啟蒙教育方案
- 臨床藥師進修匯報課件
- 軍事理論(2024年版)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 《無人機法律法規(guī)知識》課件-第1章 民用航空法概述
- 政治丨廣東省2025屆高中畢業(yè)班8月第一次調(diào)研考試廣東一調(diào)政治試卷及答案
- 2020-2024年安徽省初中學(xué)業(yè)水平考試中考物理試卷(5年真題+答案解析)
- 鑄石防磨施工工藝
評論
0/150
提交評論