將需求分析得到的用戶需求抽象為信息結構(即概念模型)的過程就是概念結構設計
(1)能真實、充分地反映現實世界,是現實世界的一個真實模型。
(2)易于理解,從而可以用它和不熟悉計算機的用戶交換意見。
(3)易于更改,當應用環境和應用要求改變時,容易對概念模型修改和擴充。
(4)易于向關系、網狀、層次等各種數據模型轉換
E-R模型
(1)兩個實體型之間的聯系:
①一對一聯系(1∶1)
②一對多聯系(1∶n)
③多對多聯系(m∶n)
①一對一聯系(1∶1)
如果對于實體集A中的每一個實體,實體集B中至多有一個(也可以沒有)實體與之聯系,反之亦然,則稱實體集A與實體集B具有一對一聯系,記為1∶1。
例如,學校里一個班級只有一個正班長,而一個班長只在一個班中任職,則班級與班長之間具有一對一聯系。
②一對多聯系(1∶n)
如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯系,則稱實體集A與實體集B有一對多聯系,記為1∶n。
例如,一個班級中有若干名學生,而每個學生只在一個班級中學習,則班級與學生之間具有一對多聯系。
③多對多聯系(m∶n)
如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯系,反之,對于實體集B中的每一個實體,實體集A中也有m個實體(m≥0)與之聯系,則稱實體集A與實體集B具有多對多聯系,記為m∶n。
例如,一門課程同時有若干個學生選修,而一個學生可以同時選修多門課程,則課程與學生之間具有多對多聯系。
(2)兩個以上的實體型之間的聯系
一般地,兩個以上的實體型之間也存在著一對一、一對多、多對多聯系。
對于課程、教師與參考書3個實體型,如果一門課程可以有若干個教師講授,使用若干本參考書,而每一個教師只講授一門課程,每一本參考書只供一門課程使用,則課程與教師、參考書之間的聯系是一對多的,如圖(a)所示。
(3)單個實體型內的聯系
同一個實體集內的各實體之間也可以存在一對一、一對多、多對多的聯系。
例如,職工實體型內部具有領導與被領導的聯系,即某一職工(干部)“領導”若干名職工,而一個職工僅被另外一個職工直接領導,因此這是一對多的聯系,如圖7.8所示。
聯系的度:參與聯系的實體型的數目
2個實體型之間的聯系度為2,也稱為二元聯系;
3個實體型之間的聯系度為3,稱為三元聯系;
N個實體型之間的聯系度為N,也稱為N元聯系
E-R圖提供了表示實體型、屬性和聯系的方法:
實體型:用矩形表示,矩形框內寫明實體名。
屬性:用橢圓形表示,并用無向邊將其與相應的實體型連接起來。
例如,學生實體具有學號、姓名、性別、出生年份、系、入學時間等屬性,用E-R圖表示如圖所示
聯系:用菱形表示,菱形框內寫明聯系名,并用無向邊分別與有關實體型連接起來,同時在無向邊旁標上聯系的類型(1∶1,1∶n或m∶n)。
聯系可以具有屬性
某個工廠物資管理的概念模型。物資管理涉及的實體有:
倉庫:屬性有倉庫號、面積、電話號碼
零件:屬性有零件號、名稱、規格、單價、描述
供應商:屬性有供應商號、姓名、地址、電話號碼、賬號
項目:屬性有項目號、預算、開工日期
職工:屬性有職工號、姓名、年齡、職稱
這些實體之間的聯系如下:
(1) 一個倉庫可以存放多種零件,一種零件可以存放在多個 倉庫中,因此倉庫和零件具有多對多的聯系。用庫存量來表示某種零件在某個倉庫中的數量。
(2) 一個倉庫有多個職工當倉庫保管員,一個職工只能在一個倉庫工作,因此倉庫和職工之間是一對多的聯系。
(3) 職工之間具有領導與被領導關系。即倉庫主任領導若干保管員,因此職工實體型中具有一對多的聯系。
(4) 供應商、項目和零件三者之間具有多對多的聯系。即一個供應商可以供給若干項目多種零件,每個項目可以使用不同供應商供應的零件,每種零件可由不同供應商供給。
為了簡化E-R圖的處置,現實世界的事物能作為屬性對待的,盡量作為屬性對待。
兩條準則:
(1)作為屬性,不能再具有需要描述的性質。屬性必須是不可分的數據項,不能包含其他屬性。
(2)屬性不能與其他實體具有聯系,即E-R圖中所表示的聯系是實體之間的聯系。
[例1] 職工是一個實體,職工號、姓名、年齡是職工的屬性。
職稱如果沒有與工資、福利掛鉤,根據準則(1)可以作為職工實體的屬性
如果不同的職稱有不同的工資、住房標準和不同的附加福利,則職稱作為一個實體更恰當
[例2] 在醫院中,一個病人只能住在一個病房,病房號可以作為病人實體的一個屬性;
如果病房還要與醫生實體發生聯系,即一個醫生負責幾個病房的病人的醫療工作,則根據準則(2) 病房應作為一個實體。
[例3] 如果一種貨物只存放在一個倉庫,那么就可以把存放貨物的倉庫的倉庫號作為描述貨物存放地點的屬性。
如果一種貨物可以存放在多個倉庫中,或者倉庫本身又用面積作為屬性,或者倉庫與職工發生管理上的聯系,那么就應把倉庫作為一個實體。
[例7.1] 銷售管理子系統E-R圖的設計。
該子系統的主要功能是:
處理顧客和銷售員送來的訂單
工廠是根據訂貨安排生產的
交出貨物同時開出發票
收到顧客付款后,根據發票存根和信貸情況進行應收款處理
參照需求分析和數據字典中的詳盡描述,遵循前面給出的兩個準則,進行了如下調整:
(1)每張訂單由訂單號、若干頭信息和訂單細節組成。訂單細節又有訂貨的零件號、數量等來描述。按照準則(2),訂單細節就不能作訂單的屬性處理而應該上升為實體。一張訂單可以訂若干產品,所以訂單與訂單細節兩個實體之間是1∶n的聯系。
(2)原訂單和產品的聯系實際上是訂單細節和產品的聯系。每條訂貨細節對應一個產品描述,訂單處理時從中獲得當前單價、產品重量等信息。
(3)工廠對大宗訂貨給予優惠。每種產品都規定了不同訂貨數量的折扣,應增加一個“折扣規則”實體存放這些信息,而不應把它們放在產品實體中。
最后得到銷售管理子系統E-R圖如圖所示。
對每個實體定義的屬性如下:
顧客:{顧客號,顧客名,地址,電話,信貸狀況,賬目余額}
訂單:{訂單號,顧客號,訂貨項數,訂貨日期,交貨日期,工種號,生產地點}
訂單細則:{訂單號,細則號,零件號,訂貨數,金額}
應收賬款:{顧客號,訂單號,發票號,應收金額,支付日期,支付金額,當前余額,貨款限額}
產品:{產品號,產品名,單價,重量}
折扣規則:{產品號,訂貨量,折扣}
E-R圖的集成一般需要分兩步
合并。解決各分E-R圖之間的沖突,將分E-R圖合并起來生成初步E-R圖。
修改和重構。消除不必要的冗余,生成基本E-R圖。
(1)合并E-R圖,生成初步E-R圖
各個局部應用所面向的問題不同,各個子系統的E-R圖之間必定會存在許多不一致的地方,稱之為沖突。
子系統E-R圖之間的沖突主要有三類:
①屬性沖突
②命名沖突
③結構沖突
①屬性沖突
屬性域沖突,即屬性值的類型、取值范圍或取值集合不同。
例如零件號,有的部門把它定義為整數,有的部門把它定義為字符型。
年齡,某些部門以出生日期形式表示職工的年齡,而另一些部門用整數表示職工的年齡。
屬性取值單位沖突。
例如,零件的重量有的以公斤為單位,有的以斤為單位,有的以克為單位。
②命名沖突
同名異義,即不同意義的對象在不同的局部應用中具有相同的名字。
異名同義(一義多名),即同一意義的對象在不同的局部應用中具有不同的名字。
如對科研項目,財務科稱為項目,科研處稱為課題,生產管理處稱為工程。
命名沖突
可能發生在實體、聯系一級上
也可能發生在屬性一級上
通過討論、協商等行政手段加以解決
③結構沖突
同一對象在不同應用中具有不同的抽象。
例如,職工在某一局部應用中被當作實體,而在另一局部應用中則被當作屬性。
解決方法:把屬性變換為實體或把實體變換為屬性,使同一對象具有相同的抽象。
同一實體在不同子系統的E-R圖中所包含的屬性個數和屬性排列次序不完全相同。
解決方法:使該實體的屬性取各子系統的E-R圖中屬性的并集,再適當調整屬性的次序。
實體間的聯系在不同的E-R圖中為不同的類型。
實體E1與E2在一個E-R圖中是多對多聯系,在另一個E-R圖中是一對多聯系
解決方法是根據應用的語義對實體聯系的類型進行綜合或調整。
圖中零件與產品之間存在多對多的聯系“構成”
圖中產品、零件與供應商三者之間還存在多對多的聯系“供應”
合并兩個E-R圖,如圖
(2)消除不必要的冗余,設計基本E-R圖
所謂冗余的數據是指可由基本數據導出的數據,冗余的聯系是指可由其他聯系導出的聯系。
消除冗余主要采用分析方法,即以數據字典和數據流圖為依據,根據數據字典中關于數據項之間邏輯關系的說明來消除冗余。
如圖7.26中,Q3=Q1×Q2,Q4=∑Q5。所以Q3和Q4是冗余數據,可以消去。并且由于Q3消去,產品與材料間m:n的冗余聯系也應消去。
并不是所有的冗余數據與冗余聯系都必須加以消除,有時為了提高效率,不得不以冗余信息作為代價。
用規范化理論來消除冗余
①確定分E-R圖實體之間的數據依賴。
實體之間一對一、一對多、多對多的聯系可以用實體碼之間的函數依賴來表示。于是有函數依賴集FL。
如圖7.27中:
部門和職工之間一對多的聯系可表示為職工號→部門號 職工和產品之間多對多的聯系可表示為(職工號,產品號)→工作天數等。
②求FL的最小覆蓋GL,差集為 D=FL-GL。
逐一考察D中的函數依賴,確定是否是冗余的聯系,若是,就把它去掉。
由于規范化理論受到泛關系假設的限制,應注意下面兩個問題:
冗余的聯系一定在D中,而D中的聯系不一定是冗余的;
當實體之間存在多種聯系時,要將實體之間的聯系在形式上加以區分。
[例7.2] 某工廠管理信息系統的視圖集成。
異名同義,項目和產品含義相同。某個項目實質上是指某個產品的生產。統一用產品作實體名。
庫存管理中職工與倉庫的工作關系已包含在勞動人事管理的部門與職工之間的聯系之中,所以可以取消。職工之間領導與被領導關系可由部門與職工(經理)之間的領導關系、部門與職工之間的從屬關系兩者導出,所以也可以取消。
歡迎大家加我微信交流討論(請備注csdn上添加)
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...
在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...
在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...
淘寶上傳圖片怎么是黑色?淘寶上傳的主圖顏色變成灰黑是因為像素沒調好,設置沒做好。淘寶怎么調成夜間模式?淘寶切換到夜間模式的方法如下1.單擊設置菜單中的[顯示]。2.單擊[黑暗模式]。3.單擊[更多黑暗模式設置]。4.打開淘寶右邊的開關。淘寶夜間模式怎么設置?淘寶夜間模式設置方法如下:1.在設置菜單中輸入[顯示]。2.單擊[黑暗模式]。3.單擊[更多黑暗模式設置]。4.打開淘寶右邊的開關就可以了。怎...
noreply是什么郵件?Noreply是系統保留帳戶。它通常用于發送回信、自動回復和自動轉發等郵件。如果郵箱無法發送電子郵件,dbmail將使用noreply帳戶向郵箱發送回信?;匦胖幸话銜l送失敗的原因,以便管理員分析。這是正?,F象。...
太原有到廣州的高鐵嗎?目前還沒有直達服務??梢酝ㄟ^中轉坐高鐵。從太原到廣州有四條最佳中轉路線。1.D1650太原到石家莊,G305石家莊到廣州南二、K610太原至石家莊(石家莊北),G79石家莊(石家莊北)至廣州南D3353太原至鄭州,Z35鄭州至廣州南D2781太原至鄭州,Z201鄭州至廣州南太原有到廣州的高鐵嗎?太原到廣州有高鐵,太原需要從南站坐車到廣州。太原南站坐J684次高鐵,太原到廣州北...