擴招教學(xué)管理系統(tǒng)數(shù)據(jù)庫設(shè)計與實現(xiàn)
時間:2022-05-25 05:20:47
導(dǎo)語:擴招教學(xué)管理系統(tǒng)數(shù)據(jù)庫設(shè)計與實現(xiàn)一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
摘要:本文以高職擴招的教學(xué)管理流程實現(xiàn)為基礎(chǔ),基于系統(tǒng)需求,實現(xiàn)系統(tǒng)數(shù)據(jù)庫設(shè)計,通過約束條件和索引對數(shù)據(jù)庫進(jìn)行了優(yōu)化。
關(guān)鍵詞:高職擴招;數(shù)據(jù)庫設(shè)計;MySQL
1前言
高職擴招是國家一項重大的教育改革工程,擴招生源在社會背景、年齡結(jié)構(gòu)、實踐閱歷等方面具有多元化,文化基礎(chǔ)和學(xué)習(xí)能力水平參差不齊,求學(xué)動機和接受教育教學(xué)方式差異比較明顯。由于高職院校的擴招學(xué)生在日常管理和教育教學(xué)過程中,與普通在校生存在一定差距,所以這為職業(yè)院校帶來了一定的挑戰(zhàn)。高職院校在調(diào)整人才培養(yǎng)方案、實施線上線下混合教學(xué)、加強過程管控的同時,利用計算機應(yīng)用技術(shù)和網(wǎng)絡(luò)技術(shù)搭建了符合自己管理風(fēng)格的擴招教學(xué)管理系統(tǒng),服務(wù)于廣大擴招師生,從而提高了學(xué)院的管理水平和效率,有效做到擴招人才培養(yǎng)要求的“標(biāo)準(zhǔn)不降、模式多元、學(xué)制靈活”。高職擴招教學(xué)管理系統(tǒng)以擴招學(xué)生和教師為主要服務(wù)對象,以教育教學(xué)為主要內(nèi)容。在實施系統(tǒng)開發(fā)之前,設(shè)計一個全面、準(zhǔn)確、嚴(yán)謹(jǐn)、高效的數(shù)據(jù)庫系統(tǒng),可以極大地提高應(yīng)用系統(tǒng)的有效性和健壯性。目前常見的數(shù)據(jù)庫系統(tǒng)有Oracle、MicrosoftSQLServer、MySQL、access等。由于本項目開發(fā)的高職擴招教學(xué)管理系統(tǒng)采用PHP語言,與MySQL數(shù)據(jù)庫銜接完美,且MySQL具有體積小、速度快、成本低、代碼開源等優(yōu)點,因此本系統(tǒng)采用MySQL數(shù)據(jù)庫。
2數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫的設(shè)計既要滿足用戶的需求,又要與給定的應(yīng)用環(huán)境密切相關(guān),因此需要通過系統(tǒng)化、規(guī)劃化的方法進(jìn)行設(shè)計。同時數(shù)據(jù)庫的設(shè)計還具有反復(fù)性、試探性和分步進(jìn)行的特點。通過用戶需求分析,得到本系統(tǒng),主要完成擴招學(xué)生的教學(xué)管理,包括學(xué)生的基本信息管理,每學(xué)期的教學(xué)計劃管理、教師授課安排、課表生成、考試安排、成績管理等內(nèi)容。
2.1系統(tǒng)E-R模型圖設(shè)計
E-R模型,全稱為實體關(guān)系模型,是數(shù)據(jù)庫概念模型設(shè)計中最常見的描述工具,它提供了表示實體類型、屬性和聯(lián)系的方法。根據(jù)用戶需求和系統(tǒng)功能,我們將本系統(tǒng)大致劃分成以下幾個模塊,主要包括專業(yè)管理、班級管理、學(xué)生管理、教師管理、專業(yè)計劃管理、教學(xué)任務(wù)管理、課表管理、考試管理、評價管理等,每個模塊包含一個實體和若干屬性。根據(jù)實體之間的聯(lián)系得到本系統(tǒng)總的E-R模型(如圖1所示)。圖1中的矩形框表示實體,菱形框表示實體之間的聯(lián)系。一般來說,兩個實體之間的聯(lián)系可以分為三種:對于一對一聯(lián)系,要在兩個實體連線方向各寫1,比如教學(xué)任務(wù)和專業(yè)計劃、教材之間就屬于一對一的關(guān)系,一門課程只能被講授學(xué)習(xí)一次,一門課程只對應(yīng)一本教材;對于一對多聯(lián)系,要在一的一方寫1,多的一方寫n,比如一個學(xué)院開設(shè)了多個專業(yè),一個專業(yè)下面有多個班級,一個班級里有多名同學(xué);對于多對多關(guān)系,則要在兩個實體連線方向各寫m和n,比如一名學(xué)生可以選修了多門課程,一門課程可以被多名學(xué)生選修。
2.2E-R模型圖轉(zhuǎn)換為關(guān)系模型
根據(jù)以上分析,將E-R模型圖轉(zhuǎn)換為關(guān)系模型。在關(guān)系模型中,標(biāo)有下劃線“_”的屬性為主鍵,斜體字的屬性為外鍵。以班級表為例,其關(guān)系模型如下:班級(編號、班級代碼、班級名稱、所在系部、所屬專業(yè)、招生年份、班級人數(shù)、班主任編號)。
3數(shù)據(jù)庫的實施與優(yōu)化
基于以上數(shù)據(jù)庫的設(shè)計,我們在MySQL中進(jìn)行數(shù)據(jù)庫的實施,包括基本數(shù)據(jù)表的創(chuàng)建、索引表的建立、添加外鍵約束等。3.1數(shù)據(jù)表的創(chuàng)建我們在MySQL數(shù)據(jù)庫中首先創(chuàng)建數(shù)據(jù)庫,然后創(chuàng)建了12個數(shù)據(jù)表。這些數(shù)據(jù)表按照字母順序排序后,分別是:教材表、學(xué)院表、班級表、教學(xué)評價表、考試安排表、成績表、學(xué)生表、教學(xué)任務(wù)表、課表、專業(yè)表、專業(yè)計劃表、教師表(如圖2所示)。以專業(yè)計劃表為例,利用“createtable”語句完成該表的創(chuàng)建,具體如圖3所示。語句中對每一個字段的字段名、數(shù)據(jù)類型、默認(rèn)值、字段描述等都進(jìn)行了明確的定義。
3.2約束條件
數(shù)據(jù)庫的約束條件就是指限制表中的數(shù)據(jù),保證添加到數(shù)據(jù)表中的數(shù)據(jù)準(zhǔn)確和可靠性,凡是不符合約束的數(shù)據(jù),插入時就會失敗。約束條件在創(chuàng)建表時可以使用,也可以修改表的時候添加約束條件。約束條件可分為:主鍵約束、外鍵約束、非空約束、默認(rèn)約束、唯一約束等。下面以圖4所示的擴招學(xué)生表為例進(jìn)行討論:主鍵約束(primarykey)通常是一個表必須指定一個主鍵,這個主鍵也是唯一的、非空的,一般也是自動增加的。如本表中的id字段,其key屬性為“PRI”,Extra屬性為“auto_increment”。外鍵約束(foreignkey)用于限制兩個表的關(guān)系,保證從表該字段的值來自于主表相關(guān)聯(lián)的字段的值。如本表的id_grade(班級編號)字段來自于班級表,可以通過以下語句添加外鍵約束,如圖5所示。非空約束(notnull)是保證字段的值不能為空,如圖4中的id(序號)、stu_no(學(xué)號)、stu_name(姓名)、stu_IDnumber(身份證號)等字段都是非空約束。默認(rèn)約束(default)是保證字段總會有值,當(dāng)沒有插入值時自動為默認(rèn)值,如圖4中的year_enroll(入學(xué)年份)字段默認(rèn)為“2021”。唯一約束(unique)是保證每一行數(shù)據(jù)的唯一性,防止用戶輸入重復(fù)數(shù)據(jù)。如圖4中的stu_no(學(xué)號)、stu_IDnumber(身份證號)兩個字段不允許數(shù)據(jù)重復(fù)。
3.3索引
為了提高數(shù)據(jù)表的訪問速度,我們在數(shù)據(jù)表中添加了索引,索引是對數(shù)據(jù)表中一個或多個列的值進(jìn)行排序的結(jié)構(gòu)。索引又分為普通索引、唯一性索引、全文索引、單列索引、多列索引和空間索引等。我們在每張表中都添加了自動增加的id字段,作為該表的主鍵索引,當(dāng)在查詢中使用主鍵索引時,它可以實現(xiàn)對數(shù)據(jù)的快速訪問。另外,在Web應(yīng)用系統(tǒng)對數(shù)據(jù)進(jìn)行操作時,需要將學(xué)院表、專業(yè)表、教師表等按照日常工作約定的方式進(jìn)行排序,因此這幾個表中都增加了“排列序號”字段,并對將該字段設(shè)置為普通索引。
3.4冗余數(shù)據(jù)
在數(shù)據(jù)庫的設(shè)計中,根據(jù)第三范式規(guī)定,數(shù)據(jù)庫表中不包含已在其它表中已包含的非主關(guān)鍵字信息。因此當(dāng)嚴(yán)格按照第三范式設(shè)計時,教學(xué)任務(wù)(課程)表中只需包含課程編號、教師編號即可。但在Web應(yīng)用系統(tǒng)對數(shù)據(jù)處理時,經(jīng)常需要在多個數(shù)據(jù)庫之間共享或共同處理數(shù)據(jù),比如在教學(xué)任務(wù)的處理中,每次都需要顯示教師姓名和工號、課程名稱和課程代碼,偶爾也會要求查詢該課程的學(xué)分、學(xué)時、教材等信息。因此,在實際的數(shù)據(jù)庫實現(xiàn)過程中,也允許一些冗余數(shù)據(jù)的存在,從而在犧牲存儲空間的情況下,提高了程序運行的時間和數(shù)據(jù)處理的效率。當(dāng)需要同時調(diào)用其他數(shù)據(jù)表中的數(shù)據(jù)時,可以采用聯(lián)合查詢技術(shù)實現(xiàn)。
4結(jié)束語
本文實現(xiàn)了高職擴招教學(xué)管理系統(tǒng)中數(shù)據(jù)庫的設(shè)計,通過需求分析、概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計明確了系統(tǒng)需求,運用mysql實現(xiàn)了數(shù)據(jù)庫的創(chuàng)建與優(yōu)化。數(shù)據(jù)庫設(shè)計是Web應(yīng)用系統(tǒng)開發(fā)的基礎(chǔ)和骨架,良好的數(shù)據(jù)庫結(jié)構(gòu)為Web應(yīng)用系統(tǒng)的開發(fā)奠定堅實的基礎(chǔ)。下一步將利用PHP語言實現(xiàn)系統(tǒng)的功能實現(xiàn)和數(shù)據(jù)交互處理,比如通過用戶交互和算法實現(xiàn)課表、考試安排、教學(xué)評價信息等。最后利用HTML+CSS+javascript實現(xiàn)網(wǎng)頁的顯示和瀏覽,完成本系統(tǒng)的開發(fā),并投入實用。高職擴招是順應(yīng)社會發(fā)展的教育策略,是國家的教育大計,此系統(tǒng)將根據(jù)高職擴招靈活學(xué)制的特點定制開發(fā),并克服了學(xué)院現(xiàn)有教學(xué)管理系統(tǒng)使用上的不便,服務(wù)于學(xué)院擴招專業(yè)教學(xué)管理,使信息化建設(shè)和運用水平得到提高。
參考文獻(xiàn)
[1]賀適.軟件開發(fā)中數(shù)據(jù)庫設(shè)計理論實踐研究[J].電子測試,2020,No.437(08):67-68.
[2]羅全珍,李迎國,趙琦.基于MVC模式的獲獎管理系統(tǒng)設(shè)計[J].電子技術(shù)與軟件工程,2020(7).
[3]計算機軟件數(shù)據(jù)庫設(shè)計應(yīng)用探析[J].科學(xué)大眾,2020(2):41-41.
[4]姜曉琴.網(wǎng)上選課系統(tǒng)的數(shù)據(jù)庫設(shè)計與實現(xiàn)[J].數(shù)碼世界,2020(1).
[5]梁利亭.計算機軟件數(shù)據(jù)庫設(shè)計原則探討[J].信息與電腦,2020,032(002):116-118.
作者:羅全珍 李彩霞 單位:甘肅交通職業(yè)技術(shù)學(xué)院