隨筆-200  評(píng)論-148  文章-15  trackbacks-0

          轉(zhuǎn)自 http://www.cppblog.com/woaidongmao/archive/2009/11/08/87004.html

          目標(biāo):
          本文主要介紹PowerDesigner中 概念數(shù)據(jù)模型 CDM的基本概念。

          一、概念數(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,簡(jiǎn) 稱E-R)理論為基礎(chǔ),并對(duì)這一理論進(jìn)行了擴(kuò)充。它從用戶的觀點(diǎn)出發(fā)對(duì)信息進(jìn)行建 模,主要用于數(shù)據(jù)庫(kù)的概念級(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;然后再將CDM轉(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è)手 術(shù)。
          每個(gè)實(shí)體都有用來描述實(shí)體特征的一組性質(zhì),稱之為屬性,一個(gè)實(shí)體由若干個(gè)屬性來描述。 如學(xué)生實(shí)體可由學(xué)號(hào)、姓名、性別、出生年月、所在系別、入學(xué)年份等屬性組成。

          實(shí)體集(Entity Set)是具體相同類型及相 同性質(zhì)實(shí)體的集合。例如學(xué)校所有學(xué)生的集合可定義為學(xué)生實(shí)體集,學(xué)生實(shí) 體集中的每個(gè)實(shí)體均具有學(xué)號(hào)、姓名、性別、出生年月、所在系別、入學(xué)年份等性質(zhì)。

          實(shí) 體類型(Entity Type)是實(shí)體集中每個(gè)實(shí)體所具有的共同性質(zhì)的集合,例如患者實(shí)體類型為:患者{門診號(hào),姓名,性別,年齡, 身份證號(hào).............}。實(shí)體是實(shí)體類型的一個(gè)實(shí)例,在含義明確的情況下,實(shí)體、實(shí) 體類型通常互換使用。

          實(shí)體類型中的每個(gè)實(shí)體包含唯一標(biāo)識(shí)它的一個(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á)

          clip_image001

          待 續(xù)!
          ------------------------------------------------------------------------------------------------------------

          ------------------------------------------------------------------------------------------------------------

          目標(biāo):
          本文主要介紹PowerDesigner概念數(shù)據(jù)模型以及實(shí)體、屬性創(chuàng)建。

          一、新建概念數(shù)據(jù)模型
          1
          ) 選擇File-->New,彈出如圖所示對(duì)話框,選擇CDM模 型(即概念數(shù)據(jù)模型)建立模型。
          clip_image003

          2
          ) 完成概念數(shù)據(jù)模型的創(chuàng)建。以下圖示,對(duì)當(dāng)前的工作空間進(jìn)行簡(jiǎn)單介紹。(以后再更詳細(xì)說明)
          clip_image004

          3
          ) 選擇新增的CDM模型,右擊,在彈出的菜單中選擇“Properties”屬 性項(xiàng),彈出如圖所示對(duì)話框。在“General”標(biāo)簽里可以輸入所建模型的名稱、代碼、描述、創(chuàng)建 者、版本以及默認(rèn)的圖表等等信息。在“Notes”標(biāo)簽里可以輸入相關(guān)描述及說明信息。當(dāng)然再有更 多的標(biāo)簽,可以點(diǎn)擊 "More>>"按鈕,這里就不再進(jìn)行詳細(xì)解釋。
          clip_image005

          二、創(chuàng)建新實(shí)體
          1
          ) 在CDM的圖形窗口中,單擊工具選項(xiàng)版上的Entity工 具,再單擊圖形窗口的空白處,在單擊的位置就出現(xiàn)一個(gè)實(shí)體符號(hào)。點(diǎn)擊Pointer工具或右擊鼠 標(biāo),釋放Entitiy工具。如圖所示
          clip_image006
          2
          ) 雙擊剛創(chuàng)建的實(shí)體符號(hào),打開下列圖標(biāo)窗口,在此窗口“General”標(biāo)簽中可以輸入實(shí)體的名稱、代碼、描述等信息。
          clip_image007

          三、添加實(shí)體屬性
          1
          ) 在上述窗口的“Attribute”選項(xiàng)標(biāo)簽上可以添加屬性,如下圖所示。
          clip_image001[4]

          注意:
          數(shù)據(jù)項(xiàng)中的添加屬性重用已有數(shù)據(jù)項(xiàng)這兩項(xiàng)功能與模型中Data ItemUnique code Allow reuse選項(xiàng) 有關(guān)。
          P
          列表示該屬性是否為主標(biāo)識(shí)符;D列 表示該屬性是否在圖形窗口中顯示;M列表示該屬性是否為強(qiáng)制的,即該列是否為空值。

          如果一個(gè)實(shí)體屬性為強(qiáng)制的,那么, 這個(gè)屬性在每條記錄中都必須被賦值,不能為空。

          2)在上圖所示窗口中,點(diǎn)擊插入屬性按鈕,彈出屬性對(duì)話框,如下圖所示。
          clip_image010

          注意:這里涉及到域的概念,即一種標(biāo)準(zhǔn)的數(shù)據(jù)結(jié)構(gòu),它可應(yīng)用至數(shù)據(jù)項(xiàng)或?qū)嶓w的屬性上。在 以下的教程中將另立章節(jié)詳細(xì)說明。

          待續(xù)。

          ------------------------------------------------------------------------------------------------------------

          ------------------------------------------------------------------------------------------------------------

          PowerDesigner教程系列(三)概念數(shù)據(jù)模型

          Posted on 2007-04-09 14:44 KevinYin 閱讀(15951) 評(píng)論(20) 編輯 收藏 網(wǎng)摘 所屬分類: PowerDesigner clip_image011


          目標(biāo):
          本文主要介紹屬性的標(biāo)準(zhǔn)檢查約束、如何定義屬性的附加檢查。

          一、 定義屬性的標(biāo)準(zhǔn)檢查約束
          標(biāo)準(zhǔn)檢查約束是一組確保屬性有效的表達(dá)式。在實(shí)體屬性的特性窗口, 打開如圖所示的檢查選項(xiàng)卡。
          clip_image012

          在 這個(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)樾? 字母

          Uppercase

          屬性的賦值全部變?yōu)榇髮? 字母

          Cannot modify

          該屬性一旦賦值不能再修 改

          List Of Values

          屬性賦值列表,除列表中 的值,不能有其他的值

          Label

          屬性列表值的標(biāo)簽


          二、定義屬性的附加檢查
          當(dāng)Standard checks Rules 不能滿足檢查的要求時(shí),可以在Additional Checks選項(xiàng)卡的Server子頁(yè)上,通過SQL語(yǔ)句中使用%MINMAX%%LISTVAL%%RULES%%UPPER%%LOWER%幾個(gè)變量來定義StandardRule,如圖所示
          clip_image013

          %MINMAX%
          %LISTVAL%%UPPER%%LOWER%
          Standard Check中 定義的Minimum MaximumList values uppervalueslowervalues

          %RULES%
          Rules特 性窗口Expression選項(xiàng)卡中定義的有效性規(guī)則表達(dá)式


          待 續(xù)。

          ------------------------------------------------------------------------------------------------------------

          ------------------------------------------------------------------------------------------------------------

          目標(biāo):
          本文主要介紹數(shù)據(jù) 項(xiàng)、新增數(shù)據(jù)項(xiàng)、數(shù)據(jù)項(xiàng)的唯一性代碼選項(xiàng)和重用選項(xiàng)等。

          一、數(shù)據(jù)項(xiàng)
          數(shù)據(jù)項(xiàng)(Data Item)是信息存儲(chǔ)的最小 單位,它可以附加在實(shí)體上作為實(shí)體的屬性。
          注意:模型中允許存在沒有附加至任何實(shí)體上的數(shù) 據(jù)項(xiàng)。

          二、新建數(shù)據(jù)項(xiàng)
          1
          ) 使用“Model”---> Data Items 菜單,在打開的窗口中顯示已有的數(shù)據(jù)項(xiàng) 的列表,點(diǎn)擊 “Add a Row”按鈕,創(chuàng)建一個(gè)新數(shù)據(jù)項(xiàng),如圖所示
          clip_image014

          2
          ) 當(dāng)然您可以繼續(xù)設(shè)置具體數(shù)據(jù)項(xiàng)的CodeDataTypeLength等等信息。這里就不再詳細(xì)說明了。

          三、 數(shù)據(jù)項(xiàng)的唯一性代碼選項(xiàng)和重用選項(xiàng)
          使用Tools--->Model Options->Model Settings。在Data Item組 框中定義數(shù)據(jù)項(xiàng)的唯一性代碼選項(xiàng)(Unique Code)與重用選項(xiàng)(Allow Reuse)。
          注意:
          如果選擇Unique Code復(fù)選框 ,每個(gè)數(shù)據(jù)項(xiàng)在同一個(gè)命名空間有唯一的代碼,而選擇Allow reuse ,一個(gè)數(shù)據(jù)項(xiàng)可以充當(dāng) 多個(gè)實(shí)體的屬性。
          clip_image015

          四、 在實(shí)體中添加數(shù)據(jù)項(xiàng)
          1
          )雙擊一個(gè)實(shí)體符號(hào),打開該實(shí)體的屬性窗口。
          2
          )單擊Attributes選項(xiàng)卡,打開如下 圖所示窗口
          clip_image016

          注 意:
          Add a DataItem
          Reuse a DataItem的區(qū)別在于
          Add a DataItem
          情 況下,選擇一個(gè)已經(jīng)存在的數(shù)據(jù)項(xiàng),系統(tǒng)會(huì)自動(dòng)復(fù)制所選擇的數(shù)據(jù)項(xiàng)。如果您設(shè)置了UniqueCode選 項(xiàng),那系統(tǒng)在復(fù)制過程中,新數(shù)據(jù)項(xiàng)的Code會(huì)自動(dòng)生成一個(gè)唯一的號(hào)碼,否則與所選擇的數(shù)據(jù)項(xiàng)完全 一致。


          Reuse a DataItem
          情況下,只引用不新增,就是引用 那些已經(jīng)存在的數(shù)據(jù)項(xiàng),作為新實(shí)體的數(shù)據(jù)項(xiàng)。

          待續(xù)。

          ------------------------------------------------------------------------------------------------------------

          ------------------------------------------------------------------------------------------------------------

          目標(biāo):本文主要介紹聯(lián)系的定義及使用。

          一、 聯(lián)系
          聯(lián)系(Relationship) 是指實(shí)體集這間或?qū)嶓w集內(nèi)部實(shí)例之間的連接。

          實(shí)體之間可以通過聯(lián)系來相互關(guān)聯(lián)。與 實(shí)體和實(shí)體集對(duì)應(yīng),聯(lián)系也可以分為聯(lián)系和聯(lián)系集,聯(lián)系集是實(shí)體集之間的聯(lián)系,聯(lián)系是實(shí)體之間的聯(lián)系,聯(lián)系是具有方向性的。聯(lián)系和聯(lián)系集在含義明確的情況之 下均可稱為聯(lián)系。

          按照實(shí)體類型中實(shí)例之間的數(shù)量對(duì)應(yīng)關(guān)系,通常可將聯(lián)系分為4類,即一對(duì)一(ONE TO ONE)聯(lián)系、一對(duì)多 (ONE TO MANY)聯(lián)系、多對(duì)一(MANY TO ONE)聯(lián)系和多對(duì)多聯(lián)系(MANY TO MANY)。

          二、 建立聯(lián)系
          CDM工具選項(xiàng)板中除了公共的工具外,還包括如下圖所示的其它對(duì)象產(chǎn)生工具。
          clip_image017
          在 圖形窗口中創(chuàng)建兩個(gè)實(shí)體后,單擊實(shí)體間建立聯(lián)系工 具,單擊一個(gè)實(shí)體,在按下鼠標(biāo)左鍵的同時(shí)把光標(biāo)拖至別一個(gè)實(shí)體上并釋放鼠標(biāo)左鍵,這樣就在兩個(gè)實(shí)體間創(chuàng)建了聯(lián)系,右鍵單擊圖形窗口,釋放Relationship工具。如下圖所示
          clip_image018

          三、 四種基本的聯(lián)系
          即一對(duì)一(ONE TO ONE)聯(lián) 系、一對(duì)多(ONE TO MANY)聯(lián)系、多對(duì)一(MANY TO ONE)聯(lián)系和多對(duì)多聯(lián)系(MANY TO MANY)。如圖所示
          clip_image019
          四、 其他幾類特殊聯(lián)系

          除 了4種基本的聯(lián)系之外,實(shí)體集與實(shí)體集之間還存在標(biāo)定聯(lián)系(Identify Relationship)、非標(biāo)定聯(lián)系(Non-Identify RelationShip) 和遞歸聯(lián)系(Recursive Relationship)。

          標(biāo)定 聯(lián)系:
          每個(gè)實(shí)體類型都有自己的標(biāo) 識(shí)符,如果兩個(gè)實(shí)體集之間發(fā)生聯(lián)系,其中一個(gè)實(shí)體類型的標(biāo)識(shí)符進(jìn)入另一個(gè)實(shí)體類型并與該實(shí)體類型中的標(biāo)識(shí)符共同組成其標(biāo)識(shí)符時(shí),這種聯(lián)系則稱為標(biāo)定聯(lián)系, 也叫依賴聯(lián)系。反之稱為非標(biāo)定聯(lián)系,也叫非依賴聯(lián)系。
          注意:
          在非標(biāo)定聯(lián)系中,一個(gè)實(shí)體集中的部分實(shí)例 依賴于另一個(gè)實(shí)例集中的實(shí)例,在這種依賴聯(lián)系中,每個(gè)實(shí)體必須至少有一個(gè)標(biāo)識(shí)符。而在標(biāo)定聯(lián)系中,一個(gè)實(shí)體集中的全部實(shí)例完全依賴于另個(gè)實(shí)體集中的實(shí)例, 在這種依賴聯(lián)系中一個(gè)實(shí)體必須至少有一個(gè)標(biāo)識(shí)符,而另一個(gè)實(shí)體卻可以沒有自己的標(biāo)識(shí)符。沒有標(biāo)識(shí)符的實(shí)體用它所依賴的實(shí)體的標(biāo)識(shí)符作為自己的標(biāo)識(shí)符。


          換句話來理解,在標(biāo)定聯(lián)系中,一個(gè)實(shí)體(選課)依賴 一個(gè)實(shí)體(學(xué)生),那么(學(xué)生)實(shí)體必須至少有一個(gè)標(biāo)識(shí)符,而(選課)實(shí)體可以沒有自己的標(biāo)識(shí)符,沒有標(biāo)標(biāo)識(shí)符的實(shí)體可以用實(shí)體(學(xué)生)的標(biāo)識(shí)符作為自己 的標(biāo)識(shí)符。
          clip_image020

          遞 歸聯(lián)系:
          遞歸聯(lián)系是實(shí)體集內(nèi)部實(shí) 例之間的一種聯(lián)系,通常形象地稱為自反聯(lián)系。同一實(shí)體類型中不同實(shí)體集之間的聯(lián)系也稱為遞歸聯(lián)系。

          例 如:在職工實(shí)體集中存在很多的職工,這 些職工之間必須存在一種領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的關(guān)系。又如學(xué)生實(shí) 體信中的實(shí)體包含班長(zhǎng)子實(shí)體集與普通學(xué)生子實(shí)體集,這兩個(gè)子實(shí)體集之間的聯(lián)系就是 一種遞歸聯(lián)系。創(chuàng)建遞歸聯(lián)系時(shí),只需要單擊實(shí)體間建立聯(lián)系工 具從實(shí)體的一部分拖至該實(shí)體的別一個(gè)部分即可。如圖
          clip_image021

          五、 定義聯(lián)系的特性

          在 兩個(gè)實(shí)體間建立了聯(lián)系后,雙擊聯(lián)系線,打開聯(lián)系特性窗口,如圖所示。
          clip_image022

          六、 定義聯(lián)系的角色名
          在聯(lián)系的兩個(gè)方向上各自包含有一個(gè)分組框,其中的參數(shù)只對(duì)這個(gè)方向起作用,Role Name為角色名,描述該方向聯(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ù)。

          舉例,
          學(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”,如 圖所示
          clip_image023
          待 續(xù)。

          ------------------------------------------------------------------------------------------------------------

          ------------------------------------------------------------------------------------------------------------

          目標(biāo):
          本文主要介紹如何 定義實(shí)體的主、次標(biāo)識(shí)符。

          一、標(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í)符的定 義。如下圖所示

          clip_image024

          2
          ) 選擇第一行主標(biāo)識(shí)符,點(diǎn)擊屬性按鈕或雙 擊第一行主標(biāo)識(shí)符,彈出屬性對(duì)話框,如 圖所示
          clip_image025

          3)選擇"Attributes"選項(xiàng)卡,再點(diǎn)擊“Add Attributes”工具,彈出如圖所示窗口,選擇某個(gè)屬性作為標(biāo)識(shí)符就行了。
          clip_image026

          待續(xù)。
          posted on 2010-06-22 13:25 無(wú)聲 閱讀(294) 評(píng)論(0)  編輯  收藏 所屬分類: 職場(chǎng)生活
          主站蜘蛛池模板: 山东省| 邹城市| 大足县| 马公市| 治多县| 万源市| 彰化市| 淳安县| 犍为县| 荣昌县| 红河县| 江川县| 攀枝花市| 德令哈市| 临西县| 藁城市| 禄劝| 小金县| 襄城县| 潮安县| 成都市| 五寨县| 且末县| 裕民县| 平度市| 阿合奇县| 临桂县| 卢龙县| 婺源县| 曲松县| 锦州市| 深水埗区| 闽清县| 遂溪县| 吴堡县| 崇文区| 临猗县| 鄂伦春自治旗| 宁阳县| 寿宁县| 晋江市|