書店會員管理系統(tǒng)_第1頁
書店會員管理系統(tǒng)_第2頁
書店會員管理系統(tǒng)_第3頁
書店會員管理系統(tǒng)_第4頁
書店會員管理系統(tǒng)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)庫原理及應(yīng)用課程設(shè)計(jì)報告設(shè)計(jì)題目:書 店 會 員 管 理 系 統(tǒng)目錄一、背景及意義-2 1.1 引言 -21.2 項(xiàng)目目標(biāo)與背景-2 1.3 用戶特點(diǎn) -2 二、需求分析-2 2.1 目的與要求 -2 2.2 功能需求 -3 2.3 數(shù)據(jù)流圖 -3 2.4 數(shù)據(jù)字典 -5 三、概念結(jié)構(gòu)設(shè)計(jì)-7四、邏輯結(jié)構(gòu)設(shè)計(jì)和物理結(jié)構(gòu)設(shè)計(jì)-8 4.1 系統(tǒng)關(guān)系模型-8 4.2 系統(tǒng)數(shù)據(jù)表結(jié)構(gòu)-8 4.3 數(shù)據(jù)庫的存儲結(jié)構(gòu)-9 五、物理結(jié)構(gòu)設(shè)計(jì)-10 - 1 - 六、數(shù)據(jù)庫實(shí)施和維護(hù)-12 6.1 數(shù)據(jù)庫的實(shí)施-12 6.2 數(shù)據(jù)庫的維護(hù)-17 七、系統(tǒng)運(yùn)行情況及用戶界面 -17 八、課程設(shè)計(jì)的過程、體會及

2、建議 -22 一 背景及意義1.1 引言社會生活的現(xiàn)代化, 使得市場的走向發(fā)生巨大變化,由于經(jīng)濟(jì)的發(fā)展, 人們對生活的需求已經(jīng)不再足于豐衣足食的低度要求,許多人們往往不是單純?yōu)闈M足生活必需去購買, 而是憑著喜歡, 意欲和感觀去購買。 書店與顧客之間的交流也隨著書店的多樣化、 商業(yè)化而削弱, 書店之間的競爭更加激烈。 如果一個書店能夠加深與顧客的交流, 提升服務(wù)質(zhì)量以致打動顧客, 吸引顧客,自然會顧客盈門。1.1.1 編寫目的這份需求分析文檔是用戶 (客戶)對即將開發(fā)的系統(tǒng)的功能要求,是作為系統(tǒng)設(shè)計(jì)和開發(fā)者的主要依據(jù),更方便系統(tǒng)設(shè)計(jì)及開發(fā)人員工作的開展。1.2 項(xiàng)目目標(biāo)與背景通過對書店會員管理業(yè)

3、務(wù)的特點(diǎn)進(jìn)行分析,使用現(xiàn)有的工具, 開發(fā)出一個能夠?qū)T信息,購物情況統(tǒng)計(jì),返利等進(jìn)行綜合管理的管理信息系統(tǒng)。項(xiàng)目名稱:書店會員管理系統(tǒng)軟件開發(fā)者:吳輝、陳柳剛、王楷木(組長)、鄧媛元1.3 用戶特點(diǎn)本軟件的最終用戶是面向用戶、讀者(老師和同學(xué)等),他們都具有一定的計(jì)算機(jī)應(yīng)用基礎(chǔ),可以比較熟練操作計(jì)算機(jī)。用戶和讀者都是經(jīng)常性用戶。系統(tǒng)維護(hù)人員為計(jì)算機(jī)專業(yè)人員,熟悉數(shù)據(jù)庫、 操作系統(tǒng)、 網(wǎng)絡(luò)維護(hù)工作。 維護(hù)人員為間隔性用戶。二、需求分析2.1 目的與要求- 2 - 隨著計(jì)算機(jī)技術(shù)的發(fā)展和網(wǎng)絡(luò)人口的增加,網(wǎng)絡(luò)世界也越來越廣博, 越來越豐富,在線書店已經(jīng)成為網(wǎng)上的一股潮流。我們相信要不了太長有時間,

4、顧客就可以在網(wǎng)絡(luò)世界上獲得他們在現(xiàn)實(shí)世界上可以獲得的所有商品和服務(wù)。主要要求及特點(diǎn)如下:1、客戶可通過 ie 或其他瀏覽器瀏覽書目信息并提交訂單;3、后臺數(shù)據(jù)庫用microsoft sql ;4、采用 b/s 方式設(shè)計(jì);5、系統(tǒng)采用會員制,會員享受對應(yīng)等級優(yōu)惠服務(wù);6、具有購物車功能;7、對購物車可增加新書、修改數(shù)量、移除已選書籍等,確認(rèn)后,完成交易;8、系統(tǒng)應(yīng)具備一定的安全性與可靠性;9、客戶應(yīng)能通過作者姓名、書名或者isbn號來檢索書籍;10、客戶可在網(wǎng)上進(jìn)行注冊,成為會員;11、會員可以查詢并修改自己基本信息;2.1.1 可行性研究的前提該系統(tǒng)能夠?qū)崿F(xiàn)對書店會員的各類信息錄入,刪除,修改

5、和查詢操作, 能夠?qū)崿F(xiàn)對各種統(tǒng)計(jì)信息的查詢,并可以輸出。2.1.2 技術(shù)可行性硬件、軟件、運(yùn)行環(huán)境和開發(fā)環(huán)境方面的條件和限制:軟件需求: 操作系統(tǒng)windows 2000,xp以上;數(shù)據(jù)庫服務(wù)器端軟件microsoft sql server 2005。硬件方面也能滿足, 由此知使用現(xiàn)在的技術(shù)是可以實(shí)現(xiàn)這個書店會員管理系統(tǒng)的。2.1.3 經(jīng)濟(jì)可行性要完成這樣的書店會員方面管理系統(tǒng),并不像真正用于書店各方面管理系統(tǒng)那么復(fù)雜和龐大, 所需要的人力物力資源會比較少,所以在經(jīng)濟(jì)可行性上是可以接受的。2.2 功能需求書店會員管理系統(tǒng)的功能主要有:1、會員基本信息管理2、書本信息管理3、會員積分管理4、購物

6、管理5、購物記錄管理。23 數(shù)據(jù)流圖系統(tǒng)頂層流圖,如圖2.3.1 - 3 - 圖 2.3.1 0 層圖,如圖 2.3.2 圖 2.3.2 書店會員管理系統(tǒng)基 本 信 息 管理表會員類型管理表會員積分管理表書 店 購 物 積分管理表信息查詢管理信息會員查詢管理會員類型圖書查詢管理購物積分購物積分查詢查詢修改積積分查詢會員書籍評論管理表圖書信息管理表修改圖書信息添加評論查看評論會員書店會員管理系統(tǒng)管理員查詢會員信息會員信息會員信息修改管理員信息會員購物信息會員積分管理- 4 - 2.4 數(shù)據(jù)字典數(shù)據(jù)項(xiàng)是數(shù)據(jù)庫的關(guān)系中不可再分的數(shù)據(jù)單位,下表分別列出了數(shù)據(jù)的名稱、數(shù)據(jù)類型、長度、取值能否為空。其基本

7、表清單及表結(jié)構(gòu)描述如下:數(shù)據(jù)庫中用到的表:數(shù)據(jù)庫表名關(guān)系模式名稱備注book 圖書信息圖書信息信息表booktype 圖書分類圖書類型表comment 書籍評論書籍評論表member 積分積分表orderdetails 購物車購物單表orders 訂單訂單表userinfo 信息會員和管理員信息表book數(shù)據(jù)表基本情況如下:字段名字段類型約束控制說明bookid int primary key 圖書編號booktype int not null 圖書類型bookname varchar(100) not null 圖書名稱bookauthor varchar(30) not null 圖書作者

8、bookpublic varchar(100) not null 出版社bookprice decimal(18,2) not null 圖書定價bookcover varchar(200) booktranslator varchar(30) 譯者bookdescribe text 書籍表述bookhits int booksales int bookstorage int booktype數(shù)據(jù)表基本情況如下:字段名字段類型約束控制說明booktypeid int primary key 圖書類型號booktypename varchar(50) not null 圖書類型名booktype

9、memo varchar(200) comment 數(shù)據(jù)表基本情況如下:字段名字段類型約束控制說明commentid int primary key 評論號- 5 - bookid int not null 書籍號commentatorname varchar(50) 評論名commentatormail varchar(50) 評論者郵箱commenttitle varchar(100) 評論主題commentdetails text not null 評論內(nèi)容postdate datetime not null 發(fā)表日期member 數(shù)據(jù)表情況如下:字段名數(shù)據(jù)類型約束控制說明userid

10、nhar(10) primary key 會員號mlevl int not null 會員等級bookdiscount foat not null 會員折扣point int not null 會員積分orderdetails數(shù)據(jù)表基本情況:字段名數(shù)據(jù)類型約束控制說明orderdetailsid int primary key 訂單號orderid varchar(200) not null 用戶 id bookid int 圖書編號price decimal 圖書價格amount int 圖書數(shù)量orders 數(shù)據(jù)表基本情況如下:字段名數(shù)據(jù)類型約束控制說明ordersid uniqueide

11、ntifier primary key 用戶 id orderspayment bit not null 選擇付款orderspostbook bit 選擇郵遞orderspostbookstaff varchar(50) 郵遞方式ordersamount decimal(18,2) not null 購買數(shù)量orderscustomer varchar(50) 買家姓名orderstime datetime not null 購買時間userinfo 數(shù)據(jù)表基本情況如下:字段名字段類型約束控制說明userno int primary key 會員編號userid varchar(30) no

12、t null 會員 id userpws varchar(32) not null 會員密碼- 6 - username varchar(30) not null 會員名稱usermail varchar(30) not null 會員郵箱useraddress varchar(100) not null 會員地址userpostalcode char(6) not null 郵政編碼usercontacino varchar(20) not null userpower nvarchar(10) not null 權(quán)限三 概念模型設(shè)計(jì)由需求分析的結(jié)果可知,本系統(tǒng)設(shè)計(jì)的實(shí)體包括:(1)基本信息

13、表:會員號,姓名,賬號,密碼,郵政編碼,聯(lián)系電話,聯(lián)系地址等。(2)購物單表:單號,書號,數(shù)量,物品價格。(3)會員積分表:會員號,會員等級,會員折扣,會員積分(4)圖書信息表:書號,書名,數(shù)量,價格,作者,出版社,類型。系統(tǒng)要實(shí)現(xiàn)的功能為:會員根據(jù)購物的價格,獲得相應(yīng)的積分獎勵。并且,會員的類型與購物的積分有關(guān),根據(jù)積分多少,會員等級可以進(jìn)行升級。由上述各實(shí)體分析可得到以下系統(tǒng)的e-r圖:如圖 3.1 圖 3.1 會員管理員書本購物單會員號登錄名登錄密碼會員姓名會員郵箱會員地址會員郵編會員電話購買類型價格數(shù)量作者出版社價格書號單號數(shù)量書號管理提供管理對應(yīng)登錄號登錄名姓名管理員號權(quán)限- 7 -

14、 四 邏輯結(jié)構(gòu)設(shè)計(jì)4.1 系統(tǒng)關(guān)系模型 1 、圖書信息表(圖書編號,類型,名稱,作者,出版社,定價等) 2 、圖書類型表(圖書類型號,類型名) 3 、書籍評論表 (評論號, 書籍名,評論名,評論者郵箱, 評論主題, 評論內(nèi)容,發(fā)表日期) 4 、積分表(會員號,會員等級,會員折扣,會員積分) 5 、購物單表(購物單,會員id,圖書編號,圖書價格,圖書數(shù)量) 6 、訂單表(單號,會員id,購買數(shù)量,選擇郵遞,郵遞方式,買家姓名,購買時間) 7 、會員和管理員信息表(會員編號,會員id,會員密碼,會員姓名,會員郵箱,會員地址,會員郵編,權(quán)限)4.2 系統(tǒng)數(shù)據(jù)表結(jié)構(gòu)數(shù)據(jù)庫表名關(guān)系模式名稱中文名book

15、 圖書信息圖書信息信息表booktype 圖書分類圖書類型表comment 書籍評論書籍評論表member 積分積分表orderdetails 購物車購物單表orders 訂單訂單表userinfo 信息會員和管理員信息表4.3 數(shù)據(jù)庫的存儲結(jié)構(gòu)圖書信息表圖書類型表書籍評論表- 8 - 積分表購物單號表會員和管理員信息表各個表之間的主鍵關(guān)系圖如下:- 9 - 五 物理結(jié)構(gòu)設(shè)計(jì)/*-創(chuàng)建數(shù)據(jù)庫 -*/ create database bookstore on primary ( name= bookstore, filename=c:program filesmicrosoft sql serv

16、ermssqldata bookstore.mdf, size=100mb, maxsize=200mb, filegrowth=20mb ) log on ( name= bookstore, filename=c:program filesmicrosoft sql servermssqldata bookstore.ldf, size=60mb, maxsize=200mb, filegrowth=20mb ) go /*-創(chuàng)建基本表 -*/ use bookstore go /* 創(chuàng)建書籍說明表*/ - 10 - create table dbo .book ( bookid int

17、not null, booktype int not null, bookname varchar (100) not null, bookauthor varchar(30) not null, booktranslator varchar (30) null, bookpublic varchar(100) not null, bookprice decimal (18, 2) not null, bookdiscount decimal(18, 2) null, bookcover varchar (200) null, bookdescribe text null, bookhits

18、int null, booksales int null, bookstorage int null, /* 創(chuàng)建圖書類型表*/ create table dbo .booktype ( booktypeid int identity (1,1) not null, booktypename varchar (50) not null, booktypememo varchar(200) null, /* 創(chuàng)建評論表 */ create table dbo .comment ( commentid int identity (1,1) not null, bookid int not null

19、, commentatorname varchar (50) null, commentatormail varchar(50) null, commenttitle varchar(100) null, commentdetails text not null, postdate datetime not null, /* 創(chuàng)建訂單信息表*/ create table dbo .orderdetails ( orderdetailsid int identity (1,1) not null, ordersid varchar (200) not null, bookid int null,

20、 price decimal (18, 2) null, amount int null, /* 創(chuàng)建訂單表 */ create table dbo .orders ( ordersid uniqueidentifier not null, orderspayment bit not null constraint df_orderspayment default (0), orderspostbook bit notnullconstraintdf_orderspostbook default(0), orderspostbookstaff varchar (50) null, orders

21、amount decimal (18, 2) not null, orderscustomer varchar (50) null, - 11 - orderstime datetime not null, /* 創(chuàng)建會員表 */ create table dbo .points ( p_level int not null, p_lname varchar (50) not null, p_score int not null, p_discount decimal (18, 2) not null, /* 創(chuàng)建用戶信息表*/ create table dbo .userinfo ( use

22、rno int identity (1,1) not null, userid varchar (30) not null, userpws varchar (32) not null, username varchar (30) not null, usermail varchar (30) not null, useraddress varchar (100) not null, userpostalcode char (6) not null, usercontactno varchar (20) not null, userpower nvarchar (10) not null, u

23、serpoint decimal (18,2)notnullconstraintdf_userinfo_userpoint default (0), 六 數(shù)據(jù)庫的實(shí)施與維護(hù)6.1 數(shù)據(jù)庫的實(shí)施:此階段主要任務(wù)包括創(chuàng)建數(shù)據(jù)庫,加載初始數(shù)據(jù), 數(shù)據(jù)庫試運(yùn)行, 數(shù)據(jù)庫的安全性和完整性控制數(shù)據(jù)庫的備份與恢復(fù),數(shù)據(jù)庫性能的監(jiān)督分析和改僅,數(shù)據(jù)庫的重組和重構(gòu)等。 首先在數(shù)據(jù)庫中建立一個書店會員積分管理系統(tǒng)數(shù)據(jù)庫,然后新建一個數(shù)據(jù)源。主要代碼如下(附屬功能不一一貼出):會員登錄代碼如下:protectedvoid imgbtndl_click1(object sender, imageclickeventa

24、rgs e) sqlconnection conn = new sqlconnection (connstring); if (conn.state = connectionstate.closed) conn.open(); stringsqlstring = select * from userinfo where userid =+ txtname.text.trim() + ; sqlcommand mycommand = new sqlcommand (sqlstring, conn); sqldatareader rs = mycommand.executereader(); if

25、 (rs.hasrows) rs.read(); if ( dbuser.encrypt(txtpwd.text.trim() = rsuserpws .tostring() - 12 - if (sessionpass = null ) sessionpass = true ; else sessionpass = true ; httpcookie acookie = new httpcookie (userinfo); acookie.valuesuserid = rsuserid .tostring(); acookie.valuesusername = rsusername.tost

26、ring(); acookie.valuesuserpower = rsuserpower .tostring(); acookie.expires = datetime.now.adddays(1); response.cookies.add(acookie); lblwelcome.text = 歡迎您 + request.cookiesuserinfo username ; lbltoday.text = 現(xiàn)在是 : + datetime.now.toshortdatestring(); pnlloginstart.visible = false ; pnlloginok.visible

27、 = true ; else response.write(alert(您輸入的密碼不正常, 請重新輸入! ); txtpwd.text = ; else response.write(alert(您輸入的用戶不存在, 請先注冊! ); txtpwd.text = ; txtname.text = ; rs.close(); conn.close(); 會員注冊代碼如下:protectedvoid imgbtnreg_click(object sender, imageclickeventargs e) sqlconnection conn = new sqlconnection (conns

28、tring); if (conn.state = connectionstate.closed) conn.open(); stringsqlstring = select count(*) from userinfo where userid=+ txtaccount.text.trim() + ; sqlcommand command = new sqlcommand (sqlstring, conn); int num = ( int )command.executescalar(); if (num 0) - 13 - response.write(alert(賬 戶 已 經(jīng) 被 人

29、使 用 , 請 重 新 選 擇); txtaccount.text = ; elseif (page.isvalid = true ) sqlstring = insert into userinfo values( + txtaccount.text + , + dbuser.encrypt(txtpwd.text) + , + txtname.text + , + txtemail.text + , + txtaddress.text + , + txtcode.text + , + txtphone.text + ,會員 ,0.00); sqlcommand mycommand = ne

30、w sqlcommand (sqlstring, conn); int count = mycommand.executenonquery(); if (count 0) response.write(alert(會員注冊成功! ); / response.redirect(login.aspx); conn.close(); 會員購書代碼如下:protectedvoid button3_click(object sender, eventargs e) double totalamoutn = 0; string orderno = ; int buyitems = 0; for ( int

31、 i = 0; i gvdrcart.rows.count; i+) if(gvdrcart.rowsi.cells0.findcontrol(chkbcomment) ascheckbox).checked = true ) totalamoutn += convert .todouble(gvdrcart.rowsi.cells7.text); buyitems+; if (totalamoutn = 0) response.write(alert(請選擇你要購買的圖書!); return ; string sqlstring = procinsertorder; sqlparameter

32、 parameters = new sqlparameter 2; parameters0 = new sqlparameter ( ordersamount, sqldbtype.decimal); - 14 - parameters0.value = totalamoutn; parameters1 = new sqlparameter (orderscustomer , sqldbtype.varchar, 100); parameters1.value = request.cookiesuserinfo userid .tostring(); ; datatabledt = sqldb

33、helper .executedatatable(connstring, sqlstring, commandtype .storedprocedure, parameters); if (dt.rows.count 0) orderno = dt.rows00.tostring(); else response.write(alert(網(wǎng)絡(luò)故障,請稍后再試!); return ; int insertitems = 0; for ( int i = 0; i gvdrcart.rows.count; i+) if(gvdrcart.rowsi.cells0.findcontrol(chkbc

34、omment) ascheckbox).checked = true ) sqlstring = insert into orderdetails values(ordersid,bookid,price,amount); sqlparameter parameters1 = new sqlparameter 4; parameters10 = newsqlparameter (ordersid , sqldbtype.varchar, 200); parameters10.value = orderno.toupper(); parameters11 = new sqlparameter (

35、 price , sqldbtype.decimal); parameters11.value = convert .todouble(gvdrcart.rowsi.cells5.text); parameters12 = new sqlparameter ( amount, sqldbtype.int); parameters12.value = convert .toint32(gvdrcart.rowsi.cells6.findcontrol(txtamount) as textbox).text); parameters13 = new sqlparameter ( bookid ,

36、sqldbtype.int); parameters13.value = convert .toint32(gvdrcart.rowsi.cells1.text); intcounts = sqldbhelper .executenonquery(connstring, sqlstring, commandtype .text, parameters1); insertitems += counts; httpcookie acookie = new httpcookie (shoppingcartinfo); acookie.expires = datetime.now.adddays(-1

37、); response.cookies.add(acookie); - 15 - if (insertitems = buyitems) sqlconnection conn = new sqlconnection (connstring); conn.open(); string username = request.cookiesuserinfo username.tostring(); string sqlstr = update userinfo set userpoint=(userpoint+ + totalamoutn + ) where username= + username

38、 + ; sqlcommand cmd = new sqlcommand (sqlstr, conn); cmd.executenonquery(); conn.close(); string result = alert(該單號為 : + orderno.toupper() + , 請?jiān)谔幚碛嗁忢?xiàng)模塊使用網(wǎng)銀轉(zhuǎn)賬!); response.write(result); else response.write(alert(訂單生成失?。?); / 刪除操作 response.write(location.href=processorders.aspx;); 會員資料顯示(含積分) :protec

39、tedvoid btnget_click(object sender, eventargs e) string username = request.cookiesuserinfo username; ; string sqlstring1 = select top 1 a.*,b.p_lname,b.p_score from userinfo as a,points as b where username=username and a.userpoint=b.p_score order by b.p_score desc ; sqlparameter parameters = new sql

40、parameter 1; parameters0 = new sqlparameter ( username , sqldbtype.varchar, 30); parameters0.value = convert .tostring(username); datatable dtresult1 = sqldbhelper .executedatatable(connstring, sqlstring1, commandtype .text, parameters); lbluserno.text = dtresult1.rows0userno .tostring(); lbllevel.t

41、ext = dtresult1.rows0p_lname .tostring(); lblpoint.text = dtresult1.rows0userpoint.tostring(); txtid.text = dtresult1.rows0userid.tostring(); txtname.text = dtresult1.rows0username.tostring(); txtmail.text = dtresult1.rows0usermail.tostring(); txtpos.text = dtresult1.rows0userpostalcode.tostring(); txtadd.text = dtresult1.rows0useraddress .tostring(); txttel.text = dtresult1.rows0usercontactno.tostrin

溫馨提示

  • 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

提交評論