中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于C語言中E-R圖的詳解

發布時間:2020-08-30 23:23:17 來源:腳本之家 閱讀:529 作者:Struggler09 欄目:編程語言

E-R  英文縮寫為(Entity Relationship Diagram)也稱實體-聯系圖。

提供了表示實體類型、屬性和聯系的方法,用來描述現實世界的概念模型。

下面就講詳解e-r圖,如下:

關于C語言中E-R圖的詳解

從上面的的圖可以看到一個完整的e-r圖有四個部分:

1.矩形框,矩形表示實體型,矩形框內寫明實體名;

2.橢圓框,橢圓表示實體的屬性,并用無向邊將其與相應的實體型連接起來;

3.菱形框,菱形表示實體型之間的聯系,在菱形框內寫明聯系名,

4.聯系線,實體與屬性之間;實體與聯系之間;聯系與屬性之間用直線相連,有單向和雙向線兩種,同時在線旁標上聯系的類型(1:1,1:n或m:n)。

構圖要素

構成E-R圖的3個基本要素是實體型、屬性和聯系,其表示方法為:

1.實體

一般認為,客觀上可以相互區分的事物就是實體,實體可以是具體的人和物,也可以是抽象的概念與聯系。關鍵在于一個實體能與另一個實體相區別,具有相同屬性的實體具有相同的特征和性質。用實體名及其屬性名集合來抽象和刻畫同類實體。在E-R圖中用矩形表示,矩形框內寫明實體名;比如學生張三、學生李四都是實體。如果是弱實體的話,在矩形外面再套實線矩形。

2.屬性

實體所具有的某一特性,一個實體可由若干個屬性來刻畫。屬性不能脫離實體,屬性是相對實體而言的。在E-R圖中用橢圓形表示,并用無向邊將其與相應的實體連接起來;比如學生的姓名、學號、性別、都是屬性。如果是多值屬性的話,在橢圓形外面再套實線橢圓。如果是派生屬性則用虛線橢圓表示。

3.聯系

聯系也稱關系,信息世界中反映實體內部或實體之間的關聯。實體內部的聯系通常是指組成實體的各屬性之間的聯系;實體之間的聯系通常是指不同實體集之間的聯系。在E-R圖中用菱形表示,菱形框內寫明聯系名,并用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯系的類型(1 : 1,1 :n或m : n)。比如老師給學生授課存在授課關系,學生選課存在選課關系。如果是弱實體的聯系則在菱形外面再套菱形。

設計步驟

一、調查分析

(1)選擇局部應用在需求分析階段,通過對應用環境和要求進行詳盡的調查分析,用多層數據流圖和數據字典描述了整個系統。

設計分E-R圖的第一步,就是要根據系統的具體情況,在多層的數據流圖中選擇一個適當層次的(經驗很重要)數據流圖,讓這組圖中每一部分對應一個局部應用,我們即可以以這一層次的數據流圖為出發點,設計分E-R圖。一般而言,中層的數據流圖能較好地反映系統中各局部應用的子系統組成,因此人們往往以中層數據流圖作為設計分E-R圖的依據。

(2)逐一設計分E-R圖每個局部應用都對應了一組數據流圖,局部應用涉及的數據都已經收集在數據字典中了。現就是要將這些數據從數據字典中抽取出來,參照數據流圖,<1>標定局部應用中的實體,<2>實體的屬性、標識實體的碼,<3>確定實體之間的聯系及其類型(1:1、1:n、m:n)。

下面是對<1>、<2>和<3>步驟的具體說明:

   <1> 標定局部應用中的實體現實世界中一組具有某些共同特性和行為的對象就可以抽象為一個實體。對象和實體之間是"is member of "的關系。例如在學校環境中,可以把張三、李四、王五等對象抽象為學生實體。對象類型的組成成分可以抽象為實體的屬性。組成成分與對象類型之間是"is part of "的關系。例如學號、姓名、專業、年級等可以抽象為學生實體的屬性。其中學號為標識學生實體的碼。

   <2> 實體的屬性、標識實體的碼實際上實體與屬性是相對而言的,很難有截然劃分的界限。同一事物,在一種應用環境中作為"屬性",在另一種應用環境中就必須作為"實體"。一般說來,在給定的應用環境中:a、屬性不能再具有需要描述的性質。即屬性必須是不可分的數據項。b、屬性不能與其他實體具有聯系。聯系只發生在實體之間。

   <3> 確定實體之間的聯系及其類型(1:1、1:n、 m:n)。根據需求分析,要考察實體之間是否存在聯系,有無多余聯系。

二、合并生成

各分E-R圖之間的沖突主要有三類:屬性沖突、命名沖突和結構沖突。

1.屬性沖突。

(1) 屬性域沖突,即屬性值的類型、取值范圍或取值集合不同。例如:屬性“零件號”有的定義為字符型,有的為數值型;

(2) 屬性取值單位沖突。例如:屬性“重量”有的以克為單位,有的以公斤為單位。

2.命名沖突。

(1) 同名異義。不同意義對象相同名稱;

(2) 異名同義(一義多名)。同意義對象不相同名稱。例如:“項目”和“課題”。

3.結構沖突。

(1) 同一對象在不同應用中具有不同的抽象。例如"課程"在某一局部應用中被當作實體,而在另一局部應用中則被當作屬性;

(2) 同一實體在不同局部視圖中所包含的屬性不完全相同,或者屬性的排列次序不完全相同;

(3) 實體之間的聯系在不同局部視圖中呈現不同的類型。例如實體E1與E2在局部應用A中是多對多聯系,而在局部應用B中是一對多聯系;又如在局部應用X中E1與E2發生聯系,而在局部應用Y中E1、E2、E3三者之間有聯系。解決方法是根據應用的語義對實體聯系的類型進行綜合或調整。

三、修改重構

生成基本E-R圖分E-R圖經過合并生成的是初步E-R圖。之所以稱其為初步E-R圖,是因為其中可能存在冗余的數據和冗余的實體間聯系,即存在可由基本數據導出的數據和可由其他聯系導出的聯系。冗余數據和冗余聯系容易破壞數據庫的完整性,給數據庫維護增加困難,因此得到初步E-R圖后,還應當進一步檢查E-R圖中是否存在冗余,如果存在,應設法予以消除。修改、重構初步E-R圖以消除冗余,主要采用分析方法。除此外,還可以用規范化理論來消除冗余。

舉例:

某研究所有多名科研人員,每一個科研人員只屬于一個研究所,研究所有多個科研項目,每個科研項目有多名科研人員參加,每個科研人員可以參加多個科研項目。科研人員參加項目要統計工作量。“研究所”有屬性:編號,名稱、地址,“科研人員”有屬性:職工號、姓名、性別、年齡,職稱。“科研項目”有屬性:項目號、項目名、經費。

①  試畫出ER圖,并注明屬性和聯系類型。

關于C語言中E-R圖的詳解

舉例2

某工廠生產若干產品,每種產品由不同的零件組成,有的零件用在不同的產品上。這些零件由不同的原材料制成。不同的零件所用的材料可以相同。這些零件按所屬的不同產品分別放在倉庫中,原材料按類型放在若干倉庫中。

產品屬性有:編號、名稱

零件屬性有:編號、名稱

材料屬性有:編號、名稱、材料類型

倉庫屬性有:編號、名稱、地點

①  請用E-R圖畫出工廠產品、零件、材料、倉庫的概念模型,并注明屬性和聯系類型。

關于C語言中E-R圖的詳解

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永平县| 绥化市| 正定县| 乌兰察布市| 金乡县| 德化县| 庄河市| 英超| 高平市| 普兰县| 商城县| 襄汾县| 昌吉市| 佛冈县| 新邵县| 长沙县| 香格里拉县| 南漳县| 高台县| 连城县| 黔江区| 儋州市| 牟定县| 广安市| 本溪市| 高尔夫| 黔东| 墨脱县| 吉水县| 茌平县| 井冈山市| 古丈县| 福泉市| 辰溪县| 萝北县| 台湾省| 千阳县| 夏邑县| 禄劝| 东莞市| 时尚|