劉新飛
摘要:《數(shù)據(jù)庫系統(tǒng)原理》是高校電子商務(wù)專業(yè)的必修課程,也是計算機類專業(yè)的基礎(chǔ)課程,該課程的核心內(nèi)容是關(guān)系數(shù)據(jù)庫。在關(guān)系數(shù)據(jù)庫教學過程中,數(shù)據(jù)庫平臺往往會選擇SOLServer或者ORACLE,也有部分教師會選擇ACCESS。作者經(jīng)過對幾個DBbIS的對比分析,結(jié)合電子商務(wù)專業(yè)日常教學實踐,推薦一款適合本專業(yè)數(shù)據(jù)庫教學的數(shù)據(jù)庫管理系統(tǒng)MySQL,結(jié)合案例對關(guān)系數(shù)據(jù)庫教學進行探析。
關(guān)鍵詞:電子商務(wù)專業(yè);MySQL;關(guān)系數(shù)據(jù)庫;教學案例
《數(shù)據(jù)庫系統(tǒng)原理》課程是計算機科學與技術(shù)、信息管理與信息系統(tǒng)、軟件工程、電子商務(wù)、計算機網(wǎng)絡(luò)等高校計算機類專業(yè)的必修課程,也是計算機科學的重要組成部分,該課程的核心內(nèi)容是關(guān)系數(shù)據(jù)庫。從專業(yè)定位來講,結(jié)合日常教學實踐,作者認為電子商務(wù)專業(yè)的數(shù)據(jù)庫課程和其他計算機類專業(yè)還是存在一定區(qū)別的。
1、電子商務(wù)專業(yè)數(shù)據(jù)庫教學的特色
一般來講,計算機科學與技術(shù)、信息管理與信息系統(tǒng)、軟件工程等計算機類專業(yè)強調(diào)對數(shù)據(jù)庫系統(tǒng)原理理論較為扎實的掌握,為其他專業(yè)課程打好基礎(chǔ)。電子商務(wù)專業(yè)的數(shù)據(jù)庫課程也具有此特點。同時,應(yīng)該注意到電子商務(wù)專業(yè)不同于計算機科學與技術(shù)等專業(yè),它強調(diào)復合型人才培養(yǎng),是管理科學和計算機科學的一種復合,學生應(yīng)同時具備電子商務(wù)運營和網(wǎng)站維護設(shè)計的基本能力。
相比之下,電子商務(wù)專業(yè)數(shù)據(jù)庫教學在深度上應(yīng)不如計算機類專業(yè),在應(yīng)用性、靈活性、適應(yīng)性上應(yīng)超出計算機類專業(yè)。所以,在日常教學過程中,應(yīng)在數(shù)據(jù)庫平臺選擇、案例選擇上突出電子商務(wù)專業(yè)的自身特點。
2、電子商務(wù)專業(yè)數(shù)據(jù)庫教學的平臺選擇
《數(shù)據(jù)庫系統(tǒng)原理》的核心內(nèi)容是關(guān)系數(shù)據(jù)庫,關(guān)系數(shù)據(jù)庫在教學過程中需要有一個數(shù)據(jù)庫管理系統(tǒng)(DBMS)的支撐才能去講解整個數(shù)據(jù)庫的使用。一般情況下,不同教師可能會選擇不同的DBMS,比如SQLServer、ORACLE,也有部分教師會選擇ACCESS和MySQL,這些都是非常通用的主流數(shù)據(jù)庫管理系統(tǒng)。
2.1ACCESS
在諸多DBMS中,Access相對容易上手,界面通俗易懂,特別適合初學者,對SQL的支持也很完善,有相當一部分教師會選擇Access作為數(shù)據(jù)庫教學的入門軟件。和SQLServer相比,同為Microsoft公司的數(shù)據(jù)庫管理系統(tǒng),SQLServer和Access構(gòu)成了一種明顯的高低搭配,Access在網(wǎng)絡(luò)和數(shù)據(jù)庫管理、安全方面不足,更多是一種桌面數(shù)據(jù)庫,適合數(shù)據(jù)量少的應(yīng)用,效率也很高。安裝配置便捷、快速,價格低廉。
2.2SQLServer
SQLServer是基于服務(wù)器端的中型數(shù)據(jù)庫,是Microsoft公司的數(shù)據(jù)庫主打產(chǎn)品,可以適合大容量數(shù)據(jù)的應(yīng)用,在功能管理上也要比Access強得多,版本眾多,性能完善。在處理海量數(shù)據(jù)的效率,后臺開發(fā)的靈活性,可擴展性等方面強大。SQLServer還有更多的擴展,可以用存儲過程,數(shù)據(jù)庫大小無限制。安裝配置相對于Access較為繁瑣,價格適中。
SQLServer的最大不足是不具備跨平臺性,只能運行在Microsoft的Windows系統(tǒng)下,在如今服務(wù)器領(lǐng)域廣泛采用UNIX/Linux操作系統(tǒng)的情況下,跨平臺性的不足會嚴重影響產(chǎn)品的進一步推廣。
2.3ORACLE
ORACLE數(shù)據(jù)庫在數(shù)據(jù)庫領(lǐng)域一直處于領(lǐng)先地位,是目前世界上使用最為廣泛的數(shù)據(jù)庫管理系統(tǒng),系統(tǒng)可移植性好、使用方便、功能強大,適用場景廣泛。它是一種高效率、可靠性好的、適應(yīng)高吞吐量的數(shù)據(jù)庫解決方案,能在所有主流平臺上運行,完全支持所有的工業(yè)標準。
ORACLE數(shù)據(jù)庫功能強大,體系嚴密,操作相對較為復雜,價格相對較高。作為數(shù)據(jù)庫課程教學的平臺,安裝部署起來較為復雜,學習難度相對較高。
2.4MySQL
MySQL是開源軟件,支持跨平臺,目前屬于ORACLE旗下產(chǎn)品。MySQL是最流行的關(guān)系數(shù)據(jù)庫管理系統(tǒng)之一,與Linux、Apache、PHP搭配成為“LAMP”組合,從網(wǎng)站的流量上來看,70%以上的訪問流量來自LAMP,LAMP是最強大的網(wǎng)站解決方案。Linux、Apache、MySQL和PHP都是開源軟件,從軟件投入成本來看也是非常適合的選擇。
MySQL部署簡單,免費獲取,功能較為完善,市場占有率高,作者認為是電子商務(wù)專業(yè)學習關(guān)系數(shù)據(jù)庫的首選平臺。尤其是在后期開設(shè)PHP動態(tài)網(wǎng)站編程課程的情況下,更是學習網(wǎng)絡(luò)數(shù)據(jù)庫的不二之選。
3、電子商務(wù)專業(yè)數(shù)據(jù)庫教學的案例拓展
3.1現(xiàn)有數(shù)據(jù)庫教學案例采用的普遍情況
經(jīng)過作者對多個院校同行教師的調(diào)研,發(fā)現(xiàn)相當比例的教師在進行《數(shù)據(jù)庫系統(tǒng)原理》課程教學的時候都采用了高教社出版,薩師煊、王珊、陳紅編著的教材《數(shù)據(jù)庫系統(tǒng)原理》或者《數(shù)據(jù)庫系統(tǒng)簡明教程》,這一系列教程在我國各高校計算機類專業(yè)中被大量采用,成為數(shù)據(jù)庫教學的經(jīng)典教程。
該系列教程中,數(shù)據(jù)庫案例是“學生數(shù)據(jù)庫”,包括Student、Course、SC三個表,反映的是學生和課程之間的多對多聯(lián)系。針對該案例,教程展開了諸多的SQL語句編寫應(yīng)用,較為全面的反映了關(guān)系數(shù)據(jù)庫的基礎(chǔ)理論和基本應(yīng)用。
經(jīng)過多年教學實踐,結(jié)合同學們對課程教學的反映,作者認為該案例也存在改進提升的空間。
(1)學生數(shù)據(jù)庫涉及數(shù)據(jù)類型相對較少。三個表總共包括char和smallint兩種數(shù)據(jù)類型,對SQL豐富的數(shù)據(jù)類型未能全面反映。
(2)整個教程圍繞一個學生數(shù)據(jù)庫展開,數(shù)十個SQL語句一直針對Student、Course、SC三個表,在學習過程中容易引起學生的疲勞感。
3.2數(shù)據(jù)庫教學案例拓展
在保持現(xiàn)有學生數(shù)據(jù)庫案例進行基本的SQL語法教學的基礎(chǔ)上,可以考慮拓展關(guān)系數(shù)據(jù)庫案例,用不同的數(shù)據(jù)庫案例提升學生的學習興趣。
3.2.1案例關(guān)系模式
某網(wǎng)上書店的客戶訂單管理數(shù)據(jù)庫有以下三個關(guān)系模式:
商品(總編號,分類號,商品名稱,作者,出版社,單價)
客戶(客戶賬號,昵稱,性別,地址,電話,Email)
訂單(訂單號,生成日期,商品總編號,客戶賬號,數(shù)量,成交單價)
該數(shù)據(jù)庫與學生數(shù)據(jù)庫類似,描述了商品和客戶的多對多關(guān)系,但在字段數(shù)據(jù)類型上更為豐富,尤其是枚舉型Enum和擅長描述貨幣的Decimal類型。
3.2.2案例操作要求
(1)使用MysQL生成三個表格并填人數(shù)據(jù)。
(2)在MySQL中完成若干查詢,如書名以計算機打頭的所有圖書和作者、2017年3月20日以來的所有訂單、北京客戶共下幾張訂單。
3.2.3案例操作過程
(1)數(shù)據(jù)庫服務(wù)器配置
針對電子商務(wù)專業(yè),部署MySQL服務(wù)器不必進行基礎(chǔ)配置過程,可以采用現(xiàn)有的Appserv安裝包,或者采用PHPStudy程序包,降低配置難度,把學習重心放在SQL語句上。經(jīng)過作者教學實踐,建議采用PHPStudy程序包,該程序包屬于綠色軟件,性能穩(wěn)定,環(huán)境適應(yīng)性強,不用安裝配置,可以直接解壓后運行使用。
(2)數(shù)據(jù)庫管理軟件選型
同樣是采用PHPStudy程序包,MySQL數(shù)據(jù)庫管理軟件也可以根據(jù)自身需要進行調(diào)整,PHPStudy自帶PHPMyAdmin和MysQL-Front,也可以獨立安裝NavicatforMysQL。
MySQL-Front和NavicatforMySQL屬于圖形用戶界面軟件(GUI),界面友好,查看關(guān)系視圖較為方便;PHPMyAdmin屬于Web界面客戶端軟件,通用性強。三個管理軟件都可以采用。為了后續(xù)《PHP動態(tài)網(wǎng)站編程》的課程整體性和延續(xù)性,建議采用PHPMyAdmin。
采用PHPMyAdmin還有一個最大的優(yōu)點,就是在學習過程中,如果部分同學無法正確部署MySQL,可以通過已正確部署MySQL的同學創(chuàng)建數(shù)據(jù)庫用戶,指定權(quán)限后讓其他同學通過網(wǎng)絡(luò)訪問數(shù)據(jù)庫服務(wù)器,進行數(shù)據(jù)庫學習。
(3)數(shù)據(jù)庫創(chuàng)建語句
商品表創(chuàng)建語句:
createtablebook(bookiDchar(9)primarykey,bookTypechar(9),bookNamechar(20),authorchar(20),presschar(20),pricedecimal(9,2))engine=innodb;
客戶表創(chuàng)建語句:
createtablecust(custlDchar(9)primarykey,nickerchar(20),genderenum(男,‘女),addresschar(20),telchar(15),emailchar(20))engine=innodb;
訂單表創(chuàng)建語句:
createtableorders(IDchar(9)primarykey,orderDatedatetime,booklDchar(9),custIDchar(9),amountsmallint,unitPricedecimal(9,2),foreignkey(bookID)referencesbook(bookID),foreignkey(custID)referencescust(custID))engine=innodb;
為實現(xiàn)參照完整性,務(wù)必通過engine=innodb語句指定數(shù)據(jù)庫引擎為INNODB。
該數(shù)據(jù)庫包含char、decimal、datetime、smallint和enum共計5種數(shù)據(jù)類型,較為全面的反映了關(guān)系數(shù)據(jù)庫的數(shù)據(jù)類型,便于學生迅速提升數(shù)據(jù)庫設(shè)計和應(yīng)用能力。
(4)數(shù)據(jù)庫查詢語句
完成數(shù)據(jù)表設(shè)計并填人數(shù)據(jù)后,即可在MysQL客戶端進行數(shù)據(jù)庫查詢語句,不再一一贅述。
4、結(jié)束語
從DBMS的選擇上,電子商務(wù)專業(yè)更適合選擇免費開源的MySQL,系統(tǒng)總體擁有成本低,強力支持后續(xù)的PHP動態(tài)網(wǎng)站編程課程,課程實驗開出便捷。在學生數(shù)據(jù)庫基礎(chǔ)上拓展的網(wǎng)上書店客戶訂單數(shù)據(jù)庫數(shù)據(jù)類型豐富,更為接近生活,能夠提高學生學習興趣,設(shè)定諸多應(yīng)用場景,測試各類SQL語句。同時,也要注意到文中的網(wǎng)上書店客戶訂單數(shù)據(jù)庫是一個簡化的版本,沒有對一張訂單購買多本不同書籍做進一步考慮,這也是為了教學需要做的適度精簡,在真實開發(fā)環(huán)境中要根據(jù)具體需求做更為詳盡完善的設(shè)計。