概念數(shù)據(jù)模型_第1頁
概念數(shù)據(jù)模型_第2頁
概念數(shù)據(jù)模型_第3頁
概念數(shù)據(jù)模型_第4頁
概念數(shù)據(jù)模型_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、一、概念數(shù)據(jù)模型概述數(shù)據(jù)模型是現(xiàn)實(shí)世界中數(shù)據(jù)特征的抽象。數(shù)據(jù)模型應(yīng)該滿足三個(gè)方面的要求:1)能夠比較真實(shí)地模擬現(xiàn)實(shí)世界2)容易為人所理解3)便于計(jì)算機(jī)實(shí)現(xiàn)概念數(shù)據(jù)模型也稱信息模型,它以實(shí)體一聯(lián)系(Entity-RelationShip,簡稱E-R)理論為基礎(chǔ),并對(duì)這一理論進(jìn)行了擴(kuò)充。它從用戶的觀點(diǎn)出發(fā)對(duì)信息進(jìn)行建模,主要用于數(shù)據(jù)庫的概念級(jí)設(shè)計(jì)。通常人們先將現(xiàn)實(shí)世界抽象為概念世界,然后再將概念世界轉(zhuǎn)為機(jī)器世界。換句話說,就是先將現(xiàn)實(shí)世界中的客觀對(duì)象抽象為實(shí)體(Entity)和聯(lián)系(Relationship),它并不依賴于具體的計(jì)算機(jī)系統(tǒng)或某個(gè)DBMS系統(tǒng),這種模型就是我們所說的CDM;然后再將C

2、DM轉(zhuǎn)換為計(jì)算機(jī)上某個(gè)DBMS所支持的數(shù)據(jù)模型,這樣的模型就是物理數(shù)據(jù)模型,即PDM。CDM是一組嚴(yán)格定義的模型元素的集合,這些模型元素精確地描述了系統(tǒng)的靜態(tài)特性、動(dòng)態(tài)特性以及完整性約束條件等,其中包扌舌了數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束三部分。1)數(shù)據(jù)結(jié)構(gòu)表達(dá)為實(shí)體和屬性;2)數(shù)據(jù)操作表達(dá)為實(shí)體中的記錄的插入、刪除、修改、查詢等操作;3)完整性約束表達(dá)為數(shù)據(jù)的自身完整性約束(如數(shù)據(jù)類型、檢查、規(guī)則等)和數(shù)據(jù)間的參照完整性約束(如聯(lián)系、繼承聯(lián)系等);二、實(shí)體、屬性及標(biāo)識(shí)符的定義實(shí)體(Entity),也稱為實(shí)例,對(duì)應(yīng)現(xiàn)實(shí)世界中可區(qū)別于其他對(duì)象的事件”或事物”。例如,學(xué)校中的每個(gè)學(xué)生,醫(yī)院中的每個(gè)手

3、術(shù)。每個(gè)實(shí)體都有用來描述實(shí)體特征的一組性質(zhì),稱之為屬性,一個(gè)實(shí)體由若干個(gè)屬性來描述。如學(xué)生實(shí)體可由學(xué)號(hào)、姓名、性別、出生年月、所在系別、入學(xué)年份等屬性組成。實(shí)體集(EntitySet)是具體相同類型及相同性質(zhì)實(shí)體的集合。例如學(xué)校所有學(xué)生的集合可定義為“學(xué)生”實(shí)體集,“學(xué)生”實(shí)體集中的每個(gè)實(shí)體均具有學(xué)號(hào)、姓名、性別、出生年月、所在系別、入學(xué)年份等性質(zhì)。實(shí)體類型(EntityType)是實(shí)體集中每個(gè)實(shí)體所具有的共同性質(zhì)的集合,例如患者”實(shí)體類型為:患者門診號(hào),姓名,性別,年齡,身份證號(hào)。實(shí)體是實(shí)體類型的一個(gè)實(shí)例,在含義明確的情況下,實(shí)體、實(shí)體類型通?;Q使用。實(shí)體類型中的每個(gè)實(shí)體包含唯一標(biāo)識(shí)它的一

4、個(gè)或一組屬性,這些屬性稱為實(shí)體類型的標(biāo)識(shí)符(Identifier),如學(xué)號(hào)”是學(xué)生實(shí)體類型的標(biāo)識(shí)符,“姓名”、“出生日期”、“信址”共同組成“公民”實(shí)體類型的標(biāo)識(shí)符。有些實(shí)體類型可以有幾組屬性充當(dāng)標(biāo)識(shí)符,選定其中一組屬性作為實(shí)體類型的主標(biāo)識(shí)符,其他的作為次標(biāo)識(shí)符。三、實(shí)體、屬性及標(biāo)識(shí)符的表達(dá)屬性名身份證號(hào)學(xué)生勒i凈Integer如Variablecharacter.fZO):CharactersDate:-:ariablecharacterfO)紮實(shí)薦名稱-強(qiáng)制表示懐屬性不戢尙空借類型主標(biāo)泯符:-次標(biāo)識(shí)符呦尬實(shí)俸的表示方法介紹PowerDesigner概念數(shù)據(jù)模型以及實(shí)體、屬性創(chuàng)建。一、新建概

5、念數(shù)據(jù)模型1)選擇File-New,彈出如圖所示對(duì)話框,選擇CDM模型(即概念數(shù)據(jù)模型)建立模型。2)完成概念數(shù)據(jù)模型的創(chuàng)建。以下圖示,對(duì)當(dāng)前的工作空間進(jìn)行簡單介紹。(以后再更詳細(xì)說明)PawerDesigner一CDM匸onceptualDataModel_lpDiagram_lLintxiftFileEditViewModelSymbolReEiortToolsWindowHelp13色曰勃直昌為齬魚x|gc|會(huì),參曾鬼去囤E3曙畫聲金A.廳e劭喳Ej盤|存Ss!1*1|tfln8Z|IA日?qǐng)D表TD;agram1E”饑DataItemsLcic別學(xué)號(hào)5Intecier姓名.Variable

6、charapter-&按鈕,這里就不再進(jìn)行詳細(xì)解釋。More濟(jì)CancelApplyHelp二、創(chuàng)建新實(shí)體1)在CDM的圖形窗口中,單擊工具選項(xiàng)版上的Entity工具,再單擊圖形窗口的空白處,在單擊的位置就出現(xiàn)一個(gè)實(shí)體符號(hào)。點(diǎn)擊Pointer工具或右擊鼠標(biāo),釋放Entitiy工具。如圖所示2)雙擊剛創(chuàng)建的實(shí)體符號(hào),打開下列圖標(biāo)窗口,在此窗口“Genera標(biāo)簽中可以輸入實(shí)體的名稱、代碼、描述等信息。三、添加實(shí)體屬性1)在上述窗口的“Attribute”標(biāo)簽上可以添加屬性,如下圖所示。:闔刪冊(cè)紬sa刪別出翩仙InlxlGereralAttributeIdenlifieiN&tsRuleis|表辱疋

7、否申主列識(shí)符廠1T卄禹7*J1TKlanie:CodeDataType謹(jǐn)立林諛符DomainmIpD城數(shù)據(jù)頊申-添卻屬性f表示建否在圖形畫口:EZZMoreM|Cancel:1.rHelp數(shù)據(jù)項(xiàng)中的添加屬性和重用已有數(shù)據(jù)項(xiàng)”這兩項(xiàng)功能與模型中DataItem的Uniquecode和Allowreuse選項(xiàng)有關(guān)。P列表示該屬性是否為主標(biāo)識(shí)符;D列表示該屬性是否在圖形窗口中顯示;M列表示該屬性是否為強(qiáng)制的,即該列是否為空值。如果一個(gè)實(shí)體屬性為強(qiáng)制的,那么,這個(gè)屬性在每條記錄中都必須被賦值,不能為空。2)在上圖所示窗口中,點(diǎn)擊插入屬性按鈕,彈出屬性對(duì)話框,如下圖所示。注意:這里涉及到域的概念,即一種

8、標(biāo)準(zhǔn)的數(shù)據(jù)結(jié)構(gòu),它可應(yīng)用至數(shù)據(jù)項(xiàng)或?qū)嶓w的屬性上一、定義屬性的標(biāo)準(zhǔn)檢查約束標(biāo)準(zhǔn)檢查約束是一組確保屬性有效的表達(dá)式。在實(shí)體屬性的特性窗口,打開如圖所示的檢查選項(xiàng)卡。StandardChecksGereralUnit|旨hl日xilTiLimAdditionalChecksRulesNotei-|Deperid&hcies|VersioriIrfoDefault:ZZAttributeProperties-學(xué)號(hào)(孚號(hào))ValuesMinirrium:Chdracterislicsornnat:廠Uppercase廠LowercaseCannotValue.Label4i.:I二.盂-Listofva

9、lues-自禺X#4oKCartelHelp在這個(gè)選項(xiàng)卡可以定義屬性的標(biāo)準(zhǔn)檢查約束,窗口中每項(xiàng)的參數(shù)的含義,如下參數(shù)說明Minimum屬性可接受的最小數(shù)Maximum屬性可接受的最大數(shù)Default屬性不賦值時(shí),系統(tǒng)提供的默認(rèn)值Unit單位,如公里、噸、元Format屬性的數(shù)據(jù)顯示格式Lowercase屬性的賦值全部變?yōu)樾懽帜窾ppercase屬性的賦值全部變?yōu)榇髮懽帜窩annotmodify該屬性一旦賦值不能再修改ListOfValues屬性賦值列表,除列表中的值,不能有其他的值Label屬性列表值的標(biāo)簽二、定義屬性的附加檢查當(dāng)Standardchecks或Rules不能滿足檢查的要求時(shí),

10、可以在AdditionalChecks選項(xiàng)卡的Server子頁上,通過SQL語句中使用MINMAX%、LISTVAL%、RULES%、UPPER%、LOWER%幾個(gè)變量來定義Standard和Rule,如圖所示冒Help二jAttributeProperties-學(xué)號(hào)(學(xué)號(hào)).I|Server/Client/Gereral.5tandardChecks:AdditionalChecRules:NotejDeperid&riciesVersioriIrfooKCartel%MINMAX%、LISTVAL%、UPPER%、LOWER%在StandardCheck中定義的Minimum和Maximu

11、m、Listvalues、uppervalues、lowervalues%RULES%在Rules特性窗口Expression選項(xiàng)卡中定義的有效性規(guī)則表達(dá)式一、標(biāo)識(shí)符標(biāo)識(shí)符是實(shí)體中一個(gè)或多個(gè)屬性的集合,可用來唯一標(biāo)識(shí)實(shí)體中的一個(gè)實(shí)例。要強(qiáng)調(diào)的是,CDM中的標(biāo)識(shí)符等價(jià)于PDM中的主鍵或候選鍵。每個(gè)實(shí)體都必須至少有一個(gè)標(biāo)識(shí)符。如果實(shí)體只有一個(gè)標(biāo)識(shí)符,則它為實(shí)體的主標(biāo)識(shí)符。如果實(shí)體有多個(gè)標(biāo)識(shí)符,則其中一個(gè)被指定為主標(biāo)識(shí)符,其余的標(biāo)識(shí)符就是次標(biāo)識(shí)符了。二、如果定義主、次標(biāo)識(shí)符1)選擇某個(gè)實(shí)體雙擊彈出實(shí)體的屬性對(duì)話框。在Identifiers選項(xiàng)卡上可以進(jìn)行實(shí)體標(biāo)識(shí)符的定義。如下圖所示選擇此溟選整黑“表

12、不主標(biāo)識(shí)符丁s?則表示灰標(biāo)識(shí)符1Apply.2)選擇第一行“主標(biāo)識(shí)符”,點(diǎn)擊屬性按鈕或雙擊第一行主標(biāo)識(shí)符”,彈出屬性對(duì)話框,如圖所示3)選擇Attributes選項(xiàng)卡,再點(diǎn)擊AddAttributes”工具,彈出如圖所示窗口,選擇某個(gè)屬xj會(huì)I霍I0/5電QTIdentifierProperties-主錠謂符(主蕃識(shí)符)性作為標(biāo)識(shí)符就行了。Jnl2dCodeEntity選擇具休某個(gè)厲性為標(biāo)識(shí)符;SelEctidn(匚onceptualDcataModel_l匚區(qū)I身份證Name匚國姓名匚邑性別匚國出生日期GereralAttributeMo爲(wèi)|_i.Fntrty7ttributeEIntege

13、r學(xué)生-Variablechar.學(xué)生性別CharacIsraelJ學(xué)生出生呂期Date學(xué)生身份證號(hào)Variablechar.學(xué)生jet.-:Type|i0K.j1CancelObjectJ.selected:一、數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)(DataItem)是信息存儲(chǔ)的最小單位,它可以附加在實(shí)體上作為實(shí)體的屬性。注意:模型中允許存在沒有附加至任何實(shí)體上的數(shù)據(jù)項(xiàng)。二、新建數(shù)據(jù)項(xiàng)1)使用Model”-DataItems菜單,在打開的窗口中顯示已有的數(shù)據(jù)項(xiàng)的列表,點(diǎn)擊AddaRow”按鈕,倉U建一個(gè)新數(shù)據(jù)項(xiàng),如圖所示更ListufDataItemsNameCodeDdtaTypeLengthPrecision出

14、生日期.出生日期姓茗邂茗Tdte.VariablecharHUndefined?-i:號(hào)證號(hào)別份學(xué)性身Jht&gecCharacters11Variablechar:202)當(dāng)然您可以繼續(xù)設(shè)置具體數(shù)據(jù)項(xiàng)的Code、DataType、Length等等信息。這里就不再詳細(xì)說明了。三、數(shù)據(jù)項(xiàng)的唯一性代碼選項(xiàng)和重用選項(xiàng)使用Tools-ModelOptions-ModelSettings。在DataItem組框中定義數(shù)據(jù)項(xiàng)的唯一性代碼選項(xiàng)(UniqueCode)與重用選項(xiàng)(AllowReuse)。如果選擇UniqueCode復(fù)選框,每個(gè)數(shù)據(jù)項(xiàng)在同一個(gè)命名空間有唯一的代碼,而選擇Allowreuse,一個(gè)

15、數(shù)據(jù)項(xiàng)可以充當(dāng)多個(gè)實(shí)體的屬性。ModeBOptions2jModelSeeings口-Namin口匚oriventionFileModelSettings0thercb|ecffePackageDomainDataItem畑儷EntIdeFielatiansHpAssJciadanInheritnGeAllOtijecls-1Narme/tode.casesensitiveDomain/AttributeEnforcerori-diyergerice“DatatypeCheckRules?.MandatoryMUssdaistjipefullnameDefaultdtatypE:出吿日期ide

16、ritmer1遷引?學(xué)號(hào)非標(biāo)定聯(lián)系選課備;學(xué)號(hào)帰程號(hào)Mini、飄Identifier_1Identifier.Z-/pi:遞歸聯(lián)系:遞歸聯(lián)系是實(shí)體集內(nèi)部實(shí)例之間的一種聯(lián)系,通常形象地稱為自反聯(lián)系。同一實(shí)體類型中不同實(shí)體集之間的聯(lián)系也稱為遞歸聯(lián)系。職工O.n遞歸聯(lián)系例如:在職工”實(shí)體集中存在很多的職工,這些職工之間必須存在一種領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的關(guān)系。又如“學(xué)生”實(shí)體信中的實(shí)體包含“班長”子實(shí)體集與“普通學(xué)生”子實(shí)體集,這兩個(gè)子實(shí)體集之間的聯(lián)系就是一種遞歸聯(lián)系。創(chuàng)建遞歸聯(lián)系時(shí),只需要單擊實(shí)體間建立聯(lián)系”工具從實(shí)體的一部分拖至該實(shí)體的別一個(gè)部分即可。如圖編號(hào)姓名1J五、定義聯(lián)系的特性在兩個(gè)實(shí)體間建立了聯(lián)

17、系后,雙擊聯(lián)系線,打開聯(lián)系特性窗口,如圖所示。六、定義聯(lián)系的角色名在聯(lián)系的兩個(gè)方向上各自包含有一個(gè)分組框,其中的參數(shù)只對(duì)這個(gè)方向起作用,RoleName為角色名,描述該方向聯(lián)系的作用,一般用一個(gè)動(dòng)詞或動(dòng)賓組表。如:“學(xué)生to課目”組框中應(yīng)該填寫“擁有”,而在“課目To學(xué)生”組框中填寫“屬于”。(在此只是舉例說明,可能有些用詞不太合理)。七、定義聯(lián)系的強(qiáng)制性Mandatory表洋這個(gè)方向聯(lián)系的強(qiáng)制關(guān)系。選中這個(gè)復(fù)選框,則在聯(lián)系線上產(chǎn)生一個(gè)聯(lián)系線垂直的豎線。不選擇這個(gè)復(fù)選框則表示聯(lián)系這個(gè)方向上是可選的,在聯(lián)系線上產(chǎn)生一個(gè)小圓圈。八、有關(guān)聯(lián)系的基數(shù)聯(lián)系具有方向性,每個(gè)方向上都有一個(gè)基數(shù)。舉例,“系”

18、與“學(xué)生”兩個(gè)實(shí)體之間的聯(lián)系是一對(duì)多聯(lián)系,換句話說學(xué)生”和“系”之間的聯(lián)系是多對(duì)一聯(lián)系。而且一個(gè)學(xué)生必須屬于一個(gè)系,并且只能屬于一個(gè)系,不能屬于零個(gè)系,所以從學(xué)生”實(shí)體至“系”實(shí)體的基數(shù)為“1,1”,從聯(lián)系的另一方向考慮,一個(gè)系可以擁有多個(gè)學(xué)生,也可以沒有任何學(xué)生,即零個(gè)學(xué)生,所以該方向聯(lián)系的基數(shù)就為0,n”,如圖所示CDM是大多數(shù)開發(fā)者使用PD時(shí)最先創(chuàng)建的模型,也是整個(gè)數(shù)據(jù)庫設(shè)計(jì)最高層的抽象CDM是建立在傳統(tǒng)的ER圖模型理論之上的,ER圖中有三大主要元素:實(shí)體型,屬性和聯(lián)系。其中實(shí)體型對(duì)應(yīng)到CDM中的Entity,屬性對(duì)應(yīng)到CDM中每個(gè)Entity的Attribute,在概念上基本上是一一對(duì)

19、應(yīng)的。但在聯(lián)系上,CDM有了比較大的擴(kuò)展,除了保留ER圖原有的RelationShip概念之外,還增加了Association,Inheritanee兩種實(shí)體關(guān)系,下面就讓我們分別看看這些關(guān)系的用法和之間的區(qū)別(下圖中被標(biāo)紅的工具欄按鈕就是用來向?qū)嶓w中添加這些關(guān)系的)。2魯世x竺目區(qū)|區(qū)|屋|詁曇國、口odwcs另外,在介紹所有這些CDM中的元素之前,筆者先給出一個(gè)很簡單的CDM圖,是對(duì)我們最最熟悉的學(xué)校場(chǎng)景的一個(gè)建模,下文中提到的所有概念在圖中都有體現(xiàn),大家在看下文的時(shí)候可以對(duì)照著來看:假期天數(shù)Number開始時(shí)間::Undefiiie=d-xtUnTeNU名別齡姓性年-Undefined俱

20、樂部教師NumberGharacders(25&學(xué)生Identilier-I;:pi成立時(shí)間Date部學(xué)號(hào)Number=::M?敎齡Number:刑二級(jí)劇Number二虧=匚hm歸曲呂rm呦Identifier_1:pildentifier_1=:pi5班主任班級(jí)所屬年級(jí)Numb-er::M?班皴號(hào)Numbw:WRelationShip(聯(lián)系)先給出PD手冊(cè)里對(duì)聯(lián)系的定義:Arelationshipisalinkbetweenentities.Forexample,inaCDMthatmanageshumanresources,therelationshipMemberlinkstheenti

21、tiesEmployeeandTeam,becauseemployeescanbemembersofteams.Thisrelationshipexpressesthateachemployeeworksinateamandthateachteamhasemployees.可見,也許聯(lián)系的概念真的太簡單了吧,所以反而不那么好表述,所以PD的文檔里也是用一個(gè)例子來說明出現(xiàn)了什么樣的情況我們就認(rèn)為兩個(gè)實(shí)體間是有聯(lián)系的。當(dāng)我們提起實(shí)體間聯(lián)系的時(shí)候,最先想到的恐怕是onetoone,onetomany和manytomany這三種聯(lián)系類型,這些聯(lián)系類型也是大家最熟悉的。筆者對(duì)ER圖原本的概念并不精通,但

22、在CDM中,聯(lián)系還有另外三個(gè)可以設(shè)置的屬性:mandatory(強(qiáng)制性聯(lián)系),dependent(依賴性聯(lián)系/標(biāo)定關(guān)聯(lián))和dominant(統(tǒng)制聯(lián)系)。這些屬性對(duì)后面PDM的生成都有比較大的影響,需要我們一一有所了解。它們都是在聯(lián)系的屬性控制面板中設(shè)定的,見下圖:mandatory聯(lián)系是否具有強(qiáng)制性,指的是實(shí)體間是不是一定會(huì)出現(xiàn)這種聯(lián)系;或者換句話說,當(dāng)我們?cè)谡劶耙粋€(gè)聯(lián)系的應(yīng)用場(chǎng)景的時(shí)候,聯(lián)系對(duì)應(yīng)的那兩個(gè)實(shí)體型的實(shí)體實(shí)例的個(gè)數(shù)可不可能為零。也許這樣的解釋還是有點(diǎn)抽象,讓我們舉兩個(gè)聯(lián)系的例子,一個(gè)是對(duì)兩邊的實(shí)體都有強(qiáng)制性的,另一個(gè)則不然。(1)教師-學(xué)生聯(lián)系這個(gè)聯(lián)系首先是一個(gè)多對(duì)多聯(lián)系,因?yàn)槊總€(gè)

23、老師可以教多個(gè)學(xué)生,每個(gè)學(xué)生也都有多個(gè)老師來負(fù)責(zé)他們的學(xué)業(yè)。同時(shí),這個(gè)聯(lián)系對(duì)教師和學(xué)生都是強(qiáng)制性的,也就是說,不存在任何一個(gè)老師,他不負(fù)責(zé)任何一個(gè)學(xué)生的教學(xué);也不存在任何一個(gè)學(xué)生,他沒有任何一個(gè)任課老師。(2)學(xué)生-俱樂部聯(lián)系這個(gè)聯(lián)系也是一個(gè)多對(duì)多關(guān)系,但它對(duì)學(xué)生這個(gè)實(shí)體型而言就不是強(qiáng)制的(Optional,可選的)。每個(gè)俱樂部都有至少一個(gè)學(xué)生參加,但并不是每個(gè)學(xué)生都要去參加俱樂部的活動(dòng)。完全可以有一些學(xué)生,他們什么俱樂部都沒參加。上面的例子主要是從概念的角度來區(qū)分了mandatory和optional的區(qū)別。實(shí)際上如果把這個(gè)模型對(duì)應(yīng)到我們最后生成的表,如果A-B間的聯(lián)系對(duì)A是mandator

24、y的話,那么如果在A里面如果包含B的外鍵,這個(gè)外鍵不能為空值,反之可以為空值。后面我們談到PDM和實(shí)際數(shù)據(jù)庫的時(shí)候,大家會(huì)看到這一點(diǎn)。dependent每一個(gè)Entity型都有自己的Identifier,如果兩個(gè)Entity型之間發(fā)生關(guān)聯(lián)時(shí),其中一個(gè)Entity型的Identifier進(jìn)入另一個(gè)Entity型并與該Entity型中的Identifier共同組成其Identifier時(shí),這種關(guān)聯(lián)稱為標(biāo)定關(guān)聯(lián),也叫依賴性關(guān)聯(lián)(dependentrelationship)。一個(gè)Entity型的Identifier進(jìn)入另一個(gè)Entity型后充當(dāng)其非Identifier時(shí),這種關(guān)聯(lián)稱為非標(biāo)定關(guān)聯(lián),也叫非

25、依賴關(guān)聯(lián)。概念的定義說起來還是有些拗口,說白了其實(shí)就是主從表關(guān)系,從表要依賴于主表。比如在我們系統(tǒng)里要記錄教師休假的情況,有一個(gè)實(shí)體型Holiday,其屬性包括休假的開始時(shí)間和天數(shù),每次有教師休假的時(shí)候,都要在這個(gè)表留下記錄。從我們的場(chǎng)景描述中可以看到,實(shí)體型假期必須依附于實(shí)體型教師,即對(duì)于每一個(gè)假期實(shí)例,必須指向某一個(gè)教師實(shí)例。對(duì)于依賴型聯(lián)系,必須注意它不可能是一個(gè)多對(duì)多聯(lián)系,在這個(gè)聯(lián)系中,必須有一個(gè)作為主體的實(shí)體型。一個(gè)dependent聯(lián)系的從實(shí)體可以沒有自己的identifier.dominant這個(gè)聯(lián)系屬性是最為簡單的,它僅作用于一對(duì)一聯(lián)系,并指明這種聯(lián)系中的主從表關(guān)系。在A,B兩個(gè)

26、實(shí)體型的聯(lián)系中,如果A-B被指定為dominant,那么A為這個(gè)一對(duì)一聯(lián)系的主表,B為從表,并且在以后生成的PDM中會(huì)產(chǎn)生一個(gè)引用(如果不指定dominant屬性的話會(huì)產(chǎn)生兩個(gè)引用)。比如老師和班級(jí)之間的聯(lián)系,因?yàn)槊總€(gè)班級(jí)都有一個(gè)老師做班主任,每個(gè)老師也最多只能做一個(gè)班級(jí)的班主任,所以是一個(gè)一對(duì)一關(guān)系。同時(shí),我們可以將老師作為主表,用老師的工號(hào)來唯一確定一個(gè)班主任聯(lián)系。Association(關(guān)聯(lián))先來看一下PD給association的定義:“Anassociationisaconnectionbetweenentities.IntheMerisemodelingmethodologyana

27、ssociationisusedtoconnectseveralentitiesthateachrepresentsclearlydefinedobjects,butarelinkedbyanevent,whichmaynotbesoclearlyrepresentedbyanotherentity.。在上一小段提到的那些RelationShip,在很多情況下(特別是多對(duì)多關(guān)系中),我們會(huì)把聯(lián)系專門提出來,作為一個(gè)實(shí)體型放在兩個(gè)需要被關(guān)聯(lián)的實(shí)體型中間(在PD中,選中任何一個(gè)聯(lián)系,在右鍵的彈出菜單中選擇“ChangetoEntity命令即可完成聯(lián)系轉(zhuǎn)實(shí)體的操作)。但有的時(shí)候,把若干個(gè)實(shí)體型之間的

28、聯(lián)系抽象為一個(gè)實(shí)體型可能不太合適,這個(gè)時(shí)候你可以選擇為這些實(shí)體型建立一個(gè)association,那么在生成PDM的時(shí)候,所有這些相關(guān)實(shí)體型的identifier都會(huì)被加入到association對(duì)應(yīng)生成的表模型中。所以,說白了,其實(shí)association就是實(shí)體型的一種特例,用來在建模的時(shí)候更確切的表達(dá)實(shí)體間的關(guān)聯(lián)信息。在PD的文檔中舉了一個(gè)錄音帶、顧客、商店三個(gè)實(shí)體型在租借錄音帶這個(gè)場(chǎng)景上發(fā)生關(guān)聯(lián),然后把租借定義為上述三個(gè)實(shí)體型之間的association的例子,非常確切。在我們的學(xué)校模型里,我定義了家訪做為老師和學(xué)生實(shí)體型中間的一個(gè)association,在接下來產(chǎn)生的PDM中大家就可能看到這種定義所產(chǎn)生的效果。Inheritanee(繼承)這種關(guān)系在概念層面是最容易理解的了,本文就不贅述了。前面已經(jīng)介紹了CDM中關(guān)于實(shí)體間關(guān)系的主要內(nèi)容,接下來我們就來看看根據(jù)這個(gè)CDM所生成的PDM是一個(gè)什么樣子:師生關(guān)系K_TEA.L-ER_TEA匚彳ER-F_FEFLSCTEACHER-SFKCUSSCLASSMANATEACHERNISIHOMEVISIT_fcZ4麗-“I:枷、M虧nunnE:riGFkHkZnFKSTUDEFIT-STUDEFJT-CSTUDEFIT.X;、學(xué)生薦叵1n

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論