【摘要】 隨著教育改革的深入,高校學分制在各個高校中逐漸推廣。學分制是一種以選課為核心,教師指導為輔助,通過成績績點和學分,衡量學生學習質和量的綜合教學管理制度。
【關鍵詞】SQL語言;教學信息系統;選課數據維護
學分制作為我國高等院校近年已普遍實行的一種教學管理制度,教學信息系統是一套具有先進教學理念的,涉及到高校教務管理各個環節、面向學校各部門的多模塊的綜合教學信息管理系統。高校教學信息系統作為校園數字化建設的重要應用組成部分,是高校學分制管理的重要技術支持,結構化查詢語言作為關系數據庫的標準語言在教學系統的選課數據維護領域發揮著極其重要的作用。
一、教學信息系統支持學分制選課
完全學分制是一種以學分為計量單位衡量學生學業完成狀況的教學管理制度。在導師的指導下,由學生自己選擇專業的發展方向,自己安排每學年的學習計劃,自己決定畢業時間,在許可的年限內,學生修滿規定的學分即可畢業。完全學分制作為我國高等院校近年已普遍實行的一種教學管理制度,是以尊重學生的個體差異為基礎的。學生可以在一定程度上自主構建和完善知識、能力結構,并能結合自身情況及時調整學習計劃,有利于學生的全面發展。
我們知道學分制的施行需要有一個良好的基礎,這個基礎不僅包括學院的良好制度基礎,更應包括我們教學信息系統的平臺技術保證。高校教務系統是一套具有先進教學理念的,涉及到教務管理各個環節、面向學習各部門以及各層次用戶的多模塊的綜合教學信息管理系統。經過幾年的應用已經在學校的教務管理工作中發揮了不可替代的作用,現在已經成為學校的核心應用系統之一。特別是系統中的選課模塊,是對學校學分制實施的有力支持和信息化保證。
二、結構化查詢語言概述
結構化查詢語言(Structured Query Language)簡稱SQL,是一種介于關系代數與關系演算之間的結構化查詢語言,其功能并不僅僅是查詢,而是一個通用的、功能極強的關系數據庫語言和程序設計語言。
SQL語言是1974年由Boyce和Chamber-lin提出的。由于它功能豐富,語言簡捷倍受用戶及計算機工業界歡迎,被眾多計算機公司和軟件公司所采用。經各公司的不斷修改、擴充和完善,最終發展成為關系數據庫的標準語言。
1986年10月美國國家標準局(American National Standard Institute,簡稱ANSI)的數據庫委員會X3H2批準了SQL作為關系數據庫語言的美國標準。同年公布了SQL標準文本(簡稱SQL-86)。1987年國際標準化組織(簡稱ISO)也通過了這一標準。此后ANSI不斷修改和完善SQL標準,并于1989年公布了SQL-89標準,1992年又公布了SQL-92標準。目前ISO也已經公布了最新的標準也就是SQL200n,有很多學者都在做這方面的研究。
SQL是高級的非過程化編程語言,是溝通數據庫服務器和客戶端的重要工具,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以,具有完全不同底層結構的不同數據庫系統,可以使用相同的SQL語言作為數據輸入與管理的接口。它以記錄集合作為操作對象,所有SQL語句接受集合作為輸入,返回集合作為輸出,這種集合特性允許一條SQL語句的輸出作為另一條SQL語句的輸入,所以SQL語句可以嵌套,這使它具有極大的靈活性和強大的功能,在多數情況下,在其他語言中需要一大段程序實現的功能只需要一個SQL語句就可以達到目的,這也意味著用SQL語言可以寫出非常復雜的語句。
SQL語言集數據查詢(Data Query)、數據操縱(Data Manipulation)、數據定義(Data Definition)和數據控制(Data Control)功能于一體。也就是說,使用SQL語言可從數據庫中取回數據,可在數據庫中插入新的記錄,可更新數據庫中的數據,也可從數據庫刪除記錄,還可創建新數據庫并數據庫中創建新表,創建存儲過程,創建視圖,并同時設置表、存儲過程和視圖的權限。具體說來SQL語言的主要特點包括:
(1)綜合統一
(2)高度非過程化
(3)面向集合的操作方式
(4)以同一種語法結構提供兩種使用方式
總結起來,SQL語言包括三種主要程序設計語言類別的語句:數據定義語言(DDL),數據操作語言(DML)及數據控制語言(DCL),它們是:
(1)數據定義語言(Data Definition Language(DDL),用來建立數據庫、數據對象和定義其列。定義:definition/例如:CREATE、DROP、ALTER等語句。
(2)數據操作語言Data Manipulation Language(DML),用來插入、修改、刪除、查詢,可以修改數據庫中的數據。操作:make/ 例如:INSERT(插入)、UPDATE(修改)、DELETE(刪除)語句、SELECT(查詢)。
(3)數據控制語言Data Controlling Language(DCL),用來控制數據庫組件的存取允許、存取權限等。控制:control/例如:GRANT、REVOKE、COMMIT、ROLLBACK等語句。
三、使用SQL語言解決工作中實際問題
通過幾年的工作實踐,我們逐漸意識到在選課模塊的應用和維護工作中的一個重點內容就是如何維護好學生的選課數據,整體來說維護的工作分為三個部分,那就是選課前數據準備,選課中的流程和數據控制,以及選課后的數據維護工作。因此,在以上知識的基礎上結合選課工作中遇到的實際情況,筆者總結了幾條使用SQL語言解決選課數據維護的問題。
1.去掉預置選課數據操作步中的重復數據
由于選課數據來源于前期的數據準備的結果,因此這里面既包括已有的教學計劃等基礎數據,也包括在排課模塊時操作得到的課程安排數據,部分系統操作人員在做排課的任務時發生了錯誤,導致了系統管理員在選課流程控制中的預置選課數據操作步時不能保存結果而不得不中斷,經分析是教務信息人員在做排課任務數據時對同一個班級的同一門課程多做了一次課堂數據,從而導致在pk_kkbjb和xk_kkbjb這兩張表中都出現了數據重復的現象。此時使用SQL語言針對相關數據表即可解決問題。
2.針對所有選課數據進行核對
前面提到,選課模塊中的選課數據即是學生選修課程的數據表現,也是后續學生成績數據的直接來源,所以在系統中要想進行后續的成績錄入工作就必須把選課數據準備好。通常我們會在選課工作全部完成后做一個選課數據的校驗工作,以確保這部分數據的準確可靠。
總之,本文中總結出的這些SQL語句只是目前在工作中發現的一些比較成熟的能夠解決學校教學系統中選課數據問題的語句,還有很多問題有待我們的發現和解決。
參考文獻
[1]薩師煊,王珊.數據庫系統概論[M].高等教育出版社, 2000,2.
[2]丁士鋒.Oracle PL/SQL從入門到精通[M].清華大學出版社,2012,6.