国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

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

2020-05-23 13:24:48
字體:
來源:轉載
供稿:網友

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

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

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

C語言,E-R圖

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

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

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

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

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

構圖要素

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

1.實體

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

2.屬性

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

3.聯(lián)系

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

設計步驟

一、調查分析

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

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

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

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

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

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

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

二、合并生成

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

1.屬性沖突。

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

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

2.命名沖突。

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

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

3.結構沖突。

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

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

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

三、修改重構

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

舉例:

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

①  試畫出ER圖,并注明屬性和聯(lián)系類型。

C語言,E-R圖

舉例2

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

產品屬性有:編號、名稱

零件屬性有:編號、名稱

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

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

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

C語言,E-R圖

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VEVB武林網的支持。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 保靖县| 梅河口市| 高要市| 白玉县| 长宁县| 宝清县| 美姑县| 正宁县| 泉州市| 宜良县| 武功县| 北京市| 台江县| 连城县| 芦溪县| 竹北市| 新野县| 原阳县| 永嘉县| 改则县| 通化县| 库尔勒市| 南澳县| 浪卡子县| 阳西县| 海安县| 株洲市| 鄂伦春自治旗| 汉川市| 阳东县| 横峰县| 宝清县| 秦安县| 营山县| 阜阳市| 三江| 临颍县| 旺苍县| 景德镇市| 临邑县| 东乡县|