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

下載本文檔

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

文檔簡介

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

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

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

4、為管理員表(Admin)、用戶注冊表(User)、圖書信息登記表(Book)、圖書上架信息登記表(Storage)、購物車圖書列表(Shopcar),用戶購買書籍的訂單表(Order)、訂單明細表(OrderBook)、購物車表(CartItem)。3、系統(tǒng)功能概要圖登錄界面用戶類型選擇 管理員登錄一般用戶登錄查看購物車瀏覽圖書更改密碼我的訂單個人信息安全退出圖書入庫查看庫存添加圖書查看圖書更改密碼個人信息4、運行環(huán)境操作系統(tǒng):windows xp數(shù)據(jù)庫:MySql數(shù)據(jù)庫程序環(huán)境:MyEclipse 6.52、 數(shù)據(jù)庫的設計1、 數(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、明細表create table OrderBook(idintprimary keyauto_increment,- 主鍵orderidint,- 訂單編號bookidint,- 圖書編號pricedoublenot nulldefault 0,- 單價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ù)在實際操作中插入。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價格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、編號IntegerbookId圖書編號Integer price單價Double amount訂購數(shù)量Integer Storage表:字段名 字段說明 類型 id 主鍵Integer bookId 圖書Varchar amount數(shù)量Integer inDate上貨時間Varchar CartItem表:字段名 字段說明 類型 id 主鍵Integer bookId圖書編號IntegerAmount購書總數(shù)Integer ShopCart表:字段名 字段說明 類型 id 主鍵Integer userId用戶編號Varchar bookId圖書編號Integer 5、 ER圖三、開發(fā)方案介紹由

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

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

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

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

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

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

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

20、在此處選擇主要代碼進行展示如下。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、/消費者:提交、修改、刪除訂單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保存過以后才會成生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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論