數(shù)據(jù)庫信息管理系統(tǒng)-JAVA實(shí)現(xiàn)._第1頁
數(shù)據(jù)庫信息管理系統(tǒng)-JAVA實(shí)現(xiàn)._第2頁
數(shù)據(jù)庫信息管理系統(tǒng)-JAVA實(shí)現(xiàn)._第3頁
數(shù)據(jù)庫信息管理系統(tǒng)-JAVA實(shí)現(xiàn)._第4頁
數(shù)據(jù)庫信息管理系統(tǒng)-JAVA實(shí)現(xiàn)._第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、院 系專業(yè)學(xué)生姓名學(xué)號(hào)課程名稱數(shù)據(jù)庫原理與設(shè)計(jì)方法授課時(shí)間周學(xué)時(shí)學(xué)分簡要評(píng)語考核論題圖書管理信息數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)總評(píng)成績(含平時(shí)成績)備注任課教師簽名: 日期: 注:1. 以論文或大作業(yè)為考核方式的課程必須填此表,綜合考試可不填?!昂喴u(píng)語”欄缺填無效。2. 任課教師填寫后與試卷一起送院系研究生秘書處。3. 學(xué)位課總評(píng)成績以百分制計(jì)分。圖書管理信息數(shù)據(jù)庫系統(tǒng)-JAVA實(shí)現(xiàn)目錄一、需求說明31、 任務(wù)概述32、 需求分析32.1功能需求32.2、數(shù)據(jù)描述32.2.1靜態(tài)數(shù)據(jù)32.2.2動(dòng)態(tài)數(shù)據(jù)32.2.3數(shù)據(jù)庫介紹33、系統(tǒng)功能概要圖44、運(yùn)行環(huán)境4二、 數(shù)據(jù)庫的設(shè)計(jì)41、 數(shù)據(jù)庫設(shè)計(jì)的關(guān)系模型4

2、2、 創(chuàng)建數(shù)據(jù)庫的語句53、 給數(shù)據(jù)庫中插記錄的相關(guān)語句64、 數(shù)據(jù)字典65、 ER圖8三、開發(fā)方案介紹9四、 應(yīng)用系統(tǒng)設(shè)計(jì)10附錄18一、需求說明1、 任務(wù)概述滿足在線書店管理的需求,實(shí)現(xiàn)管理流程。主要功能包括用戶注冊、用戶登錄、購物商場、在線購物、訂單管理、系統(tǒng)導(dǎo)航、用戶退出、權(quán)限控制等。2、 需求分析2.1功能需求在線書店系統(tǒng)作為一個(gè)網(wǎng)絡(luò)購物網(wǎng)站,它仿照淘寶網(wǎng)等知名購物網(wǎng)站,其總體要求即實(shí)現(xiàn)購物網(wǎng)站的基本功能。具體功能要求如下:1) 商品管理。這是管理員的功能。要實(shí)現(xiàn)增刪改查圖書、倉庫管理的功能。2) 用戶管理。包括用戶注冊、用戶登錄和用戶退出三個(gè)方面,用戶還可以更改部分注冊信息。用戶登

3、錄成功后,在首頁面可看到書籍展示。3) 購物車管理。可以修改、刪除選購書籍,并保存購物列表。當(dāng)用戶退出時(shí)或session失效時(shí),自動(dòng)保存用戶購物車列表書籍。4) 訂單管理。要實(shí)現(xiàn)生成訂單,刪除、修改、查詢訂單,提交訂單。提交后的訂單,只能查看訂單信息,不能進(jìn)行修改,也不能刪除。5) 權(quán)限控制。主頁面和注冊頁面任何人都可以訪問,其他頁面,只有已經(jīng)登錄成功的用戶才可訪問;若用戶還沒有登錄系統(tǒng),則返回到登錄頁面。2.2、數(shù)據(jù)描述2.2.1靜態(tài)數(shù)據(jù)用戶類型、權(quán)限類型、管理員等。2.2.2動(dòng)態(tài)數(shù)據(jù)新用戶的注冊、新書的錄入、購書的信息、生成訂單等等。2.2.3數(shù)據(jù)庫介紹數(shù)據(jù)庫名稱為shop,有八個(gè)表,分別

4、為管理員表(Admin)、用戶注冊表(User)、圖書信息登記表(Book)、圖書上架信息登記表(Storage)、購物車圖書列表(Shopcar),用戶購買書籍的訂單表(Order)、訂單明細(xì)表(OrderBook)、購物車表(CartItem)。3、系統(tǒng)功能概要圖登錄界面用戶類型選擇 管理員登錄一般用戶登錄查看購物車瀏覽圖書更改密碼我的訂單個(gè)人信息安全退出圖書入庫查看庫存添加圖書查看圖書更改密碼個(gè)人信息4、運(yùn)行環(huán)境操作系統(tǒng):windows xp數(shù)據(jù)庫:MySql數(shù)據(jù)庫程序環(huán)境:MyEclipse 6.52、 數(shù)據(jù)庫的設(shè)計(jì)1、 數(shù)據(jù)庫設(shè)計(jì)的關(guān)系模型Admin(id,name,password

5、);User(id,name,password,sex,age,address,postcard,telephone,);Book(id,name,author,publisher,price);Order(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

6、,bookId);2、 創(chuàng)建數(shù)據(jù)庫的語句MySQL> connect shop;已連接。- 用戶表create table users( id int auto_increment primary key, name varchar(20), passwd varchar(20), sex varchar(2), age int, address varchar(50), postcode varchar(6), phone varchar(15), adm int);- 圖書表 CREATE table books( id int auto_increment primary key,

7、 name varchar(40), author varchar(20), publisher varchar(30), price numeric(6,2);- 購物車表create table storages( id int auto_increment primary key, bookId int, amount int, inDate date);- 訂單表create table Order(idintprimary keyauto_increment,- 主鍵onDatedate,- 下單日期amountintnot nulldefault1,- 購書總數(shù)totaldoubl

8、enot nulldefault 0,- 總金額postAddressvarchar(50)not nulldefault '',- 郵寄地址postcardvarchar(10)not nulldefault '',- 郵編telephonevarchar(20)not nulldefault '',- 聯(lián)系電話contactvarchar(10)not nulldefault '',- 聯(lián)系人useridint,- 采購人stateintnot nulldefault 1- 訂單狀態(tài)(1:初步訂單 2:訂單已提交));- 訂單

9、明細(xì)表create table OrderBook(idintprimary keyauto_increment,- 主鍵orderidint,- 訂單編號(hào)bookidint,- 圖書編號(hào)pricedoublenot nulldefault 0,- 單價(jià)amountintnot nulldefault1- 訂購數(shù)量3、 給數(shù)據(jù)庫中插記錄的相關(guān)語句- 在用戶表中插入數(shù)據(jù)insert into users(name,passwd,adm) values('tom','123',0);insert into users(name,passwd,adm) values(

10、'admin','admin',1);注:其他數(shù)據(jù)在實(shí)際操作中插入。4、 數(shù)據(jù)字典Admin表:字段名 字段說明 類型 id 主鍵Integer name 用戶名稱Varchar password 密碼Varchar User表:字段名 字段說明 類型 id 主鍵Integer name 用戶名稱Varchar password 密碼Varchar sex性別Varchar age年齡Integeraddress住址Varchar postcard郵編Varchar telephone電話Varchar Book表:字段名 字段說明 類型 id 主鍵Intege

11、r name 書名Varchar author 作者Varchar publisher出版社Varchar price價(jià)格DoubleOrder表:字段名 字段說明 類型 id 主鍵Integer onDate下單日期Varcharamount購書總數(shù)Integertotal總金額IntegerpostAddress郵寄地址Varcharpostcard郵編Varchartelephone聯(lián)系電話Varchar contact聯(lián)系人Varchar userId采購人Varchar state狀態(tài)ByteOrderBook表:字段名 字段說明 類型 id 主鍵Integer orderId 訂單

12、編號(hào)IntegerbookId圖書編號(hào)Integer price單價(jià)Double amount訂購數(shù)量Integer Storage表:字段名 字段說明 類型 id 主鍵Integer bookId 圖書Varchar amount數(shù)量Integer inDate上貨時(shí)間Varchar CartItem表:字段名 字段說明 類型 id 主鍵Integer bookId圖書編號(hào)IntegerAmount購書總數(shù)Integer ShopCart表:字段名 字段說明 類型 id 主鍵Integer userId用戶編號(hào)Varchar bookId圖書編號(hào)Integer 5、 ER圖三、開發(fā)方案介紹由

13、于該軟件使用于在線圖書管理模塊,實(shí)現(xiàn)的功能如下:用戶注冊任何人都可注冊為站點(diǎn)用戶,注冊成功后,注冊信息要保存到數(shù)據(jù)庫;注冊成后,要重新顯示用戶注冊的信息用戶登陸系統(tǒng)成功后,除用戶名外,可隨意修改其他注冊信息。用戶登陸提供用戶登陸的入口登陸成功后,可進(jìn)入在線商場,選購物品。購物商場購物商場中的書籍,由庫官員維護(hù),庫官員可以為商場添加要銷售的書籍,也可以刪除正在銷售的書籍;- 商場中只能給用戶展示庫存中存在的書籍在線購物在線購物任何用戶都可在商場查閱書籍,并瀏覽其詳細(xì)信息任何用戶都可在商場中選購書籍后,存放在用戶的購物車中;用戶也可以根據(jù)書名、作者、出版社搜索書籍,若存在,也可選購;用戶可以管理自

14、己購物車中的書籍,可以刪除某些已經(jīng)選購的書籍;用戶每次登陸系統(tǒng)后,都可查看購物車列表中的信息,并對其進(jìn)行管理。訂單管理用戶可以從自己的購物車中選擇某些書籍,初步形成訂單,訂單中要注明購買的書籍列表、用戶具體聯(lián)系信息、費(fèi)用等相關(guān)信息,并保存到數(shù)據(jù)庫;訂單初步形成后,應(yīng)該從購物車中銷毀訂單中的書籍;用戶隨時(shí)都可查閱訂單的信息,也可對訂單中的聯(lián)系信息進(jìn)行修改,也可刪除訂單;用戶也可對初步訂單進(jìn)行提交,提交后的訂單,只能查看訂單信息,不能進(jìn)行修改,也不能刪除。系統(tǒng)導(dǎo)航用戶在線購物時(shí),隨時(shí)可以通過導(dǎo)航欄查看相關(guān)信息,比如“登陸信息”、“在線購物”、“購物車”等導(dǎo)航用戶退出若用戶購物完畢,可以點(diǎn)擊“退出”

15、鏈接,退出商場,要在內(nèi)存中清空用戶身份標(biāo)識(shí),并返回到登陸頁面login.jsp權(quán)限控制login.jsp,任何用戶都可以訪問其他頁面,只有已經(jīng)登陸系統(tǒng)的用戶才可訪問;若用戶還沒有登陸系統(tǒng),則返回到登陸頁面。本系統(tǒng)是小型的方便運(yùn)行的軟件,界面應(yīng)簡單明了,適合普通用戶和管理員操作。通過不同的賬戶口令可登陸類型不同的軟件界面,對圖書以及個(gè)人信息進(jìn)行一系列的操作,并通過密碼機(jī)制來實(shí)現(xiàn)高級(jí)權(quán)限的管理員對后臺(tái)數(shù)據(jù)的添加、修改、刪除等操作。后臺(tái)連接的數(shù)據(jù)庫為MySql;當(dāng)前臺(tái)數(shù)據(jù)經(jīng)過變動(dòng)之后可實(shí)現(xiàn)提交保存。我們前臺(tái)的界面是通過jsp來實(shí)現(xiàn)的,不否認(rèn)界面做得確實(shí)不是很漂亮。4、 應(yīng)用系統(tǒng)設(shè)計(jì)1、 我們將整個(gè)系

16、統(tǒng)分成了如下幾個(gè)模塊。最初是個(gè)登錄界面,如圖1所示。 圖1 進(jìn)入系統(tǒng)的密碼登錄框 有兩種選擇,可以以管理員登錄,可以以一般用戶登錄,但是一般用戶登錄前需要先注冊,只有注冊成功后才可以登錄。2、 在用戶名和密碼都正確的情況下我們將進(jìn)入在線書店管理系統(tǒng)的主界面,分為管理員界面和一般用戶界面,如下圖2,圖3所示。 圖2 管理員登錄 圖3 一般用戶登錄 1) 點(diǎn)擊圖2界面的登錄按鈕進(jìn)入管理員界面。在這里我們提供了管理員查看圖書(圖4)、添加圖書(圖5)、查看庫存(圖6)、圖書入庫(圖7)、修改圖書功能(圖8)。a 在進(jìn)入這個(gè)頁面后,管理員可以查看現(xiàn)有的圖書,可以點(diǎn)擊修改按鈕,進(jìn)行相應(yīng)圖書信息的修改。

17、圖4 管理員查看圖書b在這個(gè)頁面中,管理員可以添加圖書以及圖書的一些相關(guān)信息,比如書名、作者、出版社、價(jià)格等信息,點(diǎn)擊保存后,新的圖書將保持到數(shù)據(jù)庫中。圖5 管理員添加圖書c在這個(gè)頁面,管理員可以查看現(xiàn)有的庫存,可以查看圖書的書名、庫存總數(shù)、入庫時(shí)間等相關(guān)信息。圖6 管理員查看庫存d在圖書入庫這個(gè)功能模塊中,管理員可以將新的圖書添加到圖書的庫存中。需要填圖書的數(shù)量和上架時(shí)間。圖7 圖書入庫e管理員可以根據(jù)實(shí)際需要,對圖書信息進(jìn)行相關(guān)的修改,比如作者、出版社、價(jià)格等。圖8 管理員可以修改圖書信息2) 點(diǎn)擊圖3界面的登錄按鈕進(jìn)入一般用戶登錄界面。在這里我們提供了瀏覽圖書(圖9)、查看購物車(圖10

18、)、我的訂單功能(圖11)。a在進(jìn)入一般用戶的界面后,用戶可以看看這個(gè)網(wǎng)上書店有些什么書,便于用戶選擇,該模塊還提供了購買功能,可以選擇放到購物車這個(gè)按鈕。先將圖書放到購物車。圖9 瀏覽圖書b進(jìn)入查看購物車,可以查看用戶剛剛購買的圖書,這時(shí)用戶可以選擇移出購物車,放棄剛才購買的圖書,也可以選擇進(jìn)入結(jié)算中心,看看剛才購買的圖書的相關(guān)信息,包括價(jià)格等等。圖10-1 查看購物車 c用戶可以選擇將圖書移出購物車。圖10-2 用戶將圖書移出購物車d用戶進(jìn)入結(jié)算中心后,可以查看剛剛購買圖書的一些購買信息,并給用戶算出了價(jià)格和購買數(shù)量,并且列出了訂單的詳細(xì)信息,這時(shí)候用戶可以填寫訂單信息,從而生成訂單。圖1

19、0-3 進(jìn)入結(jié)算中心后e點(diǎn)擊生成訂單后,就顯示出剛剛生成的訂單的詳細(xì)信息,包括提交訂單、詳細(xì)信息、修改和刪除功能。像第二行,就是點(diǎn)擊提交訂單后就變成了已提交。提交以后只能查看詳細(xì)信息,而未提交以前可以提交、修改、刪除。圖10-4 已生成訂單的詳細(xì)信息f詳細(xì)信息展示:g修改相關(guān)的信息,當(dāng)點(diǎn)擊修改按鈕時(shí),會(huì)提示確認(rèn)修改么,目的是為了避免用戶的誤操作。點(diǎn)擊確認(rèn)后,可以對剛才生成的詳細(xì)信息進(jìn)行修改,點(diǎn)擊修改訂單,可以生成新的訂單信息。 h當(dāng)刪除時(shí),同樣會(huì)有提示,也是為了避免用戶的誤操作:當(dāng)點(diǎn)擊確認(rèn)后,圖書將從訂單中刪除:i 用戶可以查看自己的訂單:附錄本設(shè)計(jì)選用了java語言完成,由于程序代碼較多,故

20、在此處選擇主要代碼進(jìn)行展示如下。1、/用戶注冊import com.ShopException;import com.dao.UserDAO;import com.model.User;public class UserService private UserDAO userDAO = new UserDAO(); public void reg(User u) User u2 = userDAO.findByName(u.getName(); if (u2 != null) throw new ShopException("用戶名已存在"); userDAO.add(u)

21、; public User login(User user) User user2 = userDAO.findByName(user.getName(); if (user2 = null) throw new ShopException("用戶名不存在"); if (user.getPasswd() != null && !user.getPasswd().equals(user2.getPasswd() throw new ShopException("瀵嗙爜閿欒"); return user2; public void updat

22、eUser(User user) userDAO.update(user); public void changePasswd(int id, String passwd) userDAO.updatePasswd(id, passwd); 2、/管理員添加圖書、查看圖書列表、查看庫存package com.service;import java.util.List;import com.ShopException;import com.dao.BookDAO;import com.dao.StorgeDAO;import com.model.Book;import com.model.Sto

23、rage;public class AdminService private BookDAO bookDAO = new BookDAO();private StorgeDAO storgeDAO = new StorgeDAO();/ 單例模式private AdminService() private static AdminService adminService;public static AdminService getInstance() if (adminService = null) adminService = new AdminService();return adminS

24、ervice;public void addBook(Book book) if (bookDAO.findByName(book.getName() != null)throw new ShopException("圖書已存在");bookDAO.add(book);public List<Book> listBook() List<Book> list = bookDAO.list();System.out.println(list.size();return list;public Book getBook(int id) return boo

25、kDAO.findById(id);public void updateBook(Book book) bookDAO.update(book);public void addStorage(Storage s) Storage s2 = storgeDAO.findByBookId(s.getBookId();if (s2 = null)storgeDAO.add(s);else s2.setAmount(s2.getAmount() + s.getAmount();storgeDAO.update(s2);public List<Storage> listStorage() L

26、ist<Storage> list = storgeDAO.list();for (Storage s : list) s.setBook(bookDAO.findById(s.getBookId();return list;3、/消費(fèi)者:提交、修改、刪除訂單import java.util.List;import com.dao.BookDAO;import com.dao.OrderBookDAO;import com.dao.OrderDAO;import com.dao.StorgeDAO;import com.model.Book;import com.model.Car

27、tItem;import com.model.Order;import com.model.OrderBook;import com.model.ShopCart;import com.model.Storage;public class CustomerService private StorgeDAO storgeDAO = new StorgeDAO();private BookDAO bookDAO = new BookDAO();private OrderDAO orderDAO=new OrderDAO();private OrderBookDAO obookDAO=new Ord

28、erBookDAO();public List<Storage> listStores() return storgeDAO.findBookInStore();public Book findBookById(int id) return bookDAO.findById(id);public void viewCart(ShopCart cart) for (CartItem m : cart.getItems().values() if (m.getBook() = null) Book book = bookDAO.findById(m.getBookId();m.setB

29、ook(book);public void generateOrder(Order order,List<OrderBook> obooks)/保存orderorderDAO.add(order);/保存orderBook的列表for(OrderBook obook:obooks)obook.setOrderid(order.getId();/只有order保存過以后才會(huì)成生idobookDAO.add(obook);public List<Order> listOrderByUser(int userid)return orderDAO.findByUser(user

30、id);public Order findOrderById(int id) return orderDAO.findById(id);/修改和提交訂單都可調(diào)用此方法public void updateOrder(Order order)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 java.util.List;import com.model.Book;public class

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論