最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2018年12月14日 10:17:38   作者:Struggler09  
今天小編就為大家分享一篇關于關于C語言中E-R圖的詳解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

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

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

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

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

1.矩形框,矩形表示實體型,矩形框內(nèi)寫明實體名;

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

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

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

構(gòu)圖要素

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

1.實體

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

2.屬性

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

3.聯(lián)系

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

設計步驟

一、調(diào)查分析

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

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

(2)逐一設計分E-R圖每個局部應用都對應了一組數(shù)據(jù)流圖,局部應用涉及的數(shù)據(jù)都已經(jīng)收集在數(shù)據(jù)字典中了?,F(xiàn)就是要將這些數(shù)據(jù)從數(shù)據(jù)字典中抽取出來,參照數(shù)據(jù)流圖,<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、屬性不能再具有需要描述的性質(zhì)。即屬性必須是不可分的數(shù)據(jù)項。b、屬性不能與其他實體具有聯(lián)系。聯(lián)系只發(fā)生在實體之間。

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

二、合并生成

各分E-R圖之間的沖突主要有三類:屬性沖突、命名沖突和結(jié)構(gòu)沖突。

1.屬性沖突。

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

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

2.命名沖突。

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

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

3.結(jié)構(gòu)沖突。

(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)系。解決方法是根據(jù)應用的語義對實體聯(lián)系的類型進行綜合或調(diào)整。

三、修改重構(gòu)

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

舉例:

某研究所有多名科研人員,每一個科研人員只屬于一個研究所,研究所有多個科研項目,每個科研項目有多名科研人員參加,每個科研人員可以參加多個科研項目??蒲腥藛T參加項目要統(tǒng)計工作量?!把芯克庇袑傩裕壕幪?,名稱、地址,“科研人員”有屬性:職工號、姓名、性別、年齡,職稱。“科研項目”有屬性:項目號、項目名、經(jīng)費。

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

舉例2

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

產(chǎn)品屬性有:編號、名稱

零件屬性有:編號、名稱

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

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

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

總結(jié)

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

相關文章

  • C++指向函數(shù)的指針實例解析

    C++指向函數(shù)的指針實例解析

    這篇文章主要介紹了C++指向函數(shù)的指針,需要的朋友可以參考下
    2014-07-07
  • C語言實現(xiàn)txt數(shù)據(jù)讀入內(nèi)存/CPU緩存實例詳解

    C語言實現(xiàn)txt數(shù)據(jù)讀入內(nèi)存/CPU緩存實例詳解

    這篇文章主要介紹了C語言實現(xiàn)txt數(shù)據(jù)讀入內(nèi)存/CPU緩存實例詳解的相關資料,這里對實現(xiàn)該函數(shù)進行了代碼實現(xiàn),需要的朋友可以參考下
    2017-01-01
  • C語言多組輸入使用方法

    C語言多組輸入使用方法

    這篇文章主要給大家介紹了關于C語言多組輸入使用的相關資料,在 C語言中可以使用循環(huán)語句來實現(xiàn)多組輸入,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-07-07
  • C++設計模式之享元模式

    C++設計模式之享元模式

    這篇文章主要介紹了C++設計模式之享元模式,本文講解了什么是享元模式、享元模式代碼實例、享元模式的優(yōu)點等內(nèi)容,需要的朋友可以參考下
    2014-10-10
  • 關于C語言中數(shù)據(jù)在內(nèi)存中的存儲詳解

    關于C語言中數(shù)據(jù)在內(nèi)存中的存儲詳解

    這篇文章主要給大家介紹了關于C語言中數(shù)據(jù)在內(nèi)存中的存儲的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • C語言冒泡排序算實現(xiàn)代碼

    C語言冒泡排序算實現(xiàn)代碼

    本文主要介紹C語言冒泡排序算法,這里給大家舉例說明冒泡排序的思想,并附有代碼示例,有需要的小伙伴可以參考下
    2016-07-07
  • C語言實現(xiàn)24點問題詳解

    C語言實現(xiàn)24點問題詳解

    24點問題就是在屏幕上輸入1?10范圍內(nèi)的4個整數(shù)(可以有重復),對它們進行加、減、乘、除四則運算后(可以任意的加括號限定計算的優(yōu)先級),尋找計算結(jié)果等于24的表達式。本文將通過C語言實現(xiàn)24點問題的求解,需要的可以參考一下
    2021-12-12
  • C語言實現(xiàn)信號槽的項目實踐

    C語言實現(xiàn)信號槽的項目實踐

    信號槽是觀察者模式的一種實現(xiàn),一個信號就是一個能夠被觀察的事件,本文主要介紹了C語言實現(xiàn)信號槽的項目實踐模具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • 在Visual Studio Code中使用CSSComb格式化CSS文件的教程

    在Visual Studio Code中使用CSSComb格式化CSS文件的教程

    這篇文章主要介紹了在Visual Studio Code中使用CSSComb格式化CSS文件,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • DSP中浮點轉(zhuǎn)定點運算--浮點與定點概述

    DSP中浮點轉(zhuǎn)定點運算--浮點與定點概述

    本文主要介紹DSP中浮點與定點概述,很值得學習一下,需要的朋友可以參考一下。
    2016-06-06

最新評論

汝州市| 阳原县| 昭平县| 宣威市| 礼泉县| 普安县| 淮安市| 科尔| 双峰县| 榆树市| 抚顺市| 屯昌县| 南开区| 澎湖县| 山西省| 胶州市| 东阳市| 金门县| 奈曼旗| 凌海市| 汕头市| 肇庆市| 吴川市| 绿春县| 湄潭县| 壤塘县| 新田县| 平阴县| 五大连池市| 汤阴县| 突泉县| 宜阳县| 双柏县| 佳木斯市| 枞阳县| 盐山县| 定结县| 荃湾区| 阳春市| 黄骅市| 松原市|