陳 潛
(福州外語外貿學院,福建 福州 350202)
在以往web系統項目的開發與建設中,數據庫都是用來存取數據信息的.通過數據庫的存取,實現了對數據字段信息的增、刪、改、查,這是最為基本的、常規的數據庫與前臺系統的配合應用模式.然而很多時候web系統通過長期的應用,在后臺形成的數據量是巨大的,這些龐大的數據量有的人將其看做是一種負擔,覺得這些數據的存在會給新的數據信息的注入、查找、數據庫系統的維護帶來很多的不便.但是辯證的看,這些通過積累而來的數據往往是具備一定價值的,這些數完全能夠實現一些大數據分析,用來進行一些相應趨勢的預測進而為制訂某些策略提供依據和指導.
本次研究就是從這一視角來看待web系統項目與其后臺數據庫中數據之間的數據的維護、利用問題的.在本次研究中選取了一套基于thinkphp開發而來的學校選課系統作為實際的應用案例,對這套web系統項目的數據庫進行了分析的基礎上,探究了其數據庫在未來的大數據分析中可能發揮的作用和地位.
為了給學生提供一個更為廣闊和自由的選課平臺,實現對學生課程管理的信息化、科學化,疏通教務管理員和學生信息獲取的渠道,減少不必要的、繁雜的手工勞動,很多高等院校都研發和設計了自己的網絡選課平臺,以提高大學教務管理人員的管理水準.從目前這類平臺的應用和實施情況來看,高校選課系統較好的解決了人工操作復雜和學生自主化差的問題.但是對于很多基礎教育類、職業技術學校而言,因為技術及專業人力資源的薄弱,很難實現類似于高等院校的那種網絡選課平臺系統,但是其對于自主、方便、省時、省力的網絡選課平臺的需求卻也是十分強烈的.在這樣的背景下,架構簡單、投資成本低、技術門檻低同時也能滿足選課網絡化、課程信息統計的方便性的“輕量級”的網絡選課平臺就成為了當下急需的一個工具.這一工具也是目前中小學課程建設與課程發展中,能夠發揮重要作用的輔助工具.
本研究中,設計與開發的基于thinkphp的web在線選課平臺,主要的技術框架、數據庫、web服務器等關鍵技術與應用平臺都是免費的,其大大降低了運維的成本,很好的滿足了中、小學的實際條件.而平臺的操作相對簡單、架構也比較簡單,在運行過程中不需要太多的專業技術,一般的網絡管理人員均可以進行對其有效的應用和維護、管理.同時平臺也具有很好的可擴展性和可遺植性,為日后的推廣應用和相關功能的二次開發也提供了更好的接口.
在本次研究中,由于本項目選用了目前比較流行的thinkphp框架技術,其對大多數數據庫都是可以支持的,但是從目前實際的各類應用系統項目來看基于thinkphp項目開發的系統基本上選用的都是MySQL,這主要和php語言本身與MySQL之間良好的兼容性和互通性有直接關系.
MySQL是一個關系型數據庫管理系統,最早是由瑞典AB公司開發與設計出來的,目前其屬于甲骨文公司旗下的一款重要產品.其屬于當下最為流行的關系型數據庫管理系統之一,在WEB系統項目的開發與建設方面,MySQL目前是最好的Relational Database Management System(關系數據庫管理系統)應用軟件.在系統的平臺開發中,MySQL作為關系數據庫將一些選課系統形成的選課數據、用戶信息、課程信息保存在不同的數據表中,而不是將所有數據放在一個大倉庫內,這樣就大大的增加了數據存取的速度、提高了靈活性和實際的平臺的運行效率.MySQL所使用操作語句為SQL語言,這是一種用于訪問數據庫的最常用標準化語言具有通用性.在實際的應用中,MySQL系統平臺軟件采用了雙授權的策略和模式,其劃分為了社區版、商業版兩個主要版本.由于MYSQL其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中、小型的web項目和網站的開發建設中都會選擇MySQL作為系統的數據庫.而MySQL數據庫的社區版其性能同樣卓越,而且還是免費的,在搭配PHP和Apache的時候更能為開發者提供一個良好的開發環境.
通過對選課平臺系統各類數據進行分析的基礎上,考慮選用了MySQL數據庫作為本系統的數據庫管理系統,主要是基于如下方面的考慮:
(1)MySQL可以嵌入到應用程序之中,可以很好的支持數據倉庫、內容索引以部署軟件的各項操作,同時MySQ還是一種比較高效的、可用的冗余系統,其能夠支持在線事務處理等多項操作應用.
(2)MySQL具有很好的靈活性,因為其足夠靈活可以支持多種不同的數據類型,也能夠在多類、不同的硬件平臺上運行,這就使得基于MySQL建設與開發的WEB項目具備更好的擴展性、可用性.
(3)MySQL還很好的將處理、存儲分離了起來,可以在具體使用的過程中根據實際的性能、特性以及其他需求等來選擇具體的數據存儲方式.
(4)MySQL還具備操作簡單、體積小的特點,更因為其是一個開源項目,基于它的應用對于降低開發和使用成本等方面也具有相當重要的意義.
本系統定義的數據庫包括:表info_course、表info_student、表 info_selected、表 info_admin、表 info_sys、表 info_teacher幾個表組成.具體的數據表描述如下:

名稱 說明 功能描述 主要面向的用戶info_course 課程信息表 用來存儲課程信息 教師、管理員info_student 學生信息表 用來存儲學生用戶信息 學生、管理員info_selected 選課信息表 用來存儲選課信息中的課程id和學生id 學生、教師、管理員info_teacher 教師信息表 用來存儲教師信息 教師、管理員info_admin 管理員信息表 用來存儲管理員信息 管理員info_sys 系統配置信息表 用來存取系統配置信息 管理員
在以上的數據表中能夠應用于未來數據分析的數據表主要是表info_student、表info_selected,即學生用戶數據表和選課數據表.學生用戶學生利用自己的賬戶登錄到選課系統后,可以查詢課程信息、上課教室的信息、查看任課教師、提交選課申請(選課)、撤銷選課申請(退課)、查詢選課情況、評價課程.同時還可以進行個人密碼的修改等活動,當然這些操作都是要后臺的info_student表進行交互的,在選課操作中能夠將選取的課程數據存儲到info_selected表中,實現了info_course中的id(課程id)與info_student(學生用戶id)的關聯,進而完成了用戶的選課操作.經過長期的應用,表info_course、表info_student、表info_selected的數據都會得到極大的擴充和豐富,形成的這些數據看似龐大、冗余實際上卻是具備相當重要的價值的,這些數據都是可以作為大數據分析的數據源來針對性的進行數據分析和處理的.
所謂的大數據分析,顧名思義就是對規模巨大的數據進行分析.作為目前IT行業的最為流行的詞匯,大數據分析通過對數據倉庫中數據的分析、挖掘等能夠實現很多業務價值.
本次基于thinkphp框架開發的選課系統,雖然屬于一個中小型項目,但是經過長期的應用mysql數據庫的長期運行與操作中必然形成大量的數據,這些數據主要來自于學生的個人信息數據和學生的選課數據,單獨的看這兩個條目的數據可能并沒有什么實質性的價值和意義.但是將兩條數據結合起來看,對這些數據的分析中就能夠看到很多內容:不同類型的學生選課的傾向不同,學生性別、年齡、特長等變量因素的不同,選課形成的數據都會具有一定的傾向性;分析這樣的數據,能夠動態的調整課程的設置,為不同學生設置不同的其喲興趣的課程.當然對于一些課程選擇比較分散的、選擇人數普遍很少的課程則可以有的放矢的給予調整、撤銷,這樣就方便了后期的管理、節省了人力、物力資源的開支.
當然基于這樣一個小的web系統項目所實現的數據的獲取、挖掘、分析可能并不具有代表意義,而且從實質上也可能算不上是真正意義上的大數據分析.但是從這個實例中可以大體上看出了很多web系統項目其本身數據庫中存取的數據信息其并不是僅僅只能為本系統的運行所服務,這些數據是有意義和價值的,對其的數據分析能夠實現很多預測和研究,為制訂策略、調整方案等提供重要的支持和依據.
本次研究初步的分析了web系統項目開發與應用用數據庫中數據的另一大用途——大數據的分析.雖然文中的實例比較淺顯、所表達的內容也不是特別的完善,但是通過這樣的分析和探究實際上就是提出了一種web項目開發中數據庫系統應用的一種新的模式,可以在系統開發中就將對數據庫數據的分析功能融入到系統中,實現動態的、隨時的數據分析,優化系統的功能;為更好的制訂策略、優化方案提供支持.
參考文獻:
〔1〕施家慶.基于php的SFF-MVC框架研究[D].重慶大學,2007.
〔2〕薩師煊,王珊.數據庫系統設計(第三版)[M].北京:高等教育出版社,2004.
〔3〕唐寧寧.基于B/S架構的選課系統的設計與實現[D].電子科技大學,2012.
〔4〕丁怡文.基于WEB的網上選課系統的設計與實現[J].電腦知識與技術,2012(17):4113-4114.