李詠豪 孫同
摘要:該文分析了籃球聯(lián)賽中數(shù)據(jù)管理的現(xiàn)狀,利用Javabean+Dao(M)+JSP(V)+servlet(C)模式構(gòu)建了籃球聯(lián)賽管理系統(tǒng)。該系統(tǒng)主要包括用戶管理模塊,比賽數(shù)據(jù)管理模塊和票務(wù)系統(tǒng)管理模塊,同時(shí),對(duì)用戶和球員實(shí)體的E-R圖和球員數(shù)據(jù)庫表進(jìn)行了分析?;@球聯(lián)賽系統(tǒng)可以有效幫助教練和觀眾提取球員和球隊(duì)在場(chǎng)上表現(xiàn)的相關(guān)信息,提高后臺(tái)管理效率。
關(guān)鍵詞:籃球;數(shù)據(jù)管理;E-R圖;數(shù)據(jù)表
中圖分類號(hào):TP315? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2021)11-0085-02
Abstract: This paper analyzes the current situation of data management of Basketball League. We construct the Basketball League management system using the mode of Javabean+Dao(M)+JSP(V)+servlet(C). The system mainly includes the user management module, game data management module and ticket system management. And we analyze the E-R diagram of users and players, as well as the player database table. The Basketball league system can effectively help coaches and spectators to extract the relevant information of players and teams on the field, and improve the efficiency of background management.
Key words: basketball; data management; E-R diagram; database table
1 背景
數(shù)據(jù)統(tǒng)計(jì)在籃球聯(lián)賽占有舉足輕重的地位,客觀反映了球隊(duì)、球員的綜合實(shí)力,教練、觀眾與球員均能從數(shù)據(jù)統(tǒng)計(jì)中提取出有效的信息。
隨著籃球聯(lián)賽的普及程度不斷上升,紙質(zhì)記錄比賽的數(shù)據(jù)、電話訂座等方式存在較多缺陷,已不能滿足聯(lián)賽管理的需求,缺點(diǎn)如下[1]:
1)維護(hù)數(shù)據(jù)的性能低下;
2)查詢信息不方便;
3)購票效率低;
4)維護(hù)數(shù)據(jù)統(tǒng)計(jì)的工作量大。
通過籃球聯(lián)賽的專屬管理系統(tǒng),便于球員、教練、觀眾從多方位獲取比賽信息,也提高了后臺(tái)管理的效率。
2 系統(tǒng)建設(shè)
2.1 軟件架構(gòu)
該系統(tǒng)建設(shè)采取最典型的MVC模式[2]:Javabean+Dao(M)+JSP(V)+ servlet(C)模式,其中Javabean用于數(shù)據(jù)的封裝,方便結(jié)果在servlet和JSP頁面之間進(jìn)行傳遞;Dao用于連接數(shù)據(jù)庫以及進(jìn)行數(shù)據(jù)庫的增刪查改;JSP用于顯示,收集數(shù)據(jù);servlet用于驗(yàn)證數(shù)據(jù),實(shí)例化Javabean,調(diào)用Dao連接數(shù)據(jù)庫,控制頁面的跳轉(zhuǎn)等。
2.2 系統(tǒng)設(shè)計(jì)
系統(tǒng)功能結(jié)構(gòu)圖如圖1所示,系統(tǒng)功能該系統(tǒng)包括用戶管理模塊、比賽數(shù)據(jù)管理模塊與票務(wù)系統(tǒng)管理模塊,“*”代表該模塊或子模塊是管理員端的功能[3]。
用戶管理模塊包括的子模塊有個(gè)人信息的查看與修改、公告管理。比賽數(shù)據(jù)管理的子模塊有查看球隊(duì)各項(xiàng)數(shù)據(jù)排名、更新單場(chǎng)比賽數(shù)據(jù)、查看球員各項(xiàng)信息排名、查看單個(gè)球員信息與查看單個(gè)球隊(duì)信息。其中,更新單場(chǎng)比賽數(shù)據(jù)、添加球員單場(chǎng)表現(xiàn)可以同步更新球隊(duì)、球隊(duì)的場(chǎng)均數(shù)據(jù)。
3 數(shù)據(jù)庫分析
籃球聯(lián)賽系統(tǒng)選擇使用MySQL數(shù)據(jù)庫,版本為5.7.17,MySQL具有跨平臺(tái)性的優(yōu)勢(shì)且功能強(qiáng)大,使用方便;同時(shí),MySQL從5.0開始支持事務(wù),對(duì)數(shù)據(jù)的完整性有了更好的保障[4]。
3.1 項(xiàng)目E-R圖
籃球聯(lián)賽系統(tǒng)包括的實(shí)體主要有用戶、球員、球隊(duì)、球票、比賽。下面分別介紹用戶實(shí)體和球員實(shí)體的E-R圖[5]。
用戶實(shí)體E-R圖如圖2所示,其中,用戶編號(hào)表示主鍵。對(duì)于用戶(管理員)來說,需要包括用戶的各項(xiàng)信息,包括用戶名、密碼、余額、性別、郵編、地址和手機(jī)號(hào)。
球員實(shí)體E-R圖如圖3所示,其中,姓名為主鍵。對(duì)于球員來說,其主要信息包括他的基本信息,如年齡,身高和體重,另外還有該球員的場(chǎng)上比賽信息,包括比賽場(chǎng)次,場(chǎng)均得分,場(chǎng)均籃板,場(chǎng)均助攻和場(chǎng)均失誤。
3.2 數(shù)據(jù)庫表的設(shè)計(jì)
籃球聯(lián)賽系統(tǒng)共建了6張表,分別為bs_users,bs_players,bs_teams,bs_gameinfo, bs_tickets,bs_performance分別對(duì)應(yīng)上述項(xiàng)目E-R圖的實(shí)體集“用戶”,實(shí)體集“球員”,實(shí)體集“球隊(duì)”,弱實(shí)體集“比賽”,弱實(shí)體集“球票”以及關(guān)系“球員表現(xiàn)”。根據(jù)E-R圖向關(guān)系模型轉(zhuǎn)化的規(guī)則確定每張表的屬性,下面舉例介紹球員表。
球員表用于記錄球員的基本信息以及場(chǎng)均數(shù)據(jù),其中包含作為主鍵的球員姓名;球員的年齡,身高等基本信息以及球員的各項(xiàng)場(chǎng)均數(shù)據(jù),因?yàn)橐粋€(gè)球員只能效力于一支球隊(duì),因此引入球隊(duì)表的主鍵球隊(duì)名來表示其效力球隊(duì)。具體情況如表1所示。
4 購票頁面的設(shè)計(jì)
購票頁面(選擇區(qū)域)如圖4所示。區(qū)域分為綠區(qū)、紅區(qū)與藍(lán)區(qū),具有不同票價(jià),其中,綠區(qū)的區(qū)域編號(hào)為0到7,座位號(hào)為0到1599,紅區(qū)的區(qū)域編號(hào)為8到41,座位號(hào)為1600到8399,藍(lán)區(qū)的區(qū)域編號(hào)為42到89,座位號(hào)為8400到17999。
購票頁面(選擇區(qū)域)的設(shè)計(jì)是本系統(tǒng)前端開發(fā)中的一大難點(diǎn)。首先,籃球場(chǎng)中的座位是環(huán)繞球場(chǎng)的,一定數(shù)量的座位組成一個(gè)區(qū)域,如何確定區(qū)域的位置與大小呢?其次,以何種方式獲取用戶的區(qū)域選擇信息呢?最后,如果該區(qū)域已滿,如何避免用戶選擇該區(qū)域呢?
通過一張NBA籃球聯(lián)賽的座位區(qū)域圖片,我們確定了區(qū)域的位置與大小,然而,該圖片中每個(gè)區(qū)域的顏色都是相同的。通過PS軟件,我們調(diào)整了區(qū)域顏色,分為紅、綠、藍(lán)三檔,三個(gè)區(qū)域的票價(jià)不一,我們假定每個(gè)區(qū)域中的座位數(shù)量是固定的,簡(jiǎn)化了問題。
若按照NBA籃球聯(lián)賽的座位區(qū)域?qū)⒚總€(gè)區(qū)域都制成一個(gè)按鈕,由于區(qū)域形狀不一且我們未使用現(xiàn)有的框架與組件,設(shè)計(jì)難度較大。最終,我們使用Map標(biāo)簽,測(cè)量每個(gè)區(qū)域內(nèi)最大矩形對(duì)角線上兩個(gè)點(diǎn)的坐標(biāo)。并設(shè)置了跳轉(zhuǎn)的超鏈接,當(dāng)用戶點(diǎn)擊Map標(biāo)簽所包圍的區(qū)域時(shí),就能跳轉(zhuǎn)到該區(qū)域的選座頁面,完成區(qū)域的選擇。同時(shí),當(dāng)用戶的鼠標(biāo)移至區(qū)域上方時(shí),自動(dòng)提示用戶所在區(qū)域的名稱。
5 結(jié)束語
籃球聯(lián)賽系統(tǒng)的設(shè)計(jì)可以有效幫助教練、觀眾與球員提取出球員和球隊(duì)在場(chǎng)上表現(xiàn)的相關(guān)信息,可以大幅度降低數(shù)據(jù)統(tǒng)計(jì)的工作量,也方便了觀眾查詢和管理維護(hù)數(shù)據(jù),顯著提高了后臺(tái)管理效率。
參考文獻(xiàn):
[1] 郝建青,張仲義.信息系統(tǒng)需求分析方法研究[J].管理工程學(xué)報(bào),2001,15(2):35-39.
[2] 齊志敏.Windows中JDK的安裝及Java開發(fā)環(huán)境的設(shè)置[J].電子技術(shù)與軟件工程,2014(10):267.
[3] 劉增杰.MySQL 5.7從入門到精通(視頻教學(xué)版)[M].北京:清華大學(xué)出版社,2016.
[4] 張秀杰,盧鳳偉,歐楠.利用Myeclipse及Eclipse對(duì)“移動(dòng)實(shí)習(xí)就業(yè)跟蹤系統(tǒng)”開發(fā)的研究[J].電腦編程技巧與維護(hù),2014(21):14-15.
[5] 迪布瓦. MySQL網(wǎng)絡(luò)數(shù)據(jù)庫指南[M].北京:機(jī)械工業(yè)出版社, 2000.
【通聯(lián)編輯:王力】