![基于MySQL的學(xué)生成績管理系統(tǒng)設(shè)計_第1頁](http://file4.renrendoc.com/view11/M00/01/04/wKhkGWW0xyuADLsLAAFMoNayOy4044.jpg)
![基于MySQL的學(xué)生成績管理系統(tǒng)設(shè)計_第2頁](http://file4.renrendoc.com/view11/M00/01/04/wKhkGWW0xyuADLsLAAFMoNayOy40442.jpg)
![基于MySQL的學(xué)生成績管理系統(tǒng)設(shè)計_第3頁](http://file4.renrendoc.com/view11/M00/01/04/wKhkGWW0xyuADLsLAAFMoNayOy40443.jpg)
![基于MySQL的學(xué)生成績管理系統(tǒng)設(shè)計_第4頁](http://file4.renrendoc.com/view11/M00/01/04/wKhkGWW0xyuADLsLAAFMoNayOy40444.jpg)
![基于MySQL的學(xué)生成績管理系統(tǒng)設(shè)計_第5頁](http://file4.renrendoc.com/view11/M00/01/04/wKhkGWW0xyuADLsLAAFMoNayOy40445.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第1章緒論1.1研究目的與意義近年來,隨著高等教育的不斷發(fā)展和高校招生人數(shù)逐年增加,與學(xué)生有關(guān)的信息也成倍增加,例如成績、學(xué)號、聯(lián)系方式、院系、專業(yè)、個人信息等等。學(xué)生的信息管理,將是一項繁瑣的工作,也給高校在管理上帶來了不少麻煩。像以前,很多學(xué)校都是用一些傳統(tǒng)的方式來管理學(xué)生的相關(guān)信息的,比如紙質(zhì)管理。顯而易見的,這樣的管理方法存在著很多的弊端。科技的迅速發(fā)展,昭示著低效的人工管理方式必然被計算機自動管理所取代。眾所周知,使用計算機來處理學(xué)生信息可以起到事半功倍的效果。使用先進的計算機技術(shù)來實現(xiàn)辦公自動化,提高教學(xué)效率和降低教學(xué)成本。因此,設(shè)計一種高效信息化高效的學(xué)生信息管理系統(tǒng)具有非常重要的現(xiàn)實意義。本系統(tǒng)是基于Python和MySQL的學(xué)生成績管理系統(tǒng),主要是給老師管理學(xué)生成績用的,方便老師用計算機對學(xué)生成績信息進行日常的管理,如查詢、修改、增加、刪除等等,另外還可以把成績導(dǎo)出到Excel表格,同時方便對學(xué)生成績進行瀏覽和打印。1.2國外研究狀況高校學(xué)生成績管理系統(tǒng)也是信息管理系統(tǒng)的一部分。明尼蘇達大學(xué)的管理學(xué)教授最早對管理信息系統(tǒng)下了一個較完整的定義,即信息管理系統(tǒng)實際上是一種決策模型和數(shù)據(jù)庫人機交互系統(tǒng),它是利用計算機軟硬件資源與相關(guān)編程語言相結(jié)合而設(shè)計出來的,可以提供并保存企業(yè)或個人所需的相關(guān)信息。[1]實際上,國外的信息化建設(shè)起步較早,他們也更早關(guān)注信息化技術(shù)在生活和生產(chǎn)領(lǐng)域的重要作用。他們一般具有較大規(guī)模的技術(shù)隊伍來提供技術(shù)支持,而且國外許多大學(xué)對學(xué)生信息管理這類系統(tǒng)的研究要早于國內(nèi)。例如,麻省理工學(xué)院最早提出數(shù)字化校園的概念。在不斷的努力下,數(shù)字化校園也不斷發(fā)展成為一種趨勢。逐漸地,基于計算機的信息管理模式已逐步取代傳統(tǒng)低效的管理方式。盡管國外績效管理體系已經(jīng)成熟,但外國與我國之間仍然存在較大的差異,例如我們的科技發(fā)展狀況、我們國家的教育方法和管理方法都大相徑庭。因此,我們無法將國外信息管理模型完全應(yīng)用于國內(nèi)管理,全盤照搬的做法是行不通的。我們應(yīng)該適當?shù)叵蛩麄儗W(xué)習(xí),并從我們的實際情況出發(fā),設(shè)計出符合我們自己的信息管理系統(tǒng)。1.3國內(nèi)研究情況我國的信息化技術(shù)也在不停的發(fā)展,在各項領(lǐng)域都做出了不錯的成績,其中高校信息管理系統(tǒng)也日趨成熟。在對國外先進技術(shù)取其精華去其糟粕的同時,也考慮自身的實際情況,設(shè)計適合自己的管理系統(tǒng)。我們都知道,成績管理是高校管理中不可或缺的一部分,也是至關(guān)重要的一部分,它是用來記錄學(xué)生成績及相關(guān)信息的載體。它可以極大的提高學(xué)校的工作效率和老師的工作質(zhì)量,把人從復(fù)雜冗余的工作中解放出來,難以想象如果沒有這類學(xué)生成績信息管理系統(tǒng),學(xué)?;蚪處煹墓ぷ魅蝿?wù)得多么繁重,除了日常的教書育人的本職工作,還要在課后去整理錄入學(xué)生的成績及相關(guān)信息。隨著網(wǎng)絡(luò)信息的普及化及科技的迅速發(fā)展,我國已經(jīng)逐步擺脫了傳統(tǒng)的紙質(zhì)管理模式,學(xué)校成績管理模式也越來越趨向于網(wǎng)絡(luò)化,這可以從整體上提高學(xué)校的管理水平。或許國內(nèi)的成績管理系統(tǒng)在信息多樣化與安全性能方面存在些許不足。比如當學(xué)生查詢數(shù)量過多時,系統(tǒng)可能會出現(xiàn)崩潰、網(wǎng)頁錯誤等情況,而且系統(tǒng)也易受到一些惡意軟件、病毒的攻擊從而導(dǎo)致系統(tǒng)崩潰,安全性堪憂,學(xué)校也許面臨巨大的損失。因此,我們應(yīng)該在這些方面多下功夫,讓學(xué)生成績管理系統(tǒng)更適應(yīng)高校發(fā)展,更好的為學(xué)校師生服務(wù)。如果學(xué)生成績信息依舊采用原始的方式去進行管理,不僅繁瑣,而且已經(jīng)不能滿足學(xué)校的需求,因為隨著學(xué)生數(shù)量越來越多,龐大的學(xué)生數(shù)量管理起來絕非易事,學(xué)生成績管理系統(tǒng)的網(wǎng)絡(luò)化、信息化和自動化才是越來越符合時代發(fā)展的潮流。更糟糕的是,這種傳統(tǒng)的學(xué)生成績管理模式已經(jīng)暴露出種種弊端,人工操作是其一大特點之一,更麻煩的是它會造成數(shù)據(jù)的丟失,這點是非常棘手的。因此,我們可以充分利用學(xué)校現(xiàn)有的計算機資源來設(shè)計適合自身的學(xué)生信息管理系統(tǒng),用來為師生服務(wù),既方便管理學(xué)生成績信息,又可以減輕老師的工作負擔,提高工作效率,真是兩全其美,何樂不為呢。
第2章研究方法和內(nèi)容2.1研究方法(1)首先是在網(wǎng)上參考相關(guān)的資料:通過在知網(wǎng)上閱讀大量相關(guān)的參考文獻,構(gòu)思出系統(tǒng)整體的框架。其中系統(tǒng)的主界面、注冊界面以及學(xué)生成績管理界面的大部分內(nèi)容都能夠在CSDN官網(wǎng)或相關(guān)的書籍或期刊中找到。學(xué)生成績管理界面中的增、刪、查、改等基本功能都比較容易地找到相關(guān)參考資料。(2)實際操作:通過查閱相關(guān)文獻資料,大概構(gòu)思系統(tǒng)整體的框架,了解如何去做;設(shè)計出系統(tǒng)大體的功能模塊,如系統(tǒng)主界面、注冊界面和學(xué)生成績管理界面等等,然后根據(jù)用戶需求畫出數(shù)據(jù)流圖,并進一步對每個功能模塊進行細化,比如完善和美化界面,使得界面更具人性化,最后是對設(shè)計好的功能模塊進行調(diào)試,及時發(fā)現(xiàn)存在的問題并加以解決,從而達到需求的目的。2.2研究內(nèi)容該系統(tǒng)是一個面向教師端的簡易版學(xué)生成績管理系統(tǒng),主要研究內(nèi)容如下:(1)首先設(shè)計主界面:系統(tǒng)運行無誤后就進入主界面,包括教師登錄、教師注冊和退出系統(tǒng)三項功能,主界面是至關(guān)重要的一部分,如果主界面運行出錯的話后面的程序運行也會受到影響。(2)注冊界面:注冊界面有輸入賬號、輸入密碼和確認密碼三個,注冊的信息會在數(shù)據(jù)庫管理工具中看到,注冊好賬號密碼信息后,連接數(shù)據(jù)庫后便可進入到學(xué)生成績管理界面。(3)學(xué)生成績管理界面:學(xué)生成績管理界面是這個系統(tǒng)最重要的核心部分了,里面是每個學(xué)生的成績、院系等各種信息。當賬號和密碼都一致時才可以登錄進去,進去后可以一目了然的看到各個學(xué)生的信息和成績,包括基本的增、刪、查、改等功能,還可以將學(xué)生的成績導(dǎo)出到Excel表格。第3章系統(tǒng)總體設(shè)計3.1系統(tǒng)總體設(shè)計框圖本設(shè)計通過構(gòu)想一款基于Python和MySQL的學(xué)生成績管理系統(tǒng),采用的是純計算機軟件技術(shù),進一步取代傳統(tǒng)的紙質(zhì)管理模式,徹底改變繁重的傳統(tǒng)人工操作模式,實現(xiàn)學(xué)生成績的及時管理和維護。系統(tǒng)主要包括登錄模塊的設(shè)計,使用桌面窗體界面進行交互;注冊模塊,內(nèi)嵌MySQL數(shù)據(jù)庫;學(xué)生成績管理系統(tǒng)模塊,能夠?qū)崿F(xiàn)學(xué)生成績信息的保存和讀??;最后通過xlrd和xlwt模塊讀取和寫入Excel文件,方便學(xué)生和老師瀏覽。系統(tǒng)框圖如下:圖13.2系統(tǒng)功能3.2.1系統(tǒng)主要功能如下(1)主界面:系統(tǒng)運行后,映入眼簾的是第一界面,包括教師登錄、教師注冊和退出系統(tǒng)三個部分。直接點擊登錄按鈕,賬號和密碼輸入正確后便可直接進入學(xué)生成績管理界面,對學(xué)生信息進行操作。(2)教師注冊主界面:注冊主界面包括教師的輸入賬號、輸入密碼和確認密碼三項,必須滿足三個驗證都一致時才能進入到學(xué)生成績管理界面。(3)學(xué)生成績管理界面:進去后可以一目了然的看到各個學(xué)生的信息和成績,包括基本的增、刪、查、改等功能,教師還可以將學(xué)生的成績和相關(guān)信息導(dǎo)出到Excel表格,方便打印與瀏覽。3.2.2可行性分析如今,學(xué)生成績信息管理系統(tǒng)已成為各個高校信息管理中不可或缺的一部分,也是非常重要的一部分。作為一個大學(xué),學(xué)生數(shù)量必然不在少數(shù),而學(xué)生成績的工作量可能比其它信息工作量多幾倍,比如學(xué)生成績的輸入(現(xiàn)在一般都是自動化輸入)、增加、查找、修改、刪除等等;除此之外,學(xué)生的學(xué)號、聯(lián)系方式等信息可能有時出現(xiàn)錯誤,如果采用人工的方式去查詢,那么工作量可想而知,非常繁瑣且耗時。但是呢,采用計算機式的學(xué)生成績管理則相對來說更加高效,一天的工作量可能只需幾個小時甚至幾十分鐘就可以輕松搞定,對比之下可以節(jié)省不少時間。此成績管理系統(tǒng)是專門為老師開發(fā)的一款面向教師端的簡易的操作系統(tǒng),簡潔明了,容易操作。本系統(tǒng)所采用的語言是Python,連接MySQL數(shù)據(jù)庫,并通過一個數(shù)據(jù)庫管理工具Navicat可視化。該系統(tǒng)總體功能是首先連接Python和MySQL數(shù)據(jù)庫,連接成功后運行程序,系統(tǒng)沒報錯后映入眼簾的是系統(tǒng)的主界面,當賬號跟密碼一致時可以登錄進去實現(xiàn)學(xué)生成績信息管理;然后老師可以對學(xué)生成績信息進行操作,如增加、清空、查找、刪除等基本功能,最后還能將學(xué)生成績信息導(dǎo)出到Excel表格當中,以便瀏覽;系統(tǒng)界面實現(xiàn)控制臺界面,使用桌面窗體進行人機交互。事實上,設(shè)計出這么一款學(xué)生成績管理系統(tǒng)是不難的,也不需要什么技術(shù)支持,成本低,并且網(wǎng)上有很多的關(guān)于學(xué)生信息系統(tǒng)的相關(guān)資料,有基于各種編程語言的,如web網(wǎng)頁版的系統(tǒng),也有Java和MySQL的系統(tǒng),甚至還包括很久之前的VB語言,雖然所用的編程語言不同,但它們之間也有一些共同的地方可以參考,具有技術(shù)上的可行性。其次,開發(fā)這么一個信息管理系統(tǒng)只需要用到電腦和一些相關(guān)的軟件即可上手,不用買硬件,如單片機、觸摸屏、各種控制模塊甚至連杜邦線都用不上,在花銷上可以節(jié)約大量的人力物力,具有經(jīng)濟上的可行性。3.3相關(guān)技術(shù)概述3.3.1Python簡介說到Python,想必大家都早有所聞吧,Python是近幾年發(fā)展越來越快的一種語言,也受到了很多互聯(lián)網(wǎng)公司的青睞,在多種編程語言中排名靠前。Python面向?qū)ο?,更多的被用來編寫自動化測試腳本。從1994年的1.0版本到現(xiàn)在的3.9版本,Python一直在發(fā)展,并且隨著版本的不斷升級,其功能也越來越強大,在自動化辦公、爬蟲、機器視覺和深度學(xué)習(xí)等領(lǐng)域更是獨樹一幟,這也是Python的優(yōu)勢。還有一點不得不提的是Python的編程方式非常的方便,因為它都是依賴于第三方庫的,要用的時候直接導(dǎo)入即可,而且導(dǎo)入的方式基本都是一致的。現(xiàn)在很多公司的大型項目的開發(fā)都是基于Python實現(xiàn)的。Python被越來越的人所熟知,已儼然成為了后起之秀。Python有著許多與其他編程語言不一樣的特點,如可以自動管理內(nèi)存,編程的時候完全不用擔心內(nèi)存自動管理的問題,不像其他編程語言一樣有這方面的保障;豐富的第三方庫,由于Python是開源的,庫函數(shù)豐富,使用時直接導(dǎo)入就行,非常方便,在多個領(lǐng)域都有Python的開發(fā)身影。例如爬蟲、計算機視覺等等。圖23.3.2數(shù)據(jù)庫簡介數(shù)據(jù)庫,顧名思義,就是用來管理數(shù)據(jù)的一個“倉庫”。它是50年前產(chǎn)生的,隨著信息技術(shù)的發(fā)展,人們越來越需要這么一種數(shù)據(jù)庫去管理日常生活中的各種數(shù)據(jù)。特別是90年代以后,數(shù)據(jù)庫發(fā)展成為類似于一種電子式的文件柜。數(shù)據(jù)庫的作用非常重要,特別是在如今大數(shù)據(jù)時代的背景下,作為保存數(shù)據(jù)的媒介,其重要性更是不言而喻。難以想象,在大數(shù)據(jù)的時代下,如果沒有數(shù)據(jù)庫,那我們?nèi)粘5纳a(chǎn)生活中的數(shù)據(jù)信息該怎么保存。各種各樣的信息管理系統(tǒng),大到國家層面的,小到個人企業(yè)的,如果沒有數(shù)據(jù)庫對數(shù)據(jù)進行管理,那這樣的系統(tǒng)不就是一個空殼了嗎?其次,數(shù)據(jù)庫的安全性也很重要,如果安全性不高,那重要的數(shù)據(jù)就會被泄露,比如我們的國家機密、企業(yè)的生產(chǎn)機密,還有我們的個人隱私信息,這將是十分危險的一件事。數(shù)據(jù)庫有著眾多的特點,如能夠?qū)崿F(xiàn)數(shù)據(jù)共享、減少數(shù)據(jù)冗余、保持數(shù)據(jù)的獨立性、保持數(shù)據(jù)的故障恢復(fù)等等。其工作原理如圖所示:圖33.3.3數(shù)據(jù)庫E-R圖學(xué)生信息具有學(xué)號、姓名、院系、語文成績、數(shù)學(xué)成績、英語成績、各科平均分、同學(xué)互評分和教師評分等屬性。3.3.4數(shù)據(jù)庫表設(shè)計學(xué)生信息表:存儲學(xué)生基本信息,包括學(xué)號、姓名、院系、語文成績、數(shù)學(xué)成績、英語成績、各科平均分、同學(xué)互評分和教師評分等信息。如下表所示。否否否否否否否否否表13.3.5MySQL與SQLite的簡介眾所周知,MySQL數(shù)據(jù)庫是一種輕量級關(guān)系型數(shù)據(jù)庫管理軟件,其執(zhí)行速度快、技術(shù)支持成本低,所以很多企業(yè)都選擇MySQL作為后臺管理數(shù)據(jù)庫,包括我們所熟悉的騰訊、阿里巴巴和美團等大型企業(yè)。另一方面,SQLite數(shù)據(jù)庫是Python自帶的一種小型嵌入式數(shù)據(jù)庫。它是開源的,因為沒有獨立的維護進程,都是靠自身去維護的。在做本次畢業(yè)設(shè)計—基于Python和MySQL的學(xué)生成績管理系統(tǒng)時,在選擇數(shù)據(jù)庫的時候曾在MySQL和SQLite這兩種數(shù)據(jù)庫之間考慮許久,它們之間各有各的好,第一想法本來是想采用SQLite數(shù)據(jù)庫的,但是網(wǎng)上的學(xué)習(xí)教程少得可憐,基本都不知道如何與Python結(jié)合做出此次的學(xué)生成績管理系統(tǒng),而且本項目的需求之一是要求學(xué)生成績及相關(guān)信息能夠?qū)С龅紼xcel文件,網(wǎng)上SQLite與Excel方面的學(xué)習(xí)資料更少;但是MySQL數(shù)據(jù)庫是屬于中大型的數(shù)據(jù)庫管理系統(tǒng),所占內(nèi)存也挺大,而且也難操作,前期要花很多的時間去學(xué)習(xí)相關(guān)內(nèi)容。3.3.6MySQL與SQLite的對比上面說了MySQL是一種輕量級關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它的價格低廉,具有免費的數(shù)據(jù)庫軟件和低成本的技術(shù)支持;而且速度快,功能齊全,優(yōu)于絕大多數(shù)數(shù)據(jù)庫是毋庸置疑的;它具有強大的可移植性,可以在大多數(shù)操作系統(tǒng)中運行,最重要的是易于使用和管理。MySQL數(shù)據(jù)庫的主要特點是:通常存儲過程有助于提高應(yīng)用程序的性能。MySQL數(shù)據(jù)庫是按需翻譯的,在你創(chuàng)建它的時候已經(jīng)翻譯了;用于保存信息數(shù)據(jù)以及信息的一致性和完整性,這也極大的提高了它的安全性。但是相對于MySQL來說,SQLite數(shù)據(jù)庫顯得更加“輕量”,內(nèi)存非常的小,是內(nèi)嵌在Python里面的。其輕巧方便的特點,適用于小型數(shù)據(jù)庫系統(tǒng)的開發(fā)。其主要特點如下:它的體積小,只需很小的內(nèi)存即可;對數(shù)據(jù)的訪問性能高;具有強大的可移植性,支持各種軟硬件平臺。在設(shè)計學(xué)生成績管理系統(tǒng)時,初期階段我曾在MySQL和SQLite這兩種數(shù)據(jù)庫之間考慮。SQLite數(shù)據(jù)庫雖然可以實現(xiàn)本次畢業(yè)設(shè)計數(shù)據(jù)方面的功能,但是其編程冗余,并且隨著數(shù)據(jù)越來越多,數(shù)據(jù)查詢也將會愈加復(fù)雜,這時候SQLite數(shù)據(jù)庫對數(shù)據(jù)的管理能力相對其他大型數(shù)據(jù)庫來說就比較渺小了。因為當老師輸入學(xué)生的成績管理及相關(guān)信息較多時,SQLite數(shù)據(jù)庫在數(shù)據(jù)處理方面的速度可能跟不上,導(dǎo)致各種編程出錯,并且本系統(tǒng)設(shè)計的需求之一是可以將學(xué)生的成績信息導(dǎo)出到相應(yīng)的Excel表格以便瀏覽,SQLite數(shù)據(jù)庫與Excel之間目前沒有方法做到有效的銜接。這時一些大型的設(shè)計復(fù)雜的數(shù)據(jù)庫開始發(fā)揮作用了。因為大型的數(shù)據(jù)庫可以從根本上保證數(shù)據(jù)的承載范圍,不會丟失數(shù)據(jù),而且處理數(shù)據(jù)速度快。雖然SQLite知道如何使用索引,但是它沒有保存詳細的表統(tǒng)計信息。因此,假如您在大型數(shù)據(jù)集合上運行復(fù)雜的數(shù)據(jù)查詢,期待SQLite與其他數(shù)據(jù)庫運行一樣快的機會是非常渺小的。而且SQLite的并發(fā)讀寫性能不是很好。有時,數(shù)據(jù)庫可能會由某些讀取和寫入操作所壟斷,這可能導(dǎo)致其他讀取和寫入操作被阻止或出錯。綜上所述,在考慮多方面的因素后,我還是選擇了MySQL數(shù)據(jù)庫作為此次畢業(yè)設(shè)計的后臺數(shù)據(jù)庫。但是,MySQL數(shù)據(jù)庫是屬于大型數(shù)據(jù)庫,所以其學(xué)習(xí)難度也相對于SQLite來說是比較大的,這點我深有感觸,前期花費了挺多時間去學(xué)習(xí)MySQL數(shù)據(jù)庫方面的知識,語法、建立數(shù)據(jù)庫表這些,其中最麻煩的是數(shù)據(jù)庫的配置安裝那里,一定要非常小心,特別是要記住系統(tǒng)分配的原始密碼,一般都比較冗長,但是第二次登陸的時候可以去修改密碼,一般改成自己容易記住的,比如最直接的純數(shù)字123456都可以,安裝好MySQL數(shù)據(jù)庫后便可啟動數(shù)據(jù)庫,啟動成功后如下圖所示圖53.3.7數(shù)據(jù)庫管理工具數(shù)據(jù)庫管理工具,顧名思義,就是管理數(shù)據(jù)的“工具”,使得數(shù)據(jù)可視化,可以簡化單純的數(shù)據(jù)庫管理,降低成本。我這次畢業(yè)設(shè)計所用的數(shù)據(jù)庫管理工具是NavicatPremium15,功能強大,可以兼容多種數(shù)據(jù)庫,里面有多種函數(shù)庫,操作方便,執(zhí)行速度快。在數(shù)據(jù)庫管理工具中可以直接創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表,我這次設(shè)計的管理系統(tǒng)主要創(chuàng)建了兩個表,分別是教師注冊的信息表和學(xué)生成績信息表,是為了連接MySQL數(shù)據(jù)庫引擎的。那么,如何啟動數(shù)據(jù)庫管理工具?下面是我的方法。首先打開MySQL數(shù)據(jù)庫和數(shù)據(jù)庫管理工具,點擊連接按鈕,然后在連接選項的下拉菜單中選擇MySQL,就會彈出一個新建窗口,如下圖所示:圖6簡單說一下需要注意的地方,首先連接名是自主命名的,一般是命名成英文的。配置的端口默認是3306端口,默認連接本地數(shù)據(jù)庫。當然,也可以選擇其他的端口,如3307、3308也行,當出現(xiàn)了端口被占的情況下,系統(tǒng)也會報錯提示,只需將端口換一下就可以解決問題了。然后輸入密碼,需要注意的是,這個密碼是你MySQL數(shù)據(jù)庫的密碼,所以在安裝配置MySQL數(shù)據(jù)庫時一定要將系統(tǒng)配置的密碼記錄下來,不然密碼輸入錯誤時就會很麻煩,將會直接導(dǎo)致數(shù)據(jù)庫和數(shù)據(jù)庫管理工具連接失敗。當然,系統(tǒng)初始化時隨機給的密碼都是很冗長的,幾乎都是大寫字母和數(shù)字以及特殊符號組成,大概有30個字符。覺得繁瑣的同學(xué)可以及時修改密碼,修改密碼沒有什么特別的限制,一般最少是六個字符,最好是改成純數(shù)字的,如123456這些方便記憶的。當輸入正確的密碼之后,點擊確定按鈕,顯示連接成功即可。連接成功如下圖所示:圖7連接成功后,通過NavicatPremium管理工具,你可以直接創(chuàng)建新的數(shù)據(jù)庫表或者在Python中自動創(chuàng)建也行。新創(chuàng)建完成后,你也可以根據(jù)設(shè)計的數(shù)據(jù)庫表將其添加,設(shè)置名稱,類型,長度等。設(shè)置完成后,單擊“保存”,然后命名。如果要修改,請選擇要修改的表,然后單擊鼠標右鍵以設(shè)計該表。如果要導(dǎo)入,請右鍵單擊該表并選擇導(dǎo)入向?qū)?,按照提示進行導(dǎo)入,也可以在導(dǎo)入后對其進行修改。某些固定內(nèi)容和相對大量的數(shù)據(jù)可以直接在本地導(dǎo)入,Excel表也可以方便導(dǎo)入進去。NavicatPremium可以很容易地對數(shù)據(jù)庫進行修改,可以手動在建好的表中修改數(shù)據(jù),也可以通過sql語句對其進行修改。但是在這次畢業(yè)設(shè)計中,我不是采取直接在數(shù)據(jù)庫管理工具中直接創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表,而是在Python中寫了一段自動化腳本代碼來直接創(chuàng)建,這也體現(xiàn)了Python自動化辦公的優(yōu)越性。并且學(xué)生成績管理系統(tǒng)的需求功能中要求老師最后能夠把學(xué)生的成績及相關(guān)信息導(dǎo)出到Excel表格中,數(shù)據(jù)庫管理工具可以很好地與Excel進行交互,通過導(dǎo)入Python的第三方庫xlrd和xlwt進行連接,數(shù)據(jù)庫管理工具將Excel表格中的學(xué)生成績及相關(guān)信息可視化,同時Excel上的信息可以保存到數(shù)據(jù)庫管理工具中,實際上Navicatpremium數(shù)據(jù)庫管理工具就類似于一個連接Python和Excel表格的一個中間媒介,數(shù)據(jù)的傳送載體。
第4章系統(tǒng)功能設(shè)計與分析4.1使用數(shù)據(jù)庫對數(shù)據(jù)進行存取(1)使用PyMySQL模塊操作數(shù)據(jù)庫對數(shù)據(jù)進行存取我們先安裝pymysql模塊,在命令行中直接pipinstallPyMySQL就行了,使用時直接在編程環(huán)境中導(dǎo)入:importpymysql,這樣編譯時就不會報錯了。(2)接下來就是創(chuàng)建數(shù)據(jù)庫和創(chuàng)建數(shù)據(jù)表studentsore、teacherlogin,創(chuàng)建數(shù)據(jù)庫表有兩種方法:可以使用Navicat數(shù)據(jù)庫管理工具直接創(chuàng)建,但是這種方法比較慢,不推薦;還有一種方法就是直接在pycharm中寫一段自動化測試腳本來自動幫你創(chuàng)建,這樣更加高效率,也體現(xiàn)了Python自動化辦公方面的優(yōu)勢。自動化測試腳本如下圖所示:圖8圖9(3)使用xlrd模塊從Excel文件中讀取數(shù)據(jù)到數(shù)據(jù)庫我們要想讀取數(shù)據(jù)到數(shù)據(jù)庫中,必須先安裝xlrd庫,如果沒有安裝庫,數(shù)據(jù)將無法讀取,而且系統(tǒng)會報錯。需要用時直接導(dǎo)入,再打開Excel文件,循環(huán)每個單元格的值,將數(shù)據(jù)讀取到數(shù)據(jù)庫表中。圖10圖11(4)定義一個對學(xué)生成績進行增加、查詢、刪除和清空的工具類(1)打開數(shù)據(jù)庫進行連接,用cursor()方法迭代訪問查詢返回的結(jié)果;圖12(2)查詢獲取多條數(shù)據(jù):使用execute()方法執(zhí)行SQL語句,使用fetchall()方法查詢多條數(shù)據(jù),得到一個由元組組成的列表;圖13(3)查詢獲取單條數(shù)據(jù):同樣的,使用execute()方法執(zhí)行SQL語句,使用fetchone()方法查詢單條數(shù)據(jù),返回一個元組;圖14(4)添加刪除操作:使用execute()方法執(zhí)行SQL語句,提交到數(shù)據(jù)庫執(zhí)行,發(fā)生錯誤時返回;圖15(5)關(guān)閉連接:關(guān)閉游標,關(guān)閉數(shù)據(jù)庫連接;圖164.2使用GUI界面進行交互(1)使用Python的第三方庫Tkinter模塊實現(xiàn)圖形化界面設(shè)計,使用時直接在程序中導(dǎo)入即可:fromtkinterimport*fromtkinterimportttkimporttkinter.fontastkFontimporttkinter.messageboxasmessagebox(2)系統(tǒng)主界面(三個部分):教師注冊、教師登錄、退出系統(tǒng)初始化一個窗口,主界面文本顯示"學(xué)生成績管理系統(tǒng)—教師版";添加三個Button按鈕控件,將其分別與關(guān)聯(lián)函數(shù)進行綁定;在主事件循環(huán)中等待用戶觸發(fā)事件響應(yīng)。(3)教師注冊界面:輸入賬號、輸入密碼、確認賬號、確定、返回初始化一個根窗口,添加標簽控件以在一行文本中顯示“教師注冊頁面”,“輸入賬號”,“輸入密碼”和“確認賬號”;添加三個輸入控件用來顯示用戶輸入文本,另外再添加兩個Button按鈕控件并將它們分別綁定到關(guān)聯(lián)的功能寄存器和返回;等待用戶在主事件循環(huán)中觸發(fā)事件響應(yīng)。圖17(4)教師登錄界面:賬號、密碼、確定、返回(結(jié)束上一個窗口)初始化一個根窗口,然后添加兩個輸入控件,用于顯示用戶輸入文本,添加兩個Button按鈕控件,將其分別與關(guān)聯(lián)函數(shù)綁定;在主事件循環(huán)中等待用戶觸發(fā)事件響應(yīng)。圖18(5)教師操作界面:添加、修改、查詢、刪除添加三個框架控件、樹形視圖窗口控件和滾動條控件,設(shè)置標題和定義存儲數(shù)據(jù)的列表,從數(shù)據(jù)庫獲取表內(nèi)容,設(shè)置表內(nèi)容;等待用戶在主事件循環(huán)響應(yīng)中觸發(fā)事件。圖194.3實現(xiàn)所有相關(guān)信息的添加、修改、查詢、刪除等功能(1)添加學(xué)生成績信息確定輸入框中的學(xué)生身份信息是否在已存儲的學(xué)生ID列表中,如果已經(jīng)存在的話則跳出警告“該學(xué)生的成績信息已存在!”,如果沒有相關(guān)信息,則先將輸入框中的數(shù)據(jù)添加到數(shù)據(jù)庫,最后添加到表內(nèi)容中,添加成功后系統(tǒng)會有相關(guān)的顯示。圖20(2)修改學(xué)生成績信息確定輸入框中的學(xué)生身份信息是否在已存儲的學(xué)生ID列表中。如果不存在,則會警告“該學(xué)生的成績信息不存在!”;然后首先根據(jù)輸入框中的學(xué)生ID修改數(shù)據(jù)庫中的數(shù)據(jù),如何對照之前的學(xué)生信息進行遍歷索引,覆蓋以前的信息從而達到修改學(xué)生信息的目的。圖21(3)查詢學(xué)生成績信息確定輸入框中的學(xué)生身份信息是否在已存儲的學(xué)生ID列表中。如果沒有,則會警告“該學(xué)生的成績信息不存在!”;在輸入框中輸入相關(guān)信息查詢即可。圖22(4)刪除學(xué)生成績信息確定輸入框中的學(xué)生身份信息是否在已存儲的學(xué)生ID列表中。如果沒有,則會警告“該學(xué)生的成績信息不存在!”;在輸入框中填寫需要刪除的學(xué)生信息,彈出提示按鈕,點擊確定即可,刪除完畢后則會顯示“成功刪除”的字眼。圖23(5)清空輸入框的內(nèi)容清空輸入框的內(nèi)容是比較簡單的,直接通過clear()方法直接把輸入框的內(nèi)容設(shè)置為空。圖24(6)寫入到Excel文件最后一步是寫入到Excel表格中,跟安裝讀取模塊xlrd一樣的方法先安裝xlwt模塊,新建一個Excel文件,設(shè)置允許重寫覆蓋,從數(shù)據(jù)庫中獲取數(shù)據(jù),最后保存文件中即可。圖25
第5章系統(tǒng)的運行與測試(1)首先是系統(tǒng)主界面,按運行鍵之后,系統(tǒng)沒報錯的話就會彈出如下窗口(學(xué)生成績管理系統(tǒng)-教師版),包括教師注冊、教師登錄和退出系統(tǒng)三部分。圖26(2)新用戶的話首先進行注冊,輸入賬號、輸入密碼和確認密碼即可,但要注意的是如果你注冊的賬號或密碼以及被注冊過了,系統(tǒng)會彈出相應(yīng)的錯誤提示窗口,其他的操作也是如此。圖27圖28(3)接下來就是教師登錄界面,當賬號、密碼兩者之一錯誤或兩個都錯誤時,系統(tǒng)就會彈出相應(yīng)的提示窗口;只有當賬號和密碼一致時才能登錄成功并進入教師操作界面,也就是學(xué)生成績信息管理界面,便可對學(xué)生的信息進行各種操作。圖29圖30(4)教師操作界面(1)添加學(xué)生成績信息:首先是添加功能,可以添加學(xué)號、姓名、院系、語文數(shù)學(xué)英語三科的成績、同學(xué)互評分和任課教師評分這幾項,當這幾項與管理系統(tǒng)中原本存在的學(xué)生信息不一致時則會顯示添加信息成功的窗口;當各項信息都一樣的時候則會跳出一個警告窗口“該學(xué)生信息已存在!”。圖31圖32(2)修改學(xué)生成績信息:可以對學(xué)號、姓名、院系、各科成績、同學(xué)互評分和任課教師評分這幾項進行修改,當這幾項與管理系統(tǒng)中原本存在的學(xué)生信息不一致時則會顯示刪除成功的窗口;當各項信息中的至少某一項不一樣的時候則會跳出一個警告窗口,提示“該學(xué)生成績信息不存在!”。圖33圖34(3)查詢學(xué)生成績信息:可以通過查詢學(xué)生信息中的某一項,如學(xué)號、姓名、院系、語文數(shù)學(xué)英語三科的成績、同學(xué)互評分和任課教師評分這幾項中的某一個即可,成功后就會看到該學(xué)生所有的信息。如果輸入的信息不正確時則系統(tǒng)無法查詢到該學(xué)生的所有信息,此時會彈出“該學(xué)生信息不存在!”的窗口。圖35圖36(4)刪除學(xué)生成績信息:可以在學(xué)生成績管理系統(tǒng)中任意選擇一個學(xué)生,鼠標點擊后該學(xué)生的所有信息將會顯示在左下方的各項指標中,點擊刪除鍵即可,這個操作比較簡單,刪除之后,該學(xué)生的相關(guān)信息將會從系統(tǒng)中抹去,并且此操作不可恢復(fù)。圖37(5)學(xué)生成績信息排序:實際上我們只需對學(xué)生的綜合測評總分進行排序即可,點擊確定按鈕后,系統(tǒng)將會將所有學(xué)生的綜合測評總分由高到低的順序依次排序,學(xué)生的成績信息一目了然,方便老師瀏覽。圖38圖39(6)寫入到Excel文件:最后一步操作是將學(xué)生成績信息寫入到Excel表格,當完成增加、修改、刪除和查詢的基本操作后,可以將最新的學(xué)生成績信息導(dǎo)出到Excel表格中,在導(dǎo)入之前,系統(tǒng)會彈出一個提示框“是否寫入到Excel文件?”,點擊確定按鈕即可保存。圖40圖41(7)下圖就是成功導(dǎo)入到Excel表格,可以清晰地看到每個學(xué)生的相關(guān)信息。圖42
第6章總結(jié)經(jīng)過對學(xué)生成績管理系統(tǒng)的相關(guān)測試與檢驗,實驗結(jié)果如上述圖片所示,系統(tǒng)主界面、注冊界面和學(xué)生成績信息管理界面都正常運行,沒有出現(xiàn)編譯上的錯誤。如果沒有注冊,即沒有相應(yīng)的賬號和密碼,則登錄界面就會報錯;注冊后,系統(tǒng)會顯示注冊成功的提示,并在數(shù)據(jù)庫后臺管理系統(tǒng)看到注冊的賬號和密碼。成功登錄進去后,發(fā)現(xiàn)該系統(tǒng)能夠?qū)崿F(xiàn)預(yù)期功能,教師登錄系統(tǒng)后能夠?qū)W(xué)生的成績等相關(guān)信息進行基本的增加、清空、查詢、刪除等功能,并且能夠?qū)W(xué)生成績及相關(guān)信息導(dǎo)出到Excel表格,方便教師和學(xué)生瀏覽,非常簡潔實用。本來還想增加一個功能是利用樹狀圖對
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公路貨物運輸合同
- 2025年代理發(fā)貨合同范文(2篇)
- 2025年臨時倉庫租賃合同例文(三篇)
- 社區(qū)團購合同
- 工藝品定制合同模板
- 八年級英語下冊 Unit 1 單元綜合測試卷(人教版 2025年春)
- 2025年壓紋機合作協(xié)議書
- 北京課改版英語八年級上重點詞組及句型
- 2025年二手車交易買賣合同參考范文(2篇)
- 2025年代理進口合作協(xié)議(4篇)
- 城市基礎(chǔ)設(shè)施修繕工程的重點與應(yīng)對措施
- 油氣勘探風(fēng)險控制-洞察分析
- GB 12710-2024焦化安全規(guī)范
- 2022年中考化學(xué)模擬卷1(南京專用)
- 醫(yī)療機構(gòu)質(zhì)量管理指南
- 【??途W(wǎng)】2024秋季校園招聘白皮書
- 2024-2025銀行對公業(yè)務(wù)場景金融創(chuàng)新報告
- 2025屆鄭州市高三一診考試英語試卷含解析
- 《我國個人所得稅制下稅收征管問題研究》
- 建筑工程三通一平技術(shù)方案
- 腫瘤中醫(yī)治療及調(diào)養(yǎng)
評論
0/150
提交評論