擴(kuò)招教學(xué)管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn)

時(shí)間:2022-05-25 05:20:47

導(dǎo)語:擴(kuò)招教學(xué)管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn)一文來源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

擴(kuò)招教學(xué)管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn)

摘要:本文以高職擴(kuò)招教學(xué)管理流程實(shí)現(xiàn)為基礎(chǔ),基于系統(tǒng)需求,實(shí)現(xiàn)系統(tǒng)數(shù)據(jù)庫設(shè)計(jì),通過約束條件和索引對數(shù)據(jù)庫進(jìn)行了優(yōu)化。

關(guān)鍵詞:高職擴(kuò)招;數(shù)據(jù)庫設(shè)計(jì);MySQL

1前言

高職擴(kuò)招是國家一項(xiàng)重大的教育改革工程,擴(kuò)招生源在社會背景、年齡結(jié)構(gòu)、實(shí)踐閱歷等方面具有多元化,文化基礎(chǔ)和學(xué)習(xí)能力水平參差不齊,求學(xué)動(dòng)機(jī)和接受教育教學(xué)方式差異比較明顯。由于高職院校的擴(kuò)招學(xué)生在日常管理和教育教學(xué)過程中,與普通在校生存在一定差距,所以這為職業(yè)院校帶來了一定的挑戰(zhàn)。高職院校在調(diào)整人才培養(yǎng)方案、實(shí)施線上線下混合教學(xué)、加強(qiáng)過程管控的同時(shí),利用計(jì)算機(jī)應(yīng)用技術(shù)和網(wǎng)絡(luò)技術(shù)搭建了符合自己管理風(fēng)格的擴(kuò)招教學(xué)管理系統(tǒng),服務(wù)于廣大擴(kuò)招師生,從而提高了學(xué)院的管理水平和效率,有效做到擴(kuò)招人才培養(yǎng)要求的“標(biāo)準(zhǔn)不降、模式多元、學(xué)制靈活”。高職擴(kuò)招教學(xué)管理系統(tǒng)以擴(kuò)招學(xué)生和教師為主要服務(wù)對象,以教育教學(xué)為主要內(nèi)容。在實(shí)施系統(tǒng)開發(fā)之前,設(shè)計(jì)一個(gè)全面、準(zhǔn)確、嚴(yán)謹(jǐn)、高效的數(shù)據(jù)庫系統(tǒng),可以極大地提高應(yīng)用系統(tǒng)的有效性和健壯性。目前常見的數(shù)據(jù)庫系統(tǒng)有Oracle、MicrosoftSQLServer、MySQL、access等。由于本項(xiàng)目開發(fā)的高職擴(kuò)招教學(xué)管理系統(tǒng)采用PHP語言,與MySQL數(shù)據(jù)庫銜接完美,且MySQL具有體積小、速度快、成本低、代碼開源等優(yōu)點(diǎn),因此本系統(tǒng)采用MySQL數(shù)據(jù)庫。

2數(shù)據(jù)庫設(shè)計(jì)

數(shù)據(jù)庫的設(shè)計(jì)既要滿足用戶的需求,又要與給定的應(yīng)用環(huán)境密切相關(guān),因此需要通過系統(tǒng)化、規(guī)劃化的方法進(jìn)行設(shè)計(jì)。同時(shí)數(shù)據(jù)庫的設(shè)計(jì)還具有反復(fù)性、試探性和分步進(jìn)行的特點(diǎn)。通過用戶需求分析,得到本系統(tǒng),主要完成擴(kuò)招學(xué)生的教學(xué)管理,包括學(xué)生的基本信息管理,每學(xué)期的教學(xué)計(jì)劃管理、教師授課安排、課表生成、考試安排、成績管理等內(nèi)容。

2.1系統(tǒng)E-R模型圖設(shè)計(jì)

E-R模型,全稱為實(shí)體關(guān)系模型,是數(shù)據(jù)庫概念模型設(shè)計(jì)中最常見的描述工具,它提供了表示實(shí)體類型、屬性和聯(lián)系的方法。根據(jù)用戶需求和系統(tǒng)功能,我們將本系統(tǒng)大致劃分成以下幾個(gè)模塊,主要包括專業(yè)管理、班級管理、學(xué)生管理、教師管理、專業(yè)計(jì)劃管理、教學(xué)任務(wù)管理、課表管理、考試管理、評價(jià)管理等,每個(gè)模塊包含一個(gè)實(shí)體和若干屬性。根據(jù)實(shí)體之間的聯(lián)系得到本系統(tǒng)總的E-R模型(如圖1所示)。圖1中的矩形框表示實(shí)體,菱形框表示實(shí)體之間的聯(lián)系。一般來說,兩個(gè)實(shí)體之間的聯(lián)系可以分為三種:對于一對一聯(lián)系,要在兩個(gè)實(shí)體連線方向各寫1,比如教學(xué)任務(wù)和專業(yè)計(jì)劃、教材之間就屬于一對一的關(guān)系,一門課程只能被講授學(xué)習(xí)一次,一門課程只對應(yīng)一本教材;對于一對多聯(lián)系,要在一的一方寫1,多的一方寫n,比如一個(gè)學(xué)院開設(shè)了多個(gè)專業(yè),一個(gè)專業(yè)下面有多個(gè)班級,一個(gè)班級里有多名同學(xué);對于多對多關(guān)系,則要在兩個(gè)實(shí)體連線方向各寫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ù)庫的實(shí)施與優(yōu)化

基于以上數(shù)據(jù)庫的設(shè)計(jì),我們在MySQL中進(jìn)行數(shù)據(jù)庫的實(shí)施,包括基本數(shù)據(jù)表的創(chuàng)建、索引表的建立、添加外鍵約束等。3.1數(shù)據(jù)表的創(chuàng)建我們在MySQL數(shù)據(jù)庫中首先創(chuàng)建數(shù)據(jù)庫,然后創(chuàng)建了12個(gè)數(shù)據(jù)表。這些數(shù)據(jù)表按照字母順序排序后,分別是:教材表、學(xué)院表、班級表、教學(xué)評價(jià)表、考試安排表、成績表、學(xué)生表、教學(xué)任務(wù)表、課表、專業(yè)表、專業(yè)計(jì)劃表、教師表(如圖2所示)。以專業(yè)計(jì)劃表為例,利用“createtable”語句完成該表的創(chuàng)建,具體如圖3所示。語句中對每一個(gè)字段的字段名、數(shù)據(jù)類型、默認(rèn)值、字段描述等都進(jìn)行了明確的定義。

3.2約束條件

數(shù)據(jù)庫的約束條件就是指限制表中的數(shù)據(jù),保證添加到數(shù)據(jù)表中的數(shù)據(jù)準(zhǔn)確和可靠性,凡是不符合約束的數(shù)據(jù),插入時(shí)就會失敗。約束條件在創(chuàng)建表時(shí)可以使用,也可以修改表的時(shí)候添加約束條件。約束條件可分為:主鍵約束、外鍵約束、非空約束、默認(rèn)約束、唯一約束等。下面以圖4所示的擴(kuò)招學(xué)生表為例進(jìn)行討論:主鍵約束(primarykey)通常是一個(gè)表必須指定一個(gè)主鍵,這個(gè)主鍵也是唯一的、非空的,一般也是自動(dòng)增加的。如本表中的id字段,其key屬性為“PRI”,Extra屬性為“auto_increment”。外鍵約束(foreignkey)用于限制兩個(gè)表的關(guān)系,保證從表該字段的值來自于主表相關(guān)聯(lián)的字段的值。如本表的id_grade(班級編號)字段來自于班級表,可以通過以下語句添加外鍵約束,如圖5所示。非空約束(notnull)是保證字段的值不能為空,如圖4中的id(序號)、stu_no(學(xué)號)、stu_name(姓名)、stu_IDnumber(身份證號)等字段都是非空約束。默認(rèn)約束(default)是保證字段總會有值,當(dāng)沒有插入值時(shí)自動(dòng)為默認(rèn)值,如圖4中的year_enroll(入學(xué)年份)字段默認(rèn)為“2021”。唯一約束(unique)是保證每一行數(shù)據(jù)的唯一性,防止用戶輸入重復(fù)數(shù)據(jù)。如圖4中的stu_no(學(xué)號)、stu_IDnumber(身份證號)兩個(gè)字段不允許數(shù)據(jù)重復(fù)。

3.3索引

為了提高數(shù)據(jù)表的訪問速度,我們在數(shù)據(jù)表中添加了索引,索引是對數(shù)據(jù)表中一個(gè)或多個(gè)列的值進(jìn)行排序的結(jié)構(gòu)。索引又分為普通索引、唯一性索引、全文索引、單列索引、多列索引和空間索引等。我們在每張表中都添加了自動(dòng)增加的id字段,作為該表的主鍵索引,當(dāng)在查詢中使用主鍵索引時(shí),它可以實(shí)現(xiàn)對數(shù)據(jù)的快速訪問。另外,在Web應(yīng)用系統(tǒng)對數(shù)據(jù)進(jìn)行操作時(shí),需要將學(xué)院表、專業(yè)表、教師表等按照日常工作約定的方式進(jìn)行排序,因此這幾個(gè)表中都增加了“排列序號”字段,并對將該字段設(shè)置為普通索引。

3.4冗余數(shù)據(jù)

在數(shù)據(jù)庫的設(shè)計(jì)中,根據(jù)第三范式規(guī)定,數(shù)據(jù)庫表中不包含已在其它表中已包含的非主關(guān)鍵字信息。因此當(dāng)嚴(yán)格按照第三范式設(shè)計(jì)時(shí),教學(xué)任務(wù)(課程)表中只需包含課程編號、教師編號即可。但在Web應(yīng)用系統(tǒng)對數(shù)據(jù)處理時(shí),經(jīng)常需要在多個(gè)數(shù)據(jù)庫之間共享或共同處理數(shù)據(jù),比如在教學(xué)任務(wù)的處理中,每次都需要顯示教師姓名和工號、課程名稱和課程代碼,偶爾也會要求查詢該課程的學(xué)分、學(xué)時(shí)、教材等信息。因此,在實(shí)際的數(shù)據(jù)庫實(shí)現(xiàn)過程中,也允許一些冗余數(shù)據(jù)的存在,從而在犧牲存儲空間的情況下,提高了程序運(yùn)行的時(shí)間和數(shù)據(jù)處理的效率。當(dāng)需要同時(shí)調(diào)用其他數(shù)據(jù)表中的數(shù)據(jù)時(shí),可以采用聯(lián)合查詢技術(shù)實(shí)現(xiàn)。

4結(jié)束語

本文實(shí)現(xiàn)了高職擴(kuò)招教學(xué)管理系統(tǒng)中數(shù)據(jù)庫的設(shè)計(jì),通過需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)明確了系統(tǒng)需求,運(yùn)用mysql實(shí)現(xiàn)了數(shù)據(jù)庫的創(chuàng)建與優(yōu)化。數(shù)據(jù)庫設(shè)計(jì)是Web應(yīng)用系統(tǒng)開發(fā)的基礎(chǔ)和骨架,良好的數(shù)據(jù)庫結(jié)構(gòu)為Web應(yīng)用系統(tǒng)的開發(fā)奠定堅(jiān)實(shí)的基礎(chǔ)。下一步將利用PHP語言實(shí)現(xiàn)系統(tǒng)的功能實(shí)現(xiàn)和數(shù)據(jù)交互處理,比如通過用戶交互和算法實(shí)現(xiàn)課表、考試安排、教學(xué)評價(jià)信息等。最后利用HTML+CSS+javascript實(shí)現(xiàn)網(wǎng)頁的顯示和瀏覽,完成本系統(tǒng)的開發(fā),并投入實(shí)用。高職擴(kuò)招是順應(yīng)社會發(fā)展的教育策略,是國家的教育大計(jì),此系統(tǒng)將根據(jù)高職擴(kuò)招靈活學(xué)制的特點(diǎn)定制開發(fā),并克服了學(xué)院現(xiàn)有教學(xué)管理系統(tǒng)使用上的不便,服務(wù)于學(xué)院擴(kuò)招專業(yè)教學(xué)管理,使信息化建設(shè)和運(yùn)用水平得到提高。

參考文獻(xiàn)

[1]賀適.軟件開發(fā)中數(shù)據(jù)庫設(shè)計(jì)理論實(shí)踐研究[J].電子測試,2020,No.437(08):67-68.

[2]羅全珍,李迎國,趙琦.基于MVC模式的獲獎(jiǎng)管理系統(tǒng)設(shè)計(jì)[J].電子技術(shù)與軟件工程,2020(7).

[3]計(jì)算機(jī)軟件數(shù)據(jù)庫設(shè)計(jì)應(yīng)用探析[J].科學(xué)大眾,2020(2):41-41.

[4]姜曉琴.網(wǎng)上選課系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn)[J].數(shù)碼世界,2020(1).

[5]梁利亭.計(jì)算機(jī)軟件數(shù)據(jù)庫設(shè)計(jì)原則探討[J].信息與電腦,2020,032(002):116-118.

作者:羅全珍 李彩霞 單位:甘肅交通職業(yè)技術(shù)學(xué)院