王雯玥
[摘要]為提高教學管理質量和效率,設計一個高效的數據庫應用系統,主要介紹利用Sysbase公司的數據建模工具PowerDesigner進行數據庫的分析和設計的過程,即根據需求分析的結果,進行概念結構設計,設計E-R圖,進而設計物理結構,并用規范化理論優化數據庫邏輯模式。
[關鍵詞]需求分析 數據庫 概念結構 物理結構 規范化
中圖分類號:TP3文獻標識碼:A文章編號:1671-7597(2009)0920089-01
數據庫技術的廣泛應用,對現代社會各個組織部門的正常運轉都發揮著至關重要的作用,數據庫已經成為人們存儲數據、管理信息、共享資源的最先進最常用的技術。同時隨著高校教學管理信息化建設的發展,利用網絡進行教學管理己是各高校的一個趨勢,網絡的正規化,使得越來越多的高校都傾向于通過網絡進行教學管理。把信息網絡和先進的計算機技術引入學校,優化高校教學管理工作,提高辦公效率、改進辦公質量,是目前各大院校都在積極開展的工作。本次設計做了適當的簡化,只考慮了最基本的教學管理工作,沒有考慮學生重修的情況、也沒有考慮考試安排的情況。通過調查、收集和分析,獲得用戶對數據庫的如下要求。
一、系統功能分析
從整個教學管理來看,這個系統的主要功能如圖1所示。學生和教師信息管理這兩個模塊是對學生信息和教師信息的管理,主要功能有添加信息,修改信息,刪除信息。“排課”工作涉及課程、教師、教室和時間的相關信息。排課時首先要確定被排課程的時間和地點,而教師如果不能確定下來,可以暫時不排教師。選課管理選課涉及到課程、教師、教室、時間和學生的相關信息。一般選課分為兩種類型,一種是必修課以及限選課程中的必選課,這類課程在選課時是以班級為單位進行選課的,另一種是選修課和限選中的任選課,這類課程是以學生為單位進行選課的。選課涉及到課程、教師、教室、時間和學生的相關信息。成績管理模塊主要功能是成績錄入以及查詢。等級考試管理模塊分計算機等級考試部分和英語等級考試部分的報名。計算機等級考試的報名信息包括考生有關信息和所報考試的有關信息。

二、用戶需求分析
教務系統分四類用戶,分別是:教務處,各個系辦公室、教師、學生,他們的權限各不相同,而且權限范圍依次遞減。
三、概念結構設計
將需求分析得到的用戶需求抽象為信息結構即概念模型的過程就是概念結構設計。概念結構設計是整個數據庫設計的關鍵,因為概念模型是各種數據模型的基礎,只有概念模型正確,才能更好的、更準確的用某一DBMS實現這些需求。
(一)確定相關實體的屬性。確定實體類別,有教師實體、學生實體、課程實體、教室實體、排課實體、選課實體、考試實體、報名實體、其它實體(如:院部、系部、專業)等。確定相關實體的屬性,如:“教師”實體包括的屬性有:教師號、教師名、性別、身份證號碼、職稱、聯系方式,其中“教師號”為主標識符。
(二)設計E-R圖。概念模型是對信息世界建模,所以概念模型應該能夠方便、準確地表示出上述信息世界中的常用概念。概念模型表示方法很多最常用的是實體-聯系方法,該方法用E-R圖來描述現實世界的概念模型,E-R方法也稱為E-R模型。本設計中利用PowerDesigner設計E-R圖。
(三)E-R圖的優化。根據前面的分析,選課有兩種類型,一種是按班級為單位進行選課,另一種是按學生為單位進行選課。按班級為單位進行選課可用于生成/查詢一個班級的課表,而按學號為單位進行選課可用于查詢某個學生的所有課程,所以兩者可以分別作為兩個聯系實體。另外,由于在有關成績的錄入和查詢操作中,幾乎只用到了“學生”和“課程”的相關屬性,所以在“學生”和“課程”實體間增加一個“成績”聯系,將“選課”中的所有與成績相關的屬性移去,將它們作為“成績”聯系的屬性。否則,每次都要通過“排課”實體查詢“課程”的屬性,表的連接查詢增加,查詢效率變低。但是注意“各模塊中的用戶信息需求”就會發現“成績”的有關查詢里涉及到學年和學期,但是成績里沒有這兩個屬性,每次查詢都要通過“課程”實體查詢“排課”實體中的這兩個屬性。同樣為了提高查詢效率,所以在“成績”實體中添加學年和學期這兩個屬性。
(四)邏輯結構設計。概念結構是獨立于任何一種數據模型的信息結構。邏輯結構設計的任務就是把概念結構設計階段設計好的基本E-R圖轉換為與選用DBMS產品所支持的數據模型相符合的邏輯結構。根據數據庫概念設計,以下是經過轉換之后的關系模式。其中,帶下劃線的屬性表示主碼,屬性用斜體字表示外碼,用雙下劃線表示唯一約束。利用PowerDesigner工具可以直接將概念數據模型(即E-R圖)轉化為物理設計模型。
(五)規范化分析。將E-R圖轉化為關系模式后,需要分析關系表的冗余,冗余會給表的使用帶來數據的不一致性。規范化是消除關系表冗余的過程,該過程可以方便對表的修改。許多范式的主要用途是消除冗余。范式是與允許的函數依賴有關的規則。設計范式是符合某一種級別的關系模式的集合。構造數據庫必須遵循一定的規則。關系數據庫中的關系必須滿足一定的要求,即滿足不同的范式。如果不滿足范式,往往會造成更新、插入、刪除等異常。目前關系數據庫的范式分為:第一范式(1NF),第二范式(2NF),第三范式(3NF),BC范式(BCNF),第四范式(4NF),第五范式(5NF),域主關鍵字范式(DKNF)。當需要分析數據庫表中存在的冗余時,函數依賴是非常重要的工具,函數依賴是與數據庫內容有關的約束。而函數依賴圖則能夠簡潔地表示特定關系表的函數依賴。
參考文獻:
[1](美)Michael V.Mannino.數據庫設計、應用開發與管理(第二版),北京:電子工業出版社,2005.
[2]王珊、薩師煊,數據庫系統概論(第四版),北京:高等教育出版社,2006.
[3]SQL Server 2000數據庫教程,北京:電子工業出版社,2005.
[4]Abraham Silberschatz,Henry F.Korth,S.Sudarshan著,楊冬青、馬秀莉、唐世渭等譯,數據庫系統概念(原書第5版),機械工業出版社,2006.
[5]杜佰林,網絡數據庫SQL Server 2000,清華大學出版社,2007.