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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論