鐘琪 朱順安

[摘 要]面對日益龐大的互聯網數據,企業已經不滿足于僅僅對數據庫進行存儲管理,更希望海量數據以一種更加直觀、易懂的圖表形式呈現,生成商業智能解決方案,幫助決策者分析和推斷。而今高等院校數據庫課程的教學方式已無法滿足市場最新發展需求。將數據可視化技術和工具融入數據庫課程教學,能夠使學生掌握更豐富、更多維度的數據展示、交互方式,提升實踐能力,為商業智能發展助力。
[關鍵詞]數據庫;數據可視化;商業智能;課程教學
[中圖分類號] G642.3 [文獻標識碼] A [文章編號] 2095-3437(2023)04-0028-03
商業智能是指用現代的存儲、處理、挖掘、展現技術進行數據分析,以實現商業價值。隨著大數據時代的到來,對數據進行分析和處理成為迫切需要,數據分析師成為統計學、應用數學、計算機等專業畢業生就業的熱門職業之一,其崗位供不應求。數據分析師的崗位職責是對海量數據進行分析挖掘,從而得到有利的信息以推動生產,利用分析的結果預測出將來會發生某種事件的可能性,幫助決策者找到產業未來發展的方向。
一、高等院校數據庫課程教學現狀
數據庫技術是數據管理的技術,是計算機信息系統與應用系統的核心技術和重要基礎[1]。運用好數據庫技術能夠確保計算機信息處理過程中的大量數據得到有效組織和共享。高等院校計算機相關專業和對數據依賴度高的專業普遍會開設此課程,其覆蓋面廣?,F有的數據庫課程主要涵蓋數據模型、數據庫系統結構、關系數據庫、SQL語言、數據庫安全性、數據庫完整性、關系數據庫設計理論、數據庫設計等內容,學生掌握了數據庫技術的基本原理和應用技術后,結合當今網站建設技術、軟件工程知識可設計出功能完善的數據庫應用系統。其教學內容一般是以關系數據庫即二維表的存儲方式為主線。實驗操作的數據庫管理系統軟件以MySQL、Oracle、SQL Server居多,需用SQL語言包括DDL(數據定義語言)、DML(數據操縱語言)、DCL(數據控制語言)三種類型的語言,完成基本的操作命令,并輔以存儲過程、觸發器等過程化SQL語言的實踐操作。在關系數據庫中,數據的呈現是以關系二維表的形式,常借助客戶端軟件(如SQL Developer、Navicat等)展示基本表或視圖中的數據。但此方式下的數據僅表示為數值或字符的形式,一行數據為一條記錄,看不出數據局部與全局的比例關系,無法進行大小值的比較,更無法得知數據的趨勢變化,不便于對數據進行深入分析和觀察。
近幾年,數據的形式更為多變(有圖像、音頻、視頻等),數據量也呈指數式增長。傳統的關系數據庫在處理海量非結構化數據時暴露出許多管理、并發、擴展等方面的問題,于是非關系數據庫(Not Only SQL、 NoSQL)迅速發展,它在非結構化數據及半結構化數據方面有明顯的優勢。因此,部分高等院校的數據庫系列課程增設了非關系數據庫的內容[2-3]。此時,學生對海量數據進行直觀、易懂、易于查找分析的可視化展現技能的需求更加迫切,而目前數據庫課程教學大綱未涵蓋此方面的內容。
二、數據可視化技術和工具
數據可視化技術是利用計算機圖形學和圖像處理技術,將數據轉換成圖形或圖像在屏幕上顯示出來并進行交互處理的理論、方法和技術[4]。它涉及計算機圖形學、圖像處理、計算機視覺、計算機輔助設計等多個領域,成為研究數據表示、數據處理、決策分析等一系列問題的綜合技術。數據可視化過程可分為以下7個步驟 [5]:(1)獲取。收集包括數據庫的表、文字記錄、網絡上的源文件、錄像記錄等數據。數據的獲取有時會采取網頁抓取的方式, 需用一定的網絡爬蟲技術。(2)分析。根據數據的語義構造一個結構分類圖,并按不同的分類排序。(3)過濾。刪除冗余數據,對數據進行整合、清洗,保留感興趣、有價值的數據。(4)挖掘。運用統計學或數據挖掘中的方法,挖掘數據背后潛在的規律。(5)表述。選擇一種視覺模型如條形圖、餅狀圖、列表或樹狀結構圖等進行展示。(6)修飾。優化基本的表述方法,使它變得更加清晰、視覺化、直觀化。(7)交互。增加方法來操作數據或控制其可見的特性,實現交互選擇性。
隨著信息技術的發展,數據可視化的詳細流程逐漸“黑箱化”,先進的可視化工具可幫助實現從數據獲取到圖形輸出的“一條龍”服務。企業原始數據作為數據庫管理系統處理的主要對象, 最終是以報表的形式提供給用戶及決策者的。企業通常使用可視化的報表設計器來簡化報表設計,目的是提高軟件開發的效率和可重用性。因此,數據可視化過程中的第2步到第7步都可以在報表設計器中完成。筆者在教學改革中選用了FineReport報表生成器作為可視化軟件。FineReport是一款集數據展示(報表)和數據錄入(表單)功能于一身、用來輔助軟件開發的工具軟件,具有界面操作方便、支持主流的B/S架構與傳統的C/S架構、部署方式靈活等特點,是國內企業主流的報表生成器軟件之一。配置FineReport軟件對設備性能要求不高,普通的PC機即可??紤]到FineReport獨立部署的應用場景,在機器上還需配置tomcat應用服務器,此配置對于高等院校普通機房的條件來說都是可行的。
三、數據庫課程與可視化技術融合的教學改革
(一)教學大綱修訂
數據庫課程教學需注重培養學生的實驗動手能力,因此,廈門理工學院相關專業開設了數據庫原理與應用課程和數據庫應用編程實踐課程,前者為理論與實驗相結合的專業必修課,后者為數據庫課程的課程設計。學生根據數據庫設計流程和軟件開發知識對實際應用系統進行數據庫設計與平臺開發。筆者在數據庫原理與應用課程教學改革中,將原來的數據庫編程章節的理論教學調整為線上自學,空出來的課時在原實驗的數據庫應用場景下增設了關于FineReport核心功能的3個實驗,分別對應動態交互式表格、餅狀圖和柱狀圖3種重要的報表數據可視化方式;而在數據庫應用編程實踐課程教學改革中則設計應用系統界面部分的任務要求,在原有二維表增刪改查的基礎上加入了FineReport的報表數據分析展示。
(二)教學內容改革實施方案
1.在數據庫原理與應用課程中增設教學重點
數據庫原理與應用課程的實驗成績占總成績的30%,本次教學改革在原實驗的基礎上加入了FineReport的報表制作,使學生能在FineReport中熟練應用數據庫技術設計報表,完成數據的多種圖形化交互展示。FineReport通過整合多源數據,并支持跨數據庫跨數據表取數,還能用于復雜報表的展示。在FineReport中連接數據源后,可使用SQL語句查詢生成數據源,再通過類似Excel表格的設計器拖拽字段至單元格,即可將字段與單元格進行綁定,完成二維表展示,然后通過樣式設計、參數設置和圖表顯示設定制作成一張實時的圖形化報表。FineReport制作報表的流程如圖1所示。
設計實驗教學方案時,為提高學生的學習興趣,筆者將實驗內容設定為圖書城這一應用背景,要求對圖書城數據庫的數據進行可視化統計分析,以解決相關實際問題。圖書城關系數據庫包含Books、Customers、Purchases和Pricing4個表,分別記錄圖書城的圖書信息、客戶信息、購買信息與書價信息。表2列出了每張表包含的屬性及完整性約束。實驗項目1的任務為熟悉FineReport軟件菜單,了解cpt與frm這2種報表文件的不同之處。學生需將FineReport與Oracle或MySQL數據庫建立連接,用SQL語句建立數據源,用動態交互式表格展示圖書城所有圖書的詳細信息(包含價格信息,此處需用SQL語句完成Books和Pricing這2張表的連接查詢)。實驗項目2的任務是學習建立frm格式報表,用表格顯示圖書分類情況。在此之前,先用SQL語句統計各類圖書的數量,再完成數據與表格的綁定,并在frm格式報表上用餅狀圖展示各類圖書的占比。實驗項目3要求用表格展示圖書城每年的銷售額情況,并動態計算增長率數據,再用柱狀圖展示以上銷售額的變化后分析銷售趨勢。通過上述3個實驗的設置,學生可運用FineReport報表生成器實現對數據的動態交互式表格、餅狀圖和柱狀圖這3種可視化分析方法的掌握。
此外,由于報表設計器實驗初次被納入課堂教學,沒有實驗指導書可參考,因此,學生往往這樣開展學習:通過FineReport軟件的教學視頻自學軟件操作,邊看邊做,鞏固知識點;做實驗時常參考軟件的用戶說明書以找到所需資源;遇到問題時,除了請教老師,還會在FineReport論壇中找相似問題的解決方法,或在論壇中求助。通過上述方式,學生的自主學習能力、解決問題的能力都得到了鍛煉。
2.在數據庫應用編程實踐課程設計中添加數據分析模塊的考核
用FineReport制成的報表為js、jsp和html代碼的集合,可獨立用來做數據分析,也可嵌入到其他應用系統的前端代碼中作為界面的一部分,這樣可縮短前端開發時長和降低代碼復雜度。因此,FineReport設計出的報表通過獨立部署的方式可與應用系統融為一體,以超鏈接的形式嵌入到前端界面中,作為網站數據展示的一部分?;诖?,可將報表分析融入數據庫的課程設計中。
原來的數據庫應用編程實踐課程設計每周有30學時,要求學生以小組為單位完成某市房地產交易數據管理的數據庫設計與平臺開發,包括需求分析、概念模型設計、邏輯模型設計、完整性設計、規范化設計、權限管理設計、數據庫SQL語言實施、界面設計8個部分,系統需實現用戶登錄及多個二維表的增刪改查功能。在完成以上任務的基礎上,本次教學改革刪減了部分表的數據操作界面,因考查的知識點重復,進而增設了數據分析模塊,要求對房地產交易數據進行交易面積、地區、經紀公司、價格等多個維度的分析,利用FineReport報表生成器與數據庫建立連接,生成各維度的動態圖形,在網站中用左側菜單樹的方式鏈接顯示報表的可視化分析結果。
該課程設計的數據是從網站抓取而來,僅包含每次房地產交易的記錄,并不包含統計分析信息。學生將抓取到的數據進行清洗后,按指定的屬性域導入到設計好的數據庫基本表中,接著用SQL語句完成數據的各項統計后生成多個視圖,將視圖數據作為FineReport的數據源設計出報表。在最終成績的評定中,界面部分占30%,可視化分析占20%,二者屬于界面展示的重點考核內容。
此課程設計可作為數據庫技術與可視化技術整合的鞏固和提升,完成該項任務后,學生能夠基本掌握數據獲取、存儲、分析及圖形展示方法,模擬演練整個數據可視化過程。
四、本次教學改革的初步成效
從學生的實驗完成情況來看,95%的學生較好地完成了數據庫原理與應用課程的3個數據可視化實驗項目,可以熟練掌握FineReport軟件的基本操作,他們對數據庫SQL語句運用的能力有了很好的提升。學生評價該門課程教學質量的分數也達到了97.76(總分100)。值得一提的是,筆者的授課班級有11名學生(共47名)通過了計算機三級(數據庫)的考試,這也是歷年之最,說明學生對數據庫的學習有興趣并熟練掌握了課程知識。在以小組為單位的數據庫課程設計中有13個小組實現了對FineReport的獨立部署,將數據的可視化分析融入Javaweb的項目中,其中大概有1/3的小組設計出的數據報表界面友好美觀,達到了優秀等級。有了一定的FineReport基本技能后,班級中有3名學生應聘到數據分析公司實習,參與公司數據庫及報表設計工作,最終有2名學生被公司正式錄用;畢業后有另外3名學生也應聘到數據分析師的崗位。從以上結果可看出,學生將FineReport的技能很好地運用到了實際應用中,也可看出本次教學改革對于培養學生理論聯系實際的能力有較好的成效。
五、結語
本次教學改革與廈門理工學院建設應用型本科高校、為產業服務的辦學理念相契合,通過完善學生的知識體系,提升其技能,使其更好地與企業需求接軌。但由于本專業目前開設的課程未涉及大數據的基礎知識和技術,數據可視化分析的教學僅限于關系數據庫,數據量少,因此尚未推廣到海量數據背景下非關系數據庫與可視化技術的融合,有一定的局限性,可作為今后改進的方向。本文提出的數據庫課程與可視化技術融合的改革方向也可為其他高等院校同類課程的教學提供參考。
[ 參 考 文 獻 ]
[1] 王珊,薩師煊. 數據庫系統概論[M].5版.北京:高等教育出版社,2014.
[2] 薛偉.軟件工程專業數據庫課程教學改革探究[J]. 安徽工業大學學報(社會科學版),2021,38(2):67-68.
[3] 馮霞.高職院校大數據方向數據庫課程體系及教學模式的改革與探索[J]. 電腦知識與技術,2021,17(9):101-102.
[4] 唐榮錫,汪嘉業,彭群生,等. 計算機圖形學教程[M]. 修訂版.北京: 科學出版社, 2000.
[5] 譚坤,楊亞楠. 數據可視化技術的研究現狀探究:基于社會網絡分析視角[J]. 價值工程, 2018,37(36): 215-216.
[責任編輯:龐丹丹]