基于Dephi的網(wǎng)上書店管理系統(tǒng)的設(shè)計課程_第1頁
基于Dephi的網(wǎng)上書店管理系統(tǒng)的設(shè)計課程_第2頁
基于Dephi的網(wǎng)上書店管理系統(tǒng)的設(shè)計課程_第3頁
基于Dephi的網(wǎng)上書店管理系統(tǒng)的設(shè)計課程_第4頁
基于Dephi的網(wǎng)上書店管理系統(tǒng)的設(shè)計課程_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于Dephi的網(wǎng)上書店管理系統(tǒng)的設(shè)計 -數(shù)據(jù)庫原理課程設(shè)計姓 名: _班 級: _學(xué) 號: _指導(dǎo)老師: _成 績: _評 語計算機(jī)工程學(xué)院2008年1月10日基于Dephi的網(wǎng)上書店管理系統(tǒng)的設(shè)計摘要 信息社會的高科技,商品經(jīng)濟(jì)化的高效益,使計算機(jī)的應(yīng)用已普與到經(jīng)濟(jì)和社會生活的各個領(lǐng)域。隨著Internet的興起,網(wǎng)絡(luò)已經(jīng)成為現(xiàn)代人生活中的一部分,人們越來越想在最短的時間購買到自己所需要的圖書。于是信息化管理成為網(wǎng)上書店的必然趨勢,本系統(tǒng)就是基于Dephi的網(wǎng)上書店管理系統(tǒng),通過本系統(tǒng)的開發(fā)能夠更方便書店的管理,使書店的管理者能夠更清晰的掌握書店的銷售情況。并且通過本系統(tǒng)的使用能夠達(dá)到減少

2、店員的工作量和提高工作效率的目的。本系統(tǒng)主要功能包括錄入功能、查詢功能、管理功能。1錄入功能錄入功能包括錄入圖書、銷售圖書、退出功能。(1)錄入圖書。書店工作人員能夠輸入圖書的基本信息。(2)銷售圖書。用于計錄銷售的圖書的信息。(3)退出功能。用于退出系統(tǒng)。2查詢功能查詢功能包括按書號查詢、按書名查詢、按查詢、按類別查詢、按作者查詢。(1)精確查詢。書店工作人員能夠通過輸入書號、書名、ISBN 、書的類別等來進(jìn)行精確的查詢。(2)模糊查詢。書店工作人員能夠通過輸入關(guān)鍵字來進(jìn)行模糊的查詢。這些功能在本系統(tǒng)中具體是:書店的資料管理、進(jìn)貨管理、銷售管理、庫存信息管理。通過測試,基本實現(xiàn)了網(wǎng)上書店正常

3、運作的信息化管理。在Internet上通過它用戶可以突破時間和空間的限制來實現(xiàn)網(wǎng)上購書,為消費者帶來了很大的方便,使他們足不出戶就可以買到自己想要的書;還有一個最大的優(yōu)勢是便于管理員的管理與維護(hù),既省時又省力。它還有著經(jīng)營成本低、庫存是虛擬的、用戶檢索方便、地域限制少等特點。關(guān)鍵詞 Delphi 書店管理 查詢目錄第一章1.11.21.31.4第二章1.51.61.7第三章1.81.9第四章1.101.111.121.13第五章1.141.151.16第六章1.17第七章1.18背景計算機(jī)的出現(xiàn)給人類社會帶來了第三次工業(yè)革命,計算機(jī)和計算機(jī)網(wǎng)絡(luò)已經(jīng)深入到了各行各業(yè),各個領(lǐng)域,隨著interne

4、t的不斷擴(kuò)大和發(fā)展,電腦網(wǎng)絡(luò)“把每一個國家、每一個城市甚至每一個家庭連接到一起”,形成了一條“信息高速路”,就像高速公路大大提高了車輛行駛的速度一樣。提高信息網(wǎng)上書店的信息化管理是必然的趨勢。意義通過開發(fā)網(wǎng)上書店管理系統(tǒng),可以大大的方便管理員的管理與維護(hù),既省時又省力。并且具有經(jīng)營成本低、庫存是虛擬的、用戶檢索方便、地域限制少等。1.19開發(fā)一個集成書店的資料管理、進(jìn)貨管理、銷售管理、庫存信息管理、權(quán)限管理系統(tǒng)一體的書店點管理系統(tǒng)。本系統(tǒng)的要:簡單易用,具有很好的穩(wěn)定性、安全性、交互性。其中穩(wěn)定性要求主要能夠處理各種特殊情況,保證系統(tǒng)能正常運行;安全性要求主要涉與到不同的用戶和和管理員擁有不同

5、權(quán)限;交互性要求主要是能夠方便用戶的操作。1.20操作系統(tǒng)Windows XP 軟件 Delphi第二章 需求分析根據(jù)上述體系結(jié)構(gòu)設(shè)計可以將網(wǎng)上書店管理系統(tǒng)劃分為多個相關(guān)聯(lián)的子系統(tǒng)(功能模塊),然后逐個分析各個子功能模塊需求。1.信息與處理要求(1)資料管理主要是圖書資料的管理、供貨商資料管理、客戶資料管理。圖書資料主要包括ISBN、書名、作者、出版商、定價、字?jǐn)?shù)、類別、規(guī)格等信息;供貨商資料主要包括供貨商號、名稱、地址、 、銀行開戶等信息;客戶資料主要包括客戶編號、聯(lián)系人、用戶類型、地址、聯(lián)系、 、銀行開戶等信息。圖書資料管理,主要是對圖書的查詢、添加、更新、刪除等操作,特別是圖書的查詢包括

6、精確查詢和模糊查詢。(2)進(jìn)貨管理主要是對圖書的進(jìn)貨情況查詢、進(jìn)貨處理。根據(jù)需要可以將采購訂單、入庫單、銷售單根據(jù)第二式都分為主從兩表來存放數(shù)據(jù),主表“進(jìn)貨單”的容包括編號、供貨商、進(jìn)貨日期、業(yè)務(wù)員、制單人、訂單號等,從表“進(jìn)貨單明細(xì)”容包括編號、進(jìn)貨單號、貨號、進(jìn)貨數(shù)量、進(jìn)價等信息。圖書進(jìn)貨單業(yè)務(wù)員和制單人完成進(jìn)貨登記,然后相應(yīng)的管理系統(tǒng)自動更新數(shù)據(jù)庫。另外一個是歷史查詢,主要是用于查詢商品的進(jìn)貨歷史,具有該權(quán)限的用戶可以按照任何條件進(jìn)行查詢,如按照供貨商、日期、商品等。執(zhí)行完查詢后可以打印相應(yīng)的報表。(3)銷售管理主要是將客戶的銷售單錄入數(shù)據(jù)庫,更新相應(yīng)的數(shù)據(jù)并且可以執(zhí)行銷售情況查詢。主表

7、“銷售單”包含編號、客戶編號、銷售日期、也無人、制單人、訂單號等信息;從表“銷售單明細(xì)”包含編號、銷售單號、貨號、銷售數(shù)量、銷售價出貨倉庫等信息。圖書銷售管理人員要完成圖書銷售登記,并由系統(tǒng)自動更新數(shù)據(jù)庫。管理人員可以更具需要按某個條件查詢銷售歷史,如按照客戶編號、日期、商品、業(yè)務(wù)員等信息查詢。(4)庫存管理子系統(tǒng)主要是管理圖書庫存信息,如查詢某圖書的庫存量,倉庫庫存等。(另外可以查詢歷史庫存相關(guān)信息。(5)系統(tǒng)管理,即用戶權(quán)限管理。這主要對不同的業(yè)務(wù)員和管理員授于不同的管理權(quán)限,以實現(xiàn)系統(tǒng)的安全性。例如系統(tǒng)員具有最高權(quán)限,可以對其他用戶根據(jù)需要授與相應(yīng)的權(quán)限管理。而銷售員只能執(zhí)行銷售有關(guān)的操

8、作,如制作圖書銷售單、錄入圖書銷售信息、查詢銷售歷史等操作;進(jìn)貨員只執(zhí)行進(jìn)貨有關(guān)的操作,如制作圖書進(jìn)貨單、錄入圖書進(jìn)貨情況、查詢進(jìn)貨歷史等操作。該子系統(tǒng)涉與到權(quán)限清單和用戶清單。數(shù)據(jù)流圖:2安全性與完整性要求安全性要求:(1)登錄系統(tǒng),驗證用戶是否具有使用圖書管理系統(tǒng)的權(quán)限,只有合法的用戶才能登錄本系統(tǒng),然后執(zhí)行相關(guān)的操作。另外對用戶密碼應(yīng)該進(jìn)行加密。(2)通過用戶權(quán)限管理來完成,對于不同的用戶只能執(zhí)行該用戶被授予的相關(guān)的操作。系統(tǒng)管理員具有系統(tǒng)的最高權(quán)限,可以進(jìn)行對其他用戶進(jìn)行授權(quán)。 完整性要求:(1) 當(dāng)有進(jìn)貨或銷售的時候要將其錄入詳細(xì)歷史,同時更新倉庫的數(shù)據(jù)。當(dāng)系統(tǒng)管理員授予其他用戶相應(yīng)

9、的權(quán)限時,應(yīng)該跟新其他用戶的操作權(quán)限。(2) 對相應(yīng)的錄入數(shù)據(jù)做數(shù)據(jù)的合法性,對不合法的數(shù)據(jù)要拒絕本次操作,防止“垃圾進(jìn)垃圾出”信息。當(dāng)刪除某個信息的時候,要相應(yīng)的刪除其相關(guān)聯(lián)的信息。(三)概念結(jié)構(gòu)設(shè)計 1.各個部分的ER圖(1)業(yè)務(wù)員與權(quán)限業(yè)務(wù)員基本屬性(業(yè)務(wù)員號,名稱,權(quán)限級別,密碼)權(quán)限清單基本屬性(權(quán)限序號,業(yè)務(wù)員號,權(quán)限名稱)(2)供貨商、進(jìn)貨單與進(jìn)貨明細(xì)供貨商基本屬性(供貨商號、名稱、地址、 、地區(qū)、地址、開戶行、銀行賬號、業(yè)務(wù)員、業(yè)務(wù)部門)進(jìn)貨單基本屬性(編號、進(jìn)貨商號、進(jìn)貨日期、業(yè)務(wù)員、制單人、總金額)進(jìn)貨單明細(xì)(編號、進(jìn)貨單號、進(jìn)貨數(shù)量、進(jìn)價、倉庫、合計)(3) 客戶、銷售單

10、與銷售單明細(xì)客戶基本屬性(客戶編號,名稱,聯(lián)系人,地址, ,區(qū)號,地址,開戶行,銀行賬號)銷售單基本屬性(編號,客戶編號,銷售日期,業(yè)務(wù)員,制單人)銷售單明細(xì)基本屬性(編號,銷售單號,ISBN,銷售數(shù)量,銷售價,倉庫,總額)(4) 進(jìn)貨單明細(xì)與圖書圖書基本屬性(ISBN,書名,作者,出版日期,類別,開本規(guī)格,進(jìn)貨價,銷售價,)(5)銷售單明細(xì)與圖書(6)進(jìn)貨單、銷售單與倉庫2.合并后的總ER圖供貨商進(jìn)貨單進(jìn)貨單明細(xì)客戶銷售單銷售單明細(xì)圖書 地址名稱 供貨商號銷售日期編號業(yè)務(wù)員制單人郵箱地址銀行賬號客戶編號名稱編號進(jìn)貨單號進(jìn)貨數(shù)量聯(lián)系人 1MN編號銷售日期業(yè)務(wù)員制單人書號書名作者定價出版日期11

11、M1M1N編號銷售單號總額業(yè)務(wù)員區(qū)號銀行賬號1N倉庫倉庫MNMN倉庫號書號倉庫(四)邏輯結(jié)構(gòu)設(shè)計1. ER圖轉(zhuǎn)換為關(guān)系模型轉(zhuǎn)換的為l 業(yè)務(wù)員表(業(yè)務(wù)員號,名稱,密碼)l 權(quán)限清單(權(quán)限序號,業(yè)務(wù)員號,權(quán)限名稱)l 供貨商表(供貨商號、名稱、地址、 、地區(qū)、地址、開戶行、銀行賬號、業(yè)務(wù)員、業(yè)務(wù)部門)l 進(jìn)貨單表(編號,進(jìn)貨商號,進(jìn)貨日期,業(yè)務(wù)員,制單人,倉庫,總金額)l 進(jìn)貨單明細(xì)表(編號,進(jìn)貨單號,書號,進(jìn)貨數(shù)量,進(jìn)價,倉庫,總額)l 客戶表(客戶編號,名稱,聯(lián)系人,地址, ,區(qū)號,地址,開戶行,銀行賬號)l 銷售單表(編號,客戶編號,銷售日期,業(yè)務(wù)員,制單人)l 銷售單明細(xì)表(編號,銷售單號

12、,書號,銷售數(shù)量,銷售價,倉庫,總額)l 書目清單(書號,書名,作者,出版日期,類別,開本規(guī)格,進(jìn)貨價,銷售價,)l 倉庫表(倉庫號,書號);l 進(jìn)貨(進(jìn)貨編號, 倉庫號)l 銷售(銷售編號,倉庫號)轉(zhuǎn)換過程中應(yīng)用的規(guī)則是:1. 若是實體間聯(lián)系是1:1,可以在兩個實體類型轉(zhuǎn)換成的兩個關(guān)系模式中任意一個的屬性中加入另一個關(guān)系模式的鍵和聯(lián)系類型的屬性。2. 若是實體間聯(lián)系是 1:N,則在N端實體類型轉(zhuǎn)換成的關(guān)系模式中加入1端實體類型的鍵和聯(lián)系類型的屬性。3若實體間聯(lián)系為M:N,則將聯(lián)系類型也轉(zhuǎn)換成關(guān)系模型,其屬性為兩端實體類型的屬性的鍵加上類型的屬性,而鍵為兩端實體鍵的組合。4.2 數(shù)據(jù)模型的優(yōu)化

13、經(jīng)分析,上述所有關(guān)系模型均已達(dá)到第三式,故無效在進(jìn)行優(yōu)化。3.數(shù)據(jù)字典業(yè)務(wù)員表:描述列名數(shù)據(jù)類型業(yè)務(wù)員編號業(yè)務(wù)員號char(6)登錄賬號用戶名Varchar(10)登錄密碼密碼Varchar(20)權(quán)限清單表:描述列名數(shù)據(jù)類型權(quán)限編號權(quán)限編號char(4)業(yè)務(wù)員號用戶編號char(6)權(quán)限類型權(quán)限名稱Varchar(10)供貨商表:描述列名數(shù)據(jù)類型供貨商編號供貨商號char(6)供貨商名稱名稱Varchar(30)地址地址Varchar(40)char(6)區(qū)號區(qū)號char(4)聯(lián)系char(12)Email地址Varchar(20)開戶行開戶行Varchar(20)銀行賬號銀行賬號Varch

14、ar(20)業(yè)務(wù)員便號業(yè)務(wù)員號char(6)進(jìn)貨單表:描述列名數(shù)據(jù)類型進(jìn)貨單編號編號Varchar(6)供貨商編號供貨商號char(6)進(jìn)貨日期進(jìn)貨日期char(10)業(yè)務(wù)員編號業(yè)務(wù)員號char(6)制單人制單人char(10)總共金額總額Varchar(20)倉庫號倉庫號char(4)進(jìn)貨單明細(xì)表:描述列名數(shù)據(jù)類型進(jìn)貨單明細(xì)編號編號char(6)進(jìn)貨單編號進(jìn)貨單號char(10)書號書號char(20)數(shù)量進(jìn)貨數(shù)量Varchar(4)圖書進(jìn)價進(jìn)價Varchar(4)倉庫編號倉庫號char(4)總額總額Varchar(8)銷售單表:描述列名數(shù)據(jù)類型銷售單編號編號char(6)客戶編號客戶編號c

15、har(6)銷售日期銷售日期char(10)業(yè)務(wù)員編號業(yè)務(wù)員號char(6)制單人制單人char(10)銷售單明細(xì)表:描述列名數(shù)據(jù)類型編號編號char(6)銷售單號銷售單號char(6)書號書號char(20)銷售數(shù)量銷售數(shù)量varchar(4)銷售價格,即定價銷售價char(4)倉庫號倉庫號char(4)總金額總額Varchar(8)l 客戶表(客戶編號,名稱,聯(lián)系人,地址, ,區(qū)號,地址,開戶行,銀行賬號)客戶表:描述列名數(shù)據(jù)類型客戶編號編號char(6)名稱名稱char(10)聯(lián)系人聯(lián)系人char(10)地址varchar(20)char(4)區(qū)號區(qū)號char(4)char(12)Ema

16、il地址Varchar(20)開戶行開戶行Varchar(20)銀行賬號銀行賬號Varchar(20)l 書目清單(書號,書名,作者,出版日期,類別,開本規(guī)格,進(jìn)貨價,銷售價,)l 倉庫表(倉庫號,書號);l 進(jìn)貨(進(jìn)貨編號, 倉庫號)l 銷售(銷售編號,倉庫號)書目清單表:描述列名數(shù)據(jù)類型書號書號char(6)名稱作者char(10)聯(lián)系人char(10)出版日期varchar(20)類別char(4)區(qū)號開本規(guī)格char(4)進(jìn)貨價char(12)Email銷售價Varchar(20)(五) 數(shù)據(jù)庫的實施和維護(hù)1 存儲過程設(shè)計(1)/* 此存儲過程是為了實現(xiàn)當(dāng)貨物進(jìn)貨時,庫存量要在相應(yīng)的書

17、目中實現(xiàn)增加相應(yīng)的數(shù)量*/create proc P_進(jìn)貨制單人 varchar(50)=null,調(diào)整日期 datetime=nullasbegin transactioninsert into 庫存庫(書號,倉庫,庫存數(shù),庫存單價,庫存金額,制單人,調(diào)整日期)select distinct j.貨號,j.倉庫,0,0,0,制單人,調(diào)整日期from 進(jìn)貨單明細(xì) as j left join 庫存庫 as k on (j.倉庫=k.倉庫 and j.貨號=k.書號)where k.書號 is nullupdate 庫存庫 set 庫存單價=進(jìn)價,庫存數(shù)=庫存數(shù)+數(shù)量all,庫存金額=case

18、when 庫存數(shù)<=0 or (庫存數(shù)+數(shù)量all)<=0 then 進(jìn)價*(庫存數(shù)+數(shù)量all) else (庫存金額+金額all)endfrom(select 倉庫,貨號, '數(shù)量all'=sum(進(jìn)貨數(shù)量),'金額all'=sum(合計),'進(jìn)價'=sum(合計)/sum(進(jìn)貨數(shù)量)from 進(jìn)貨單明細(xì) group by 倉庫,貨號) as lsjwhere 庫存庫.倉庫=lsj.倉庫 and 庫存庫.書號=lsj.貨號 insert into 進(jìn)貨單明細(xì)歷史 select * from 進(jìn)貨單明細(xì)delete from 進(jìn)貨單

19、明細(xì)commit(2)/* 此存儲過程是為了實現(xiàn)當(dāng)貨物被銷售時,庫存量要在相應(yīng)的書目中實現(xiàn)減少相應(yīng)的數(shù)量*/create proc P_銷售制單人 varchar(50)=null,調(diào)整日期 datetime=nullasbegin transactionupdate 庫存庫 set 庫存數(shù)=庫存數(shù)-數(shù)量all,庫存金額=庫存單價*(庫存數(shù)-數(shù)量all)from(select 倉庫,書號, '數(shù)量all'=sum(銷售數(shù)量) from 銷售單明細(xì) group by 倉庫 ,書號) as lsjwhere 庫存庫.倉庫=lsj.倉庫 and 庫存庫.書號=lsj.書號insert

20、 into 銷售單明細(xì)歷史 select * from 銷售單明細(xì)delete from 銷售單明細(xì)commit2 視圖設(shè)計/*此視圖是為實現(xiàn)查看庫存中各個書目具體的數(shù)量*/create view cangkuasselect 庫存庫.書號,書目清單.書名,書目清單.單位,庫存庫.倉庫,庫存庫.庫存數(shù),庫存庫.庫存單價,庫存庫.庫存金額 from 庫存庫,書目清單 where 庫存庫.書號=書目清單.書號4.觸發(fā)器設(shè)計(1)/*此觸發(fā)器是為了實現(xiàn)在插入倉庫記錄時,倉庫號只能插入1、2、3、4、5(因為倉庫只用1,2,3,4,5)*/create trigger tri_inserton 進(jìn)貨單

21、明細(xì) for insertasif exists(select inserted.倉庫 from inserted where 倉庫 not in ('1','2','3','4','5')beginprint'不能插入除 1,2,3,4,5之外的倉庫'rollback transactionend(2)/*此觸發(fā)器是為了實現(xiàn)在插入進(jìn)貨表或銷售表時,業(yè)務(wù)員只能插入錦何、松壇、微微(因為業(yè)務(wù)員只有錦何,松壇,微微)*/create trigger tri_insert2on 進(jìn)貨單 for inser

22、tasif exists(select inserted.業(yè)務(wù)員 from inserted where 業(yè)務(wù)員 not in ('錦何','松壇','微微')beginprint'不能插入除 錦何,松,微微 之外的倉庫'rollback transactionend(3)/*此觸發(fā)器是為了實現(xiàn)在插入倉庫記錄時,倉庫號只能插入1、2、3、4、5(因為倉庫只用1,2,3,4,5)*/create trigger tri_insert3on 銷售單明細(xì) for insertasif exists(select inserted.倉庫 from inserted where 倉庫 not in ('1','2','3','4','5')beginprint'不能插入除 1,2,3,4,5之外的倉庫'rollback tran

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論