

摘要:數據庫設計的基礎是概念設計,如何對數據庫進行合理的設計,掌握概念設計的方法和步驟是關鍵。本文通過實例對數據庫設計中的概念設計部分進行闡述,以解析相關的數據庫基礎概念和概念設計的基本流程以及應注意的問題。
關鍵詞:數據庫;數據庫原理;概念設計
一、引言
《數據庫原理與應用》課程是我校計算機專業的一門專業課程。這門課程的主要教學目標是通過對具體的數據庫管理工具SQLServer2008操作流程的分析和講解,讓學生在運用工具實現數據庫創建和維護的過程中,逐步了解和掌握數據庫的一些基礎概念以及數據庫設計的基本流程和方法。課程教學過程中的難點是讓學生了解并認識如何才能合理地設計數據庫,其中,概念設計是設計數據庫的基礎。也是關鍵,掌握好概念設計的方法和步驟,對學生進行課程后續內容的學習十分重要。筆者根據多年教學的經驗,通過具體的實例,從概念設計的定義、目的以及過程對其進行分析。
二、概念設計的內涵及方法
對現實世界中事物的抽象為概念設計,在概念設計階段,我們不關心具體使用的數據庫管理工具,即DBMS。在設計數據庫過程中,概念設計的最主要目的是將從需求分析階段獲得的數據,抽象出相關實體及其之間的聯系,并利用實體關系圖(E-R圖)對各個實體以及相關實體間的關系進行描述。
概念設計的主要方法有:自頂向下、自底向上、自內向外和混合策略四種。其中比較常用的是自底向上的方法。概念設計的步驟通常為以下兩步:①根據需求分析,將系統拆分為若干獨立子系統,分別為每一個子系統進行概念設計,并描繪出相應的E-R圖(即實體聯系圖);②集成子系統相關的E-R圖,得到系統總的概念設計。本文將通過實例對設計過程進行闡述。
三、概念設計的具體實例
比如,設計一個學生信息管理系統。由于教學時間有限,對系統的設計只考慮學生、教師和課程信息的檢索,因此,這里只將系統劃分為兩個子系統:學籍信息管理系統和課程信息管理系統。其中學籍信息管理系統需求實現的功能是學生基本信息的存儲與檢索;學生選課信息和課程的信息的存儲與檢索是課程信息管理系統最主要實現的功能。
在步驟一E-R圖設計過程中,必須要明確兩個基本的概念:實體,實體間的聯系。實體即是客觀存在并可互相區分的事物。它可以是人,可以是物,也可以指某些概念;實體間的聯系指現實世界的事物間的聯系,這種聯系一般分為兩類:一是實體內部各個部分的聯系;二是實體之間的聯系。在關系型數據庫中,我們主要關心的是實體間的聯系。這種聯系主要有三種情況:1:1(一對一)、1:n(一對多)、n:n(多隊多)關系。對用戶需求進行分析時,根據需求中得到的數據流程圖尋找出相應實體及其屬性是ER模型設計的根本,其次就是要明確各個實體間的關系,繼而描繪出E-R模型。
根據上述例子的需求可知,學生、班級、班主任、宿舍、教室為學籍系統的實體;學生、教師、課程、教室為課程管理系統的實體。這些實體的聯系如下:①一個學生只能屬于一個班,一個班級有多個學生。②一個班主任只帶一個班,一個班只有一個班主任。③一個班級可在多個教室上課,一個教室有多個班級來上課。④一個學生學習多門課程,一門課程有多個學生學習。⑤一門課有多個教師講授,一個教師可教多門課。⑥一個學生有多個教師授課,一個教師可以給多個學生授課。⑦一個教室可以進行多門課授課,一門課可在多個教室開展。
針對以上分析,分別設計出學籍管理子系統和課程管理子系統的E-R圖(如圖1、圖2所示),由于篇幅問題,在圖中省卻了各個實體的屬性的描繪。
各部分的E-R圖設計好以后,接下來就是將所有的子系統E-R圖進行集成,形成系統的總E-R圖。由于在進行子系統E-R圖設計時,對同一實體考慮的著重點可能會不同,因此這個階段主要任務是解決各個分E-R圖設計中的沖突問題,然后消除不必要的冗余,對E-R圖進行修改和重構。常見的沖突主要有:命名沖突、屬性沖突、概念沖突。命名沖突主要有同義異名和同名異義兩種情況,如上例中在學籍系統中的班主任實體的編號屬性和課程管理系統中的教師實體的教師編號屬性,屬于同義異名的情況,在E-R圖集成過程中,可以將他們進行統一。屬性沖突主要是指屬性的取值范圍或取值單位在不同的子系統中的定義不相同。概念沖突是指同一個概念在一處為實體,而在另一處則為聯系。這兩種沖突在上述例子中沒有出現。
當解決所有沖突問題以后,接下來就是要把各個子系統中重復的數據或相同的屬性進行合并,消除數據的冗余。譬如上例中的兩個子系統中都對學生、教師和教室實體進行了定義,在總的E-R圖描述中,可以將他們統一進行定義。還有就是在學籍管理子系統中的教室實體和班級實體的聯系屬于冗余,可以消除。因為在系統中課程是在相關的教室中開設,它們之間有著“開設”的聯系,而學生可以選修課程,它們之間有著“選修”的聯系,班級由若干學生組成,它們有著“組成”的聯系,由此,我們可以間接地推導出教室與班級之間的聯系。
經過以上步驟,學生信息管理系統最后綜合得到E-R圖(如圖3所示)。
圖3學生信息管理系統
(作者單位:廣東省輕工職業技術學校)
參考文獻:
[1]張露,馬麗.數據庫設計[J].安陽工學院學報,2007(4).
[2]段遠志.數據庫設計[J].南昌教育學院學報, 2005(4).
[3]李長海,郭穎,董廣輝.淺析數據庫設計[J].數字技術與應用, 2010(8).
[4]董軍.學生成績管理系統數據庫設計[J].合作經濟與科技,2013(11).
責任編輯陳春陽