最新7種數(shù)據(jù)建模的方法_第1頁
最新7種數(shù)據(jù)建模的方法_第2頁
最新7種數(shù)據(jù)建模的方法_第3頁
最新7種數(shù)據(jù)建模的方法_第4頁
最新7種數(shù)據(jù)建模的方法_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、實(shí)體關(guān)系模ER模型QuantrtyNameNumberNumberOrdw-LinePurchase Orde<Party-OrderPeraonOrganisationProductServiceta血屣口on矽QxleMissionEventClasslficadcxiEvect CategoryEEREnhanced Entity-Relationship ModelParty 的Purchase OrderProduct Code了陳氏表示法 下面是一個(gè)I,關(guān)聯(lián)關(guān)系本身就可以作為這個(gè)中間實(shí)體。另外 可以在多個(gè)實(shí)體間使用一個(gè)關(guān)聯(lián)關(guān)系Unique Identifier 唯一標(biāo)識(shí)陳氏表

2、示法沒有很好的解決唯一標(biāo)識(shí)問題,僅使用一種簡單的標(biāo)記方法,下圖表示1. Entity Relationship Model - ER 模型ERD - ER diagram - Entity Relationship diagramER模型的關(guān)聯(lián)關(guān)系不限于 2個(gè)實(shí)體之Relationship關(guān)聯(lián)關(guān)系:使用菱形表示,菱形中寫上關(guān)聯(lián)關(guān)系的名字ER模型中關(guān)聯(lián)關(guān)系也可以擁有屬性,在多對多關(guān)聯(lián)關(guān)系中不需要使用額外中間關(guān)聯(lián)實(shí)體來1976年P(guān)eter Chen首次提出了 Entity Relationship Modeling(實(shí)體關(guān)系建模)概念,并發(fā)明Peter Chen's Notation ,因

3、此ER模型也可以叫做 Chen's Model (陳氏模型)ER 模型-Peter Chen's NotationER 模型-Peter Chen's Model,實(shí)際上這展ER模型Entity實(shí)體:使用方框表示Attribute屬性:使用圓或橢圓表示。實(shí)體和實(shí)體關(guān)系都可以擁有屬性,例如圖中的Order-Line關(guān)系擁有3個(gè)屬性ID作為Purchase Order唯一標(biāo)識(shí)一員的情況,關(guān)聯(lián)關(guān)系名稱改為 E,朝依賴實(shí)體方使用一個(gè)箭頭,依賴實(shí)體使用一個(gè)額外的方框括起來ER 模型中唯一標(biāo)識(shí)的表示方法圖:ER 模型中唯一標(biāo)識(shí)的表示方法Sub-type 子類型最初的陳氏表示法中不包

4、含子類型概念,后來Robert Brown 和 Mat Flavin 添加了子類型表示法,這種ER模型稱為擴(kuò)展 ER模型。上圖ER模型中有一個(gè)子類型例子,超類Party派生出子類 Organization 和 PersonConstraints between relationships 關(guān)聯(lián)關(guān)系的約束最初的陳氏表示法中關(guān)聯(lián)關(guān)系的每一端只使用一個(gè)數(shù)字表示,比如一對多的關(guān)聯(lián)關(guān)系,在一端使用 1 ,另一端實(shí)體上使用n 表示,這對關(guān)聯(lián)關(guān)系約束不充分。上圖的ER 模型在關(guān)聯(lián)關(guān)系每一端使用2 個(gè)數(shù)字表示,這與Crow's Foot 表示法以及UML 中的 optionality (可選項(xiàng))、ca

5、rdinality (關(guān)聯(lián)基數(shù))有些類似又有較大的區(qū)別,詳細(xì)說明如下:上圖中一個(gè)Purchase Order 必須關(guān)聯(lián)一個(gè)Party, 必須關(guān)聯(lián)一個(gè)或多個(gè)Order Line , 每個(gè) OrderLine 要么是一個(gè)Product 要么是一個(gè)ServicePurchase Order 右邊的 (1,)1 表示一個(gè)Purchase Order 有且必須有一個(gè)PartyParty左邊的(0,)n表示一個(gè) Party可以擁有多個(gè) Purchase Order,也可以沒有Purchase Order左邊的(1,)n 表示 Purchase Order必須有一個(gè)或多個(gè)Order LineOrder Li

6、ne 右邊的 (1,)1 表示每個(gè)Order Lien 必須屬于一個(gè)Purchase OrderOrder Line下面的(1,)1和菱形符號一起表示每個(gè)Order Line要么是一個(gè) Product要么是一個(gè) ServiceProduct 和 Service 上面的 (0,)n 表示 Product 和 Service 可以屬于0 個(gè)或多個(gè)Order LineEvent 和 Event Category 的關(guān)聯(lián)關(guān)系稍特殊(實(shí)際中這種n:1 的關(guān)系不多見),他不是一個(gè)普通的多對一關(guān)系。Event 可以關(guān)聯(lián)一個(gè)Event Category 也可以不關(guān)聯(lián),而 Event Category則必須關(guān)聯(lián)

7、一個(gè)或多個(gè)EventOrder-Line 和Product、 Service 之間是一個(gè)exclusive or 約束(異或、互斥約束,disjunctivemandatory 約束)關(guān)系,使用超類和子類一樣的表示法來表示。因?yàn)?exclusive or 的語義本身已經(jīng)已經(jīng)表明Order Line 必須是 Product 或者 Service 其中之一,因此上圖中Order Line 右邊和下面的(1,)1 是多余的EER - Enhanced Entity-Relationship Model 擴(kuò)展 ER模型上面已經(jīng)有些內(nèi)容不屬于最初的陳氏表示法,是后來其他人擴(kuò)展的。陳氏表示法出現(xiàn)的早也存在

8、一些不足,因此存在一些擴(kuò)展以彌補(bǔ)缺陷,不同文檔中使用的ER 圖也不盡相同,例如下圖是 wiki 上的一個(gè)示例ER 模型RggloriNyMCreept Ch,出刖。jPrEapAaDonL 口州各次E呼出的胡吧*>PUjWSlflRegioHAccountCharlier,H】,1】建lntantijtronModM(_1'jl里CliHUh匚TT印 Inhincirion圖:Wiki上的ER模型示仞圖: Wiki上的ER模型示例屬性帶下劃線表示主鍵屬性;關(guān)聯(lián)關(guān)系連接線為兩條線的表示“最少一個(gè),或多個(gè)"(用于n的一端);實(shí)體和關(guān)聯(lián)關(guān)系使用兩個(gè)框的,可能是上面講到的唯一標(biāo)

9、識(shí)表示法,也可能是"最少一個(gè),或多個(gè)"表示法的一部分(這一點(diǎn)有待確認(rèn))。還有一些,例如屬性與實(shí)體間用兩 條線連接的表示該屬性為多值屬性(上圖中Region實(shí)體的Foliage屬性)。圖中的部分解釋如下:1 Account has n(at least one) Character, Account 的 AcctName 屬性將成為 Has 的唯一標(biāo)識(shí)的 一員;1 Region contains n(at least one) Character, Region 的 RegionName 屬性將成為 Character 的 唯一標(biāo)識(shí)的一員;2. Information Eng

10、ineering - IE 模型Information Engineering 采用Crow's Foot表示法(也有叫做 James Martin表示法的),中文翻譯中對使用了 Crow's Foot表示法的模型也有籠統(tǒng)的稱做鴨掌模型的(關(guān)聯(lián)關(guān)系的關(guān)聯(lián)基數(shù)中采用到了一個(gè)鴨掌形的三叉線來表示)。他由Clive Finkelstein發(fā)明,與James Martin一起推廣,后來兩人各自做了些修正形成兩份版本前面示例模型的 Information Engineering表示如下:Order Une卜十 P urchase 0 rder 防。值mis vendor torPerso

11、n OrganizationIsonIs forp MudServiceEvert升=6 Event Category圖:InformationEngineering - IE模型Crow's Foot Model -鴨掌模型圖:InformationEngineering - IE 模型注意IE模型與ER模型的區(qū)別。Purchase Order與Party是多對一 n:1的關(guān)聯(lián)關(guān)系,在 ER模型中n被放置在了 Party的左邊,而IE模型中n被放置在了 Purchase Order的右邊。 兩種表示法的形式(相當(dāng)于語法)不一樣,但語義是一致的。這一點(diǎn)也只有ER模型是特殊的,其他模型表

12、示法中都與 IE模型一致Entity & Attribute :實(shí)體屬性并不出現(xiàn)在IE模型中,而是單獨(dú)使用另外的文檔記錄Relationshipzero or 11 and only 1 促2ctiy1 cr morecardinality 表示法圖:Crow's Foot 的可選Crow's Foot的可選項(xiàng)optionality和關(guān)聯(lián)基數(shù) cardinality 表示法:1zero or more圖:Crow's Foot的可選項(xiàng)optionality和關(guān)聯(lián)基數(shù) 項(xiàng)optionality和關(guān)聯(lián)基數(shù)cardinality表示法Optionality可選項(xiàng):用來

13、表示該關(guān)聯(lián)關(guān)系是可選的,還是必須的。對于可選的關(guān)聯(lián)關(guān)系,通常表現(xiàn)為用于關(guān)聯(lián)的外鍵字段允許為null值,或者對于使用中間關(guān)聯(lián)關(guān)系表的情況下可以不出現(xiàn)關(guān)聯(lián)數(shù)據(jù),而必須的關(guān)聯(lián)關(guān)系則不允許外鍵為null或者必須存在關(guān)聯(lián)數(shù)據(jù)Cardinality關(guān)聯(lián)基數(shù):用來表示關(guān)聯(lián)實(shí)體的數(shù)量上限,為 1、n等圖中右邊部分表示的意義如下:1個(gè)A必須關(guān)聯(lián)到1個(gè)或多個(gè)B, 一個(gè)B可以關(guān)聯(lián)0個(gè)或1個(gè)A關(guān)聯(lián)的約束如圖所示,Product和Service通過一個(gè)圓連接到 Order Line。如果是實(shí)心圓則表示 Product 和 Service 是 exclusive or; 如果是空心圓則表示Product 和 Servic

14、e 是 inclusive or(相容的,conjunctive ),表示可以是其中之一或者多個(gè)在上面IE模型圖中,Order Line右側(cè)是Finkelstein的一個(gè)特殊符號,表示一個(gè)Purchase Order 初始時(shí)有?;騨個(gè)Order Line ,但最終必須有 1或n個(gè)Order LineMartin以動(dòng)詞命名關(guān)聯(lián)關(guān)系,只命名一個(gè)方向(遵循從左到右、從上往下的方式),而Finkelstein不對關(guān)聯(lián)關(guān)系命名Sub-type:圖中Party子類的表示方法由 Martin采用,F(xiàn)inkelstein則對每個(gè)子類使用單獨(dú)的 實(shí)體,使用ISA關(guān)聯(lián)關(guān)系(關(guān)聯(lián)關(guān)系名稱為 ISA,也有采用類似 U

15、ML繼承的三角形符合, 在關(guān)聯(lián)線上使用一個(gè)三角形的)表示其為子類3. Richardarker's Notation這個(gè)表示法最早是英國咨詢公司 CACI發(fā)明,經(jīng)過了 Richard Barker的推廣,后來 Richard Barker去了 Oracle,開發(fā)了相關(guān)的建模工具,因此也叫做Oracle表示法(Oracle's Notation )示例模型的Barker表示法如下:Pwsonresponsibilfty# IZ-numbe< .quantity Q , acuiabpficepart of/P<jfdia&6Order# PO-number(o

16、rder Yai)/IIQ>.carporatfi-misEionParty# 網(wǎng) y-id ,name/EventA Jrr# pn)du(d-co(1e.descriptionI . unMrlca /W sefvtce-idT description. ratfrpsnhDiu/#codeEwernCategoryX#code.descriptiony。-O-compos IdflfrRichard Barker's Model 圖:Richard Barker 模型Entity & Attribute :實(shí)體試用圓角的方框表示,屬性出現(xiàn)在實(shí)體框中。可選屬性(允許

17、null) 前面帶一個(gè)空心圓,必須的屬性(不允許null)前面帶一個(gè)實(shí)心圓,唯一標(biāo)識(shí)屬性前面帶一個(gè)#符號(因?yàn)橹茍D工具原因,有時(shí)可選屬性前面不使用任何符號,必須屬性前使用一個(gè)點(diǎn))Relationship :Barker表示法中可選項(xiàng)通過半邊連接線的虛實(shí)線表示,表示法如下圖所示。上面的模型中Purchase Order必須關(guān)聯(lián)到一個(gè) Party,所以關(guān)聯(lián)線在 Party一側(cè)的那一半是實(shí)線表示;而Party可以關(guān)聯(lián)到0或多個(gè)Purchase Order,所以關(guān)聯(lián)線在 Purchase Order 一側(cè)的那一半是虛線表 示zero or 11 and only 1 出x修兩) zero or mor

18、e1 or mwfi圖:Richard Barker's Notation 圖:Richard Barker's Notation關(guān)聯(lián)基數(shù)為n時(shí)采用一個(gè)三叉線,線條末端沒有符號時(shí)表示關(guān)聯(lián)基數(shù)為1另外Barker表示法中有一個(gè)表示aggregation、composition的特殊符號,例如示例模型中的Purchase Order和Order Line的關(guān)系,在 Order Line右側(cè)的三叉線邊上添加一個(gè)豎線,注意 與Crow's Foot表示法之間的區(qū)別Sub-type: Barker表示法中子類型顯示在父類型的實(shí)體框中Constraint: Barker表示法僅支持

19、 exclusive or約束,如示例模型中所示,用一條弧線劃過 2個(gè)關(guān)聯(lián)關(guān)系4. IDEF1X 模型IDEF1X等效模型如下:IDEF1X是美國聯(lián)邦政府廣泛使用的一種模型,前面示例模型的ProductOrder LrneO-numbai (FK) liinumberitem-rumtiBf (FK) qj»ntrtyPO-n umberCatalogue HemServiceproduct-code heHTi-number (FK JXarvicaudrtern-numberFK)raie-p4?r-hourPlj rchase OrderfHrty-k! (FK) order-

20、dateIs toPersonPartyresponsibilityEventparty-ir!nameperson-<xganizat>orhtypeevent-codecate9orv-code (FK)產(chǎn)descriptionP'pefsonMjrganizal ion<y peOrganize :ioncorporate-missionEvent CategoryKegcyyE 口加圖:IDEF1X 模型圖:IDEF1X 模型Entity & Attribute :實(shí)體使用方框和圓角框表示,獨(dú)立實(shí)體( Independent entities ,主鍵不

21、包 含其他實(shí)體主鍵值)使用方框,非獨(dú)立實(shí)體( dependent entities,主鍵包含其他實(shí)體主鍵值) 使用圓角框。屬性出現(xiàn)在實(shí)體框中,主鍵用線隔開Relationship :外鍵不是使用關(guān)聯(lián)線表示,必須在實(shí)體屬性中明確的標(biāo)注外鍵屬性如果關(guān)聯(lián)關(guān)系一方的唯一標(biāo)識(shí)將作為另一方唯一標(biāo)識(shí)的一部分(即 identifying relationship ),關(guān)聯(lián)線使用實(shí)線,否則(即 non-identifying relationship )使用虛線不同于IE模型,IDEF1X中可選項(xiàng)和關(guān)聯(lián)基數(shù)是分開表示的,關(guān)聯(lián)線的一端表示關(guān)聯(lián)基數(shù), 另一端表示可選項(xiàng)zero. one or morep one m

22、r moreI from n to mJ n-mzero or onereference ro note () where Z4 (口) cardmahn- is speciHed圖:IDEF1X Cardinality 關(guān)聯(lián)基數(shù)圖示圖:IDEF1X Cardinality 關(guān)聯(lián)基數(shù)圖示如IDEF1X示例模型中,關(guān)聯(lián)基數(shù)的圖示都是出現(xiàn)在關(guān)聯(lián)關(guān)系的左端或者上面,可選項(xiàng)出現(xiàn)在右端或者下面。對于可選的關(guān)聯(lián)關(guān)系(即類似外鍵允許為null值的情況),在可選項(xiàng)一端使用一個(gè)菱形,例如示例模型中Event Category左邊的菱形;對于必須的關(guān)聯(lián)關(guān)系(即外鍵必須為有效的實(shí)體標(biāo)識(shí)值的情況),則在可選項(xiàng)一端直接

23、將關(guān)聯(lián)線與實(shí)體連接。對于多對多 的情況,兩端均使用關(guān)聯(lián)基數(shù)符號,可選項(xiàng)問題在模型中通過其他文檔標(biāo)注關(guān)聯(lián)關(guān)系的名稱有幾種表示方法。默認(rèn)情況下遵循從左至右從上至下的順序,關(guān)聯(lián)關(guān)系從左至右的名稱放在關(guān)聯(lián)線上方,從右至左的名稱放在關(guān)聯(lián)線下方。也可以使用一個(gè)反斜杠將兩個(gè)方向的名稱分開,從左至右從上至下的在反斜杠前面,否則在后面Sub-type & ConstraintIDEF1X中的子類和關(guān)聯(lián)約束分別如示例模型中所示。另外一點(diǎn),示例模型中的子類和關(guān)聯(lián) 約束圖例中,小圓圈下面都是使用2條橫線,這表示模型中已經(jīng)列舉了所有的子類和約束情況,如果模型只是部分列舉子類和約束情況,則使用 1條橫線Domai

24、n : IDEF1X中定義了 domain , domain即數(shù)據(jù)類型的定義,比如數(shù)據(jù)類型、取值范圍 等各種需要運(yùn)用到屬性值上的約束詳盡的 IDEF1X 規(guī)范參考 IDEF1X 標(biāo)準(zhǔn):Integration Definition fo門nformation ModelingEXPRESS-G表示法EXPRESS-G是一個(gè)ISO標(biāo)準(zhǔn)ISO 10303-11。示例模型的 EXPRESS-G表示法如下(省略了圖:EXPRESS-G表示法圖:EXPRESS-G表示法Entity & Attribute :實(shí)體使用方框表示,實(shí)體名稱出現(xiàn)在方框中屬性通過空心圓結(jié)束的線條連接到屬性值類型,屬性名稱出

25、現(xiàn)在線條上。可選屬性使用虛線條連接,必須屬性使用實(shí)現(xiàn)連接屬性值類型使用右邊多一條豎線的方框表示,ISO規(guī)范中確定的簡單數(shù)據(jù)類型(String, Binary,Logical, Boolean, Number, Integer, Real等)均使用上圖中所示的實(shí)體框表示。擴(kuò)展或者自定義的數(shù)據(jù)類型使用虛線框表示,例如上圖示例中order_date屬性的DATE類型。枚舉類型的表示方法如下圖: L - MALEPerson O gBn<J&r_typ® I 1 Orl1-. FEMALE圖:EXPRESS-G的枚舉表示方法圖: EXPRESS-G的枚舉表示方法Relation

26、ship :使用空心圓結(jié)束的線條連接關(guān)聯(lián)實(shí)體關(guān)聯(lián)關(guān)系的名稱出現(xiàn)在關(guān)聯(lián)線上,朝空心圓一端的方向?yàn)檎?,相反則為反向,反向的關(guān)聯(lián)關(guān)系名稱前面使用(INV)表示關(guān)聯(lián)基數(shù)緊隨關(guān)聯(lián)名稱之后,第一個(gè)字符可以是S、B、L、A,分別表示Set、Bag、List、Array,后面中括號的內(nèi)容即為關(guān)聯(lián)基數(shù),問號表示多個(gè)。默認(rèn)情況下(沒有明確標(biāo)注)關(guān) 聯(lián)基數(shù)都為1:1,因此上圖中出現(xiàn)1:1的地方都可以省略前面提到過的exclusive or約束,EXPRESS-G中使用Select (可選類型)表示,如上圖中的 order_line_itemSub-type:如上圖中 Party、Person、Organizati

27、on所示,連接線使用粗線條ORM - Object-Role Modeling下面是ORM2的部分表示法基本元素下面是ORM模型幾個(gè)基本元素圖示:Entity Type Employee or Empoyee or Ernploye?Value Type > EmpWame j(>- i Empfiame or QEmpNflfn。: JIjf、J'JfMMpw帶常用引用(Country 作mpl/、 誨西商將實(shí)體最常用的一個(gè)屬性縮寫在實(shí)體框中 的Entiy I 2gJ I前而J也吧J I 則 J另一類則是對通用概念的引用單位類型的 屬性C HeightCPackageWe

28、ight C PnceI 面: J I 面:) J空Predicate(Gendw)如,F(xiàn))(飛ade ) fA'. .10p限定層性值 Rating )1 10 (fiureS) (-80.-3(fl,0 .)概念上指這些單位不是使用簡單數(shù)值.而是定義單 位實(shí)體對象,對象名也可以列出來例如Pic囑性分一元、二元、三元、零元謂語慶聯(lián)關(guān)聯(lián)名稱可用皮斜杠區(qū)分左右方向可以用”等 箭頭形就明確表明方向(主要是反向) 可以列舉各T值,也可以使用范圍表示 范圍表示中卜.:表示開放區(qū)間,卜賽示閉合區(qū) 間,閉含區(qū)間符號可以省略圖:ORM模型基本元素圖: ORM模型基本元素唯一性約束表示法ORM中唯一性約束是在相應(yīng)角色上使用帶箭頭的線條表示,線條在哪些角色上,則這些角 色的組合必須唯一,例如下圖:圖:ORM模型唯一性約束表示法圖:ORM模型唯一性約束表示法圖中Person is of Gender的關(guān)系中,Person必須唯一,因此這是一個(gè) n:1的關(guān)系。同樣Person was born in Count

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論