【摘要】Visual FoxPro(VFP)關系數據庫系統是全國高等學校計算機等級考試科目之一,是新一代小型數據庫管理系統的杰出代表。本文探討了如何在VFP數據庫設計中應用研究性教學。
【關鍵詞】VFP語言;研究性教學;數據庫系統
【中圖分類號】G420 【文獻標識碼】B 【文章編號】2095-3089(2017)14-0019-02
VFP是新一代小型數據庫管理系統的杰出代表,它以強大的功能、完整而又豐富的工具、較高的處理速度、友好的界面以及較完備的兼容性等特點,深受廣大用戶的歡迎。目前,VFP是用戶收集信息、查詢數據、創建數據庫系統、進行應用系統開發較為理想的微機數據庫管理系統。筆者認為,在VFP的教學中,數據庫設計是一個很重要的教學點。只有采用較好的數據庫設計,才能迅速高效地創建一個設計完善的數據庫,為訪問所需信息提供方便。下面,我就結合自己的教學經驗,談談如何將研究性教學思想應用在數據庫設計中,以便提高學生的思維能力、實驗能力、最終取得較好的教學效果。
設計數據庫有5個步驟:明確建立數據庫的目的、確定需要的表、確定表中字段、建立表之間的關系、改進設計。
一、明確建立數據庫的目的
這一步主要是進行需求分析,以便確定數據庫中需要保存哪些信息。例如,用戶需要錄入哪些信息,需要從數據庫中得到怎樣的結果,可以啟發學生從信息需求、處理需求、安全性和完整性要求三方面著手來分析。信息需求即是用戶要從數據庫中獲得的信息。比如我們在建立“教學管理數據庫”時,應該提供教師、學生、課程、任課、班級、專業、成績等與教學管理有關的信息。處理需求指需要對數據完成什么處理功能及處理的方式。安全性是指數據的保密性控制,例如用戶需要驗明身份后才能進入系統,對某些特定的數據限定使用權限,對不同的操作采用不同的保護級別,采用密碼方式存放數據等。完整性控制指利用某些條件判斷來排除不正確的數據,它包括正確性、有效性、相容性的控制。
二、確定需要的表
這是數據庫設計過程中技巧性最強的一步。以教學管理數據庫為例,要涉及教師、課程和任課等情況,如果把教師、課程和任課信息放在一張表中,就勢必會造成信息的重復。而大量信息的重復會導致以下后果:錄入工作量增大,重復數據的錄入又會造成數據的不一致性,容易出現孤立記錄。因此,要盡量避免在一張表中存儲重復的信息。在本例中,可以設置三張表分別存放教師、課程和任課的信息。這一步在課堂上可以先展示一張包含教師、課程、任課信息的一張表,然后讓學生找出表的不足之處,再啟發學生回答重復信息帶來的后果。
三、確定表中字段
第一是要確保每個字段都直接和表的主題相關。例如課程表中應含有課程號、課程名、課時數、必修課、學分等字段。教師表中應含有教師號、教師名、性別、工齡、出生日期、職稱、教師簡歷、教師照片等字段。第二是以最小的邏輯單位存儲信息。如果一個字段中結合了多種信息,以后要獲取單獨的信息就會很困難。第三是不要包含可推導得到的字段。例如,在工資表中包含了基本工資、崗位工資、職務津貼,公積金,水費、電費等字段,就不必有應發工資字段,因為應發工資可以通過以上字段計算出來。第四每張表都必須確定主關鍵字段。它用以唯一確定存儲在表中的每個記錄。例如教師表中的主關鍵字是教師號,課程表中的主關鍵字是課程號,任課表中的主關鍵字是教師號和課程號兩個字段。這一步可以先讓學生思考一下表應該包含哪些字段,然后大家共同討論,增加需要的字段,去掉不必的字段。
四、確定表之間的關系
VFP用表來存儲數據,在每張獨立的表中存儲的數據之間有一定的關聯。我們可以利用相互關聯的數據來查找數據庫中有聯系的信息。例如,我們需要查找教師的任課信息,教師號是教師表的主關鍵字,也是任課表中的一個字段。我們把教師表中的教師號稱為是主關鍵字,而任課表中的教師號稱為外部關鍵字。通過教師號可以建立教師表和任課表的關系。表之間的關系一般有三種:一對一關系、一對多關系、多對多關系。一對一關系是指A表的一條記錄在B表中只能對應一條記錄,而B表的一條記錄在A表中也只能對應一條記錄。這種關系用的很少,一般用于字段項太多或其他特殊情況下。一對多關系是指A表的一條記錄在B表中對應多條記錄,而B表的一條記錄在A表中只對應一條記錄。我們稱A表為主表,B表為子表。以教學管理系統中教師表和任課表為例,教師表和任課表之間就是一個一對多關系,教師表是主表,任課表是子表。同樣的道理,課程表是主表,任課表是子表。多對多關系是指A表的一條記錄在B表中可以有多條記錄與之對應,而B表的一條記錄在A表中也有多條記錄和它對應。多對多關系在實際應用中經常出現。比如教師和課程表之間就存在多對多關系。每個教師可以上多門課程,每門課程可以由多個教師上,一般在處理多對多關系時,要建立第三張表,將一個多對多關系分解為兩個一對多關系,這第三張表就稱為紐帶表。比如在教學管理系統中,任課表就是教師表和課程表之間的紐帶表。在這一步中,請學生思考各個表之間的關系,找出每張表的主關鍵字,必要時設置紐帶表。
五、改進設計
這一步主要是檢查數據庫是否滿足了用戶的需求,查找錯誤,完善設計。比如是否為每張表都選擇了主關鍵字,設計的表中字段是否全面,是否包含了大批冗余的數據,是否存在保持了大量空白的字段,是否從現有的表中可以得到所需的數據。經過反復的修改和完善,最終我們可以得到教學管理數據庫系統的原型。
以上我們簡述了數據庫的設計過程。當然,這個系統設計的比較簡單,離實際的應用還有一定的距離。我們研究性教學的目的就是讓學生掌握數據庫設計的一般方法,能夠動手進行設計,多多思考,和老師有效互動,真正成為學習的主人。
參考文獻
[1]王珊等.數據庫系統概論(第4版).北京:高等教學出版社,2006.
[2]嚴明等.VisualFoxPro教程(2010年版).蘇州:蘇州大學出版社,2010.
[3]教育部考試中心.全國計算機等級考試二級教程——VisualFxoPro數據庫程序設計.北京:高等教學出版社,2011.
[4]邊小勇,盛玉霞.計算機語言類課程教學法研究與實踐[J],計算機教育2007,(21).
作者簡介:宋春來(1972-),女,四川宜賓人,漢族,碩士研究生學歷。江蘇省揚州大學副教授,主要研究信息安全,密碼學。