報(bào)刊訂閱管理系統(tǒng)探討
時(shí)間:2022-06-04 11:40:03
導(dǎo)語(yǔ):報(bào)刊訂閱管理系統(tǒng)探討一文來(lái)源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
摘要:本系統(tǒng)是一個(gè)面向報(bào)刊訂閱管理員的報(bào)刊訂閱管理系統(tǒng)。是基于JAVA和SQLSERVER2014數(shù)據(jù)庫(kù)而設(shè)計(jì)的智能化報(bào)刊訂閱管理系統(tǒng)。它面向所有報(bào)刊的管理員,并且具有安全性和時(shí)效性。同時(shí)可以實(shí)現(xiàn)報(bào)刊訂閱的基本功能,包括對(duì)報(bào)刊和用戶信息的增加、刪除、修改、查詢功能,和對(duì)訂單信息的管理和統(tǒng)計(jì)功能等操作,也可自行增加系統(tǒng)管理員。系統(tǒng)在設(shè)計(jì)過(guò)程中,為使程序代碼標(biāo)準(zhǔn)化和統(tǒng)一化,確保系統(tǒng)界面的友好型和可維護(hù)性,同時(shí)刪除不必要的數(shù)據(jù)冗余,實(shí)現(xiàn)管理的規(guī)范化,科學(xué)化。盡量做到實(shí)用、方便,以滿足生活中報(bào)刊訂閱管理的需求。
關(guān)鍵詞:JAVA;SQLSERVER2014;報(bào)刊訂閱;管理系統(tǒng)
一直以來(lái),大眾訂閱報(bào)刊都是沿用傳統(tǒng)人工的方式進(jìn)行管理報(bào)刊的訂閱,這種傳統(tǒng)的人工管理方法存在著很多缺點(diǎn),比如,效率太低,保密性差,且隨著訂閱周期的變化及訂閱人數(shù)的增加,將產(chǎn)生的大量的訂閱記錄和無(wú)用的數(shù)據(jù)文件,對(duì)于管理員進(jìn)行歸類整理等操作時(shí)很不友好,并且對(duì)于報(bào)刊訂閱信息的查找、更新和維護(hù)都帶來(lái)了不少的難題。本系統(tǒng)的開(kāi)發(fā)目的就是為解決人工管理報(bào)刊訂閱的效率低下等問(wèn)題,通過(guò)對(duì)數(shù)據(jù)庫(kù)的操作實(shí)現(xiàn)智能化的管理報(bào)刊訂閱等問(wèn)題。
1開(kāi)發(fā)環(huán)境
(1)開(kāi)發(fā)語(yǔ)言:JAVA;(2)開(kāi)發(fā)工具:Eclipse2020-06、SQLSERVER2014數(shù)據(jù)庫(kù);(3)操作系統(tǒng):Windows10;(4)數(shù)據(jù)庫(kù)版本:SQLSERVER2014。
2數(shù)據(jù)庫(kù)設(shè)計(jì)
(1)管理員表:Login(UName,UPassword)其中(UName,UPassword)為主碼。(2)用戶表:Customer(Cid,Cname,Phone,Address)中Cid為主碼,Cid,Cname,Phone,Address約束為非空。(3)報(bào)刊表:Diretory(Did,Dname,UnitPrice,Ifo)中Did為主碼,Dname,UnitPrice,Ifo約束為非空。(4)訂單表:OrderDetail(Ono,Did,Cid,Quantity,Qishu,UnitPrice,Total,Odate)其中(Ono,Did)為主碼,Cid和Did分別為外碼(參照分別為Customer(Cid)和Diretory(Did)),Quantity,Qishu,UnitPrice,Total,Odate約束為非空。
3模塊設(shè)計(jì)及E-R圖
(1)主界面:該界面為管理員登錄模塊,管理員可通過(guò)本界面驗(yàn)證登錄報(bào)刊訂閱管理系統(tǒng);(2)報(bào)刊管理模塊:該模塊負(fù)責(zé)展示目錄中的報(bào)刊信息,可實(shí)現(xiàn)報(bào)刊信息的增加、刪除、修改、查詢(按報(bào)刊編號(hào)或報(bào)刊名稱查詢)等功能,用戶可通過(guò)此模塊查看報(bào)刊的報(bào)刊編號(hào)、報(bào)刊名稱、報(bào)刊單價(jià)、季度訂價(jià)、備注信息等信息;(3)訂單管理模塊:該模塊負(fù)責(zé)展示已存在的用戶訂單信息和訂單統(tǒng)計(jì),具體功能可實(shí)現(xiàn)訂單信息的增加、刪除、修改、查詢(可按訂單編號(hào)查詢)等功能,用戶可通過(guò)此模塊查看訂單的編號(hào)、報(bào)刊編號(hào)、用戶編號(hào)、訂閱數(shù)量、訂閱期數(shù)、報(bào)刊單價(jià)、訂單總價(jià)、訂單日期等信息;(4)用戶管理模塊:該模塊負(fù)責(zé)展示用戶的基本資料信息,包括用戶編號(hào)、用戶姓名、用戶地址、用戶電話等,管理員可實(shí)現(xiàn)對(duì)用戶信息的增加、刪除、修改、查詢(可按用戶編號(hào)或用戶姓名查詢)等操作;(5)管理員賬號(hào)模塊:該模塊可實(shí)現(xiàn)增加和刪除管理員的功能,在進(jìn)行操作前需輸入管理員賬號(hào)及密碼驗(yàn)證管理員身份,驗(yàn)證成功即可進(jìn)行操作;(6)系統(tǒng)模塊:負(fù)責(zé)介紹本系統(tǒng),用于后期系統(tǒng)的推廣和維護(hù)。
4系統(tǒng)功能實(shí)現(xiàn)及詳細(xì)設(shè)計(jì)系統(tǒng)功能結(jié)構(gòu)圖如圖2所示。
4.1系統(tǒng)功能實(shí)現(xiàn)
(1)登錄模塊設(shè)計(jì):用戶通過(guò)數(shù)據(jù)庫(kù)連接,對(duì)管理員賬號(hào)和密碼進(jìn)行身份驗(yàn)證,驗(yàn)證成功后方可進(jìn)入報(bào)刊訂閱管理系統(tǒng)主界面。(2)主界面設(shè)計(jì):管理員驗(yàn)證成功后可進(jìn)入報(bào)刊訂閱管理系統(tǒng)主界面,此時(shí)可查看菜單欄上分布著各項(xiàng)管理功能包括報(bào)刊管理模塊、訂單管理模塊、用戶管理模塊、賬號(hào)管理模塊、系統(tǒng)模塊;用戶可根據(jù)自身需要選擇具體操作的模塊。(3)報(bào)刊管理界面:進(jìn)入報(bào)刊管理界面后可以看到界面上方的五個(gè)模塊,分別是添加報(bào)刊、刪除報(bào)刊、修改報(bào)刊、按名字查詢報(bào)刊、按編號(hào)查詢報(bào)刊。同時(shí)在下方會(huì)顯示目前所有報(bào)刊的信息(報(bào)刊編號(hào)、報(bào)刊名字、報(bào)刊單價(jià)、備注信息等),管理員可在對(duì)報(bào)刊信息進(jìn)行操作后在下方信息展示欄中查看更新后的報(bào)刊信息。管理員在添加報(bào)刊時(shí)需輸入報(bào)刊編號(hào)、報(bào)刊名字、報(bào)刊單價(jià)、備注信息,數(shù)據(jù)庫(kù)會(huì)根據(jù)輸入信息對(duì)已存在的信息進(jìn)行判重,如果重復(fù)則插入失敗,否則插入成功;在刪除報(bào)刊時(shí)需輸入所要?jiǎng)h除報(bào)刊的編號(hào)首先進(jìn)行查詢?cè)搱?bào)刊是否存在,如果該報(bào)刊存在則可進(jìn)行刪除操作,否則無(wú)法刪除;在修改報(bào)刊時(shí)也需要輸入報(bào)刊編號(hào)進(jìn)行判斷該報(bào)刊是否存在,如果存在則可以修改該報(bào)刊的信息,否則修改失敗;查詢報(bào)刊功能分為兩部分,可以根據(jù)報(bào)刊名字查詢,如果報(bào)刊存在則可以看到該報(bào)刊的所有信息,也可以根據(jù)報(bào)刊編號(hào)進(jìn)行查詢。(4)訂單管理界面:進(jìn)入訂單管理界面后可以看到界面上方的五個(gè)模塊,分別是添加訂單、刪除訂單、修改訂單、按訂單編號(hào)查詢訂單,同時(shí)在下方會(huì)顯示目前所有訂單的信息(訂單編號(hào)、報(bào)刊編號(hào)、用戶編號(hào)、訂閱數(shù)量、訂閱期數(shù)、單價(jià)、總價(jià)、下訂日期)。管理員在添加訂單信息時(shí)需輸入相關(guān)訂單信息,數(shù)據(jù)庫(kù)會(huì)對(duì)訂單信息進(jìn)行判重,如果重復(fù)則插入失敗,否則插入成功;在刪除訂單信息時(shí)需輸入訂單編號(hào)查詢?cè)撚唵问欠翊嬖?如果不存在則無(wú)法刪除,修改功能同理;訂單查詢功能也需輸入訂單編號(hào)進(jìn)行查詢,如果訂單存在則會(huì)顯示訂單所有信息。(5)管理員界面:展示管理員基本信息,可實(shí)現(xiàn)增加和刪除管理員的功能,在增加或刪除管理員的時(shí)候都需輸入管理員賬號(hào)及密碼進(jìn)行驗(yàn)證。(6)系統(tǒng)管理界面:介紹本系統(tǒng)基本功能。(7)退出系統(tǒng):當(dāng)前用戶可手動(dòng)點(diǎn)擊退出按鈕來(lái)安全退出系統(tǒng)同時(shí)系統(tǒng)將自動(dòng)保存本次登錄更新的所有信息。
4.2數(shù)據(jù)庫(kù)索引、存儲(chǔ)過(guò)程、觸發(fā)器等結(jié)構(gòu)的設(shè)計(jì)
(1)創(chuàng)建視圖:輸入用戶姓名,可以查詢?cè)撔彰鶎?duì)應(yīng)的成員的訂閱日期、姓名、地址、訂閱的報(bào)刊名。CREATEVIEWviewsASSELECTCustomer.Address,OrderDetail.Odate,Diretory.Dname,Customer.CnameFROMCustomer,Diretory,OrderDetailWHEREOrderDetail.Did=Diretory.DidANDCustomer.Cid=OrderDetail.Cid;(2)創(chuàng)建存儲(chǔ)過(guò)程pro2:功能是向Diretory表添加一條記錄,該記錄各字段的值是在執(zhí)行存儲(chǔ)過(guò)程時(shí)給出的相應(yīng)參數(shù)值。USEmagazineCREATEPROCEDURE[pro2]圖2系統(tǒng)功能結(jié)構(gòu)圖(@Did[Varchar](10),@Dname[Varchar](20),@UnitPrice[Float](8),@Ifo[Varchar](50))ASINSERTINTODiretory(Did,Dname,UnitPrice,Ifo)VALUES(@Did,@Dname,@UnitPrice,@Ifo)GO(3)創(chuàng)建DELETED觸發(fā)器:當(dāng)從表中刪除報(bào)刊信息時(shí),檢查status屬性的狀態(tài),如果為“1”則不允許刪除,否則可以刪除。(‘該報(bào)刊信息不允許刪除!’,16,1)ROLLBACKTRANSACTIONENDELSERAISERROR(‘成功刪除!’,16,1)GO(4)創(chuàng)建帶返回值的存儲(chǔ)過(guò)程進(jìn)行查詢:創(chuàng)建一個(gè)帶有1個(gè)輸入?yún)?shù)、3個(gè)返回值的存儲(chǔ)過(guò)程return1,其功能是:接受外部傳入的成員號(hào)Cid,在數(shù)據(jù)表Customer中查找成員信息,然后輸出成員的的姓名、電話和地址。USEmagazineCREATEPROCEDUREreturn1(@CidVarchar(10),@CnameVarchar(20)OUTPUT,@PhoneVarchar(15)OUTPUT,@AddressVarchar(50)OUTPUT)ASSELECT@Cname=Cname,@Phone=Phone,@Address=AddressFROMCustomerWHERECid=@Cid(5)使用T-SQL創(chuàng)建一個(gè)帶有輸入?yún)?shù),并使用集聚函數(shù)的存儲(chǔ)過(guò)程進(jìn)行查詢。創(chuàng)建存儲(chǔ)過(guò)程,分別查詢訂閱n種報(bào)刊的人員名單,要求顯示姓名。其中,n作為輸入?yún)?shù)在執(zhí)行系統(tǒng)存儲(chǔ)過(guò)程時(shí)給出。訂閱'+convert(varchar(5),@num)+'種報(bào)刊的成員姓名:'SELECT姓名=(selectCnamefromCustomerwhereCid=OrderDetail.Cid)fromOrderDetailGROUPBYCidHAVINGCOUNT(*)=@num測(cè)試存儲(chǔ)過(guò)程:。
5系統(tǒng)優(yōu)缺點(diǎn)
5.1優(yōu)點(diǎn)
(1)為確保后期軟件的實(shí)用性及可維護(hù)性,本系統(tǒng)在編寫代碼時(shí)嚴(yán)格按照框架進(jìn)行標(biāo)準(zhǔn)化設(shè)計(jì),代碼模式一致性較強(qiáng)。(2)在建立數(shù)據(jù)庫(kù)時(shí)嚴(yán)格考慮各表之間的關(guān)聯(lián),建立合理的索引結(jié)構(gòu)和外鍵約束,刪除不必要的代碼冗余部分,實(shí)現(xiàn)數(shù)據(jù)庫(kù)管理的規(guī)范化、科學(xué)化。(3)界面友好簡(jiǎn)單,功能方便實(shí)用,對(duì)于管理員來(lái)說(shuō)易上手,真正提高管理的效率。
5.2缺點(diǎn)
(1)數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí)實(shí)體的屬性數(shù)量不夠多,系統(tǒng)操作有局限性。(2)各表之間建立的外鍵約束不夠多,建立的索引數(shù)量較少,組合查詢功能少。(3)在連接數(shù)據(jù)庫(kù)進(jìn)行操作時(shí),事務(wù)處理的操作較少,易造成數(shù)據(jù)操作失誤。(4)系統(tǒng)在登錄界面并未為普通用戶設(shè)置登錄接口,因此普通用戶無(wú)法自行登錄系統(tǒng)查詢信息,這雖然保護(hù)了系統(tǒng)的安全性和統(tǒng)一性,但缺少了用戶自行查詢和訂閱的模塊,損失了系統(tǒng)的普及性,有利有弊。
6結(jié)束語(yǔ)
本系統(tǒng)是基于JAVA和SQL2014開(kāi)發(fā)的新型報(bào)刊訂閱管理系統(tǒng),該系統(tǒng)為管理員提供了報(bào)刊管理、訂單管理、用戶管理、賬號(hào)管理等功能,通過(guò)SQLSERVER2014數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)的操作和存儲(chǔ),極大地便利了管理員對(duì)于報(bào)刊訂閱的管理,界面友好實(shí)用,提高了報(bào)刊訂閱管理的效率。
作者:黃子豪 張舒 馬兆婷 單位:山東科技大學(xué)