日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PowerDesigner 教程篇 - 概念数据模型

發布時間:2025/5/22 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PowerDesigner 教程篇 - 概念数据模型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、概念數據模型概述

??? 概念數據模型也稱信息模型,它以實體-聯系(Entity-RelationShip,簡稱E-R)理論為基礎,并對這一理論進行了擴充。它從用戶的觀點出發對信息進行建模,主要用于數據庫的概念級設計。

??? 通常人們先將現實世界抽象為概念世界,然后再將概念世界轉為機器世界。換句話說,就是先將現實世界中的客觀對象抽象為實體(Entity)和聯系 (Relationship),它并不依賴于具體的計算機系統或某個DBMS系統,這種模型就是我們所說的CDM;然后再將CDM轉換為計算機上某個 DBMS所支持的數據模型,這樣的模型就是物理數據模型,即PDM。

??? CDM是一組嚴格定義的模型元素的集合,這些模型元素精確地描述了系統的靜態特性、動態特性以及完整性約束條件等,其中包括了數據結構、數據操作和完整性約束三部分。
1)數據結構表達為實體和屬性;
2)數據操作表達為實體中的記錄的插入、刪除、修改、查詢等操作;
3)完整性約束表達為數據的自身完整性約束(如數據類型、檢查、規則等)和數據間的參照完整性約束(如聯系、繼承聯系等);

二、實體、屬性及標識符的定義

??? 實體(Entity),也稱為實例,對應現實世界中可區別于其他對象的“事件”或“事物”。例如,學校中的每個學生,醫院中的每個手術。每個實體都有用來描述實體特征的一組性質,稱之為屬性,一個實體由若干個屬性來描述。如學生實體可由學號、姓名、性別、出生年月、所在系別、入學年份等屬性組成。

??? 實體集(Entity Set)是具體相同類型及相同性質實體的集合。例如學校所有學生的集合可定義為“學生”實體集,“學生”實體集中的每個實體均具有學號、姓名、性別、出生年月、所在系別、入學年份等性質。

??? 實體類型(Entity Type)是實體集中每個實體所具有的共同性質的集合,例如“患者”實體類型為:患者{門診號,姓名,性別,年齡,身份證號.............}。實體是實體類型的一個實例,在含義明確的情況下,實體、實體類型通常互換使用。實體類型中的每個實體包含唯一標識它的一個或一組屬性,這些屬性稱為實體類型的標識符(Identifier),如“學號”是學生實體類型的標識符,“姓名”、“出生日期”、“信址”共同組成“公民”實體類型的標識符。有些實體類型可以有幾組屬性充當標識符,選定其中一組屬性作為實體類型的主標識符,其他的作為次標識符。

三、實體、屬性及標識符的表達


四、新建概念數據模型

1)選擇File-->New,彈出如圖所示對話框,選擇CDM模型(即概念數據模型)建立模型。


2)完成概念數據模型的創建。以下圖示,對當前的工作空間進行簡單介紹。(以后再更詳細說明)


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


五、定義實體

1、創建實體
1)在CDM的圖形窗口中,單擊工具選項版上的Entity工具,再單擊圖形窗口的空白處,在單擊的位置就出現一個實體符號。點擊Pointer工具或右擊鼠標,釋放Entitiy工具。如圖所示

2)雙擊剛創建的實體符號,打開下列圖標窗口,在此窗口“General”標簽中可以輸入實體的名稱、代碼、描述等信息。


Name:是用來在模型中標識一個實體,一般用于模型在界面中的顯示(這個可以通過更改選項設置進行改變)。在一個模型當中,實體的名字不能重復。

Code:在模型轉化時一般作為對象的物理名稱,比如把實體屬性的Code轉化為數據庫中的列名,當然我們現在不必為了這個實體將來叫什么而費神,一般采取與Name一致即可。

Generate:默認是選擇狀態,如果取消,則在轉化為其他模型時,會忽略這個實體。

2、添加實體屬性
1)在上述窗口的“Attribute”選項標簽上可以添加屬性,如下圖所示。


注意:
數據項中的“添加屬性”和“重用已有數據項”這兩項功能與模型中Data Item的Unique code 和Allow reuse選項有關。
P列表示該屬性是否為主標識符;D列表示該屬性是否在圖形窗口中顯示;M列表示該屬性是否為強制的,即該列是否為空值。

如果一個實體屬性為強制的,那么, 這個屬性在每條記錄中都必須被賦值,不能為空。

按“Crtl+U”呼出“定制列過濾器”的窗口,可以根據自己的喜好和實際需要選擇那些列出現在窗口中,那些隱藏。使用快捷鍵 “Crtl+E”可以允許或者禁止當前過濾器。

2)在上圖所示窗口中,點擊插入屬性按鈕,彈出屬性對話框,如下圖所示。

3、定義屬性的檢查約束

1)定義屬性的標準檢查
標準檢查約束是一組確保屬性有效的表達式。在實體屬性的特性窗口,打開如圖所示的檢查選項卡。


在這個選項卡可以定義屬性的標準檢查約束,窗口中每項的參數的含義,如下
參數說明
Minimum屬性可接受的最小數
Maximum?屬性可接受的最大數
Default屬性不賦值時,系統提供的默認值
Unit單位,如公里、噸、元
Format屬性的數據顯示格式
Lowercase屬性的賦值全部變為小寫字母
Uppercase屬性的賦值全部變為大寫字母
Cannot modify該屬性一旦賦值不能再修改
List Of Values屬性賦值列表,除列表中的值,不能有其他的值
Label屬性列表值的標簽

2)定義屬性的附加檢查
當Standard checks 或Rules 不能滿足檢查的要求時,可以在Additional Checks選項卡的Server子頁上,通過SQL語句中使用%MINMAX%、%LISTVAL%、%RULES%、%UPPER%、%LOWER% 幾個變量來定義Standard和Rule,如圖所示


%MINMAX%、%LISTVAL%、%UPPER%、%LOWER%
在Standard Check中定義的Minimum 和Maximum、List values 、uppervalues、lowervalues

%RULES%
在Rules特性窗口Expression選項卡中定義的有效性規則表達式

六、標識符

??? 標識符是實體中一個或多個屬性的集合,可用來唯一標識實體中的一個實例。要強調的是,CDM中的標識符等價于PDM中的主鍵或候選鍵。每個實體都必須至少有一個標識符。如果實體只有一個標識符,則它為實體的主標識符。如果實體有多個標識符,則其中一個被指定為主標識符,其余的標識符就是次標識符了。

1、定義主、次標識符
1)選擇某個實體雙擊彈出實體的屬性對話框。在Identifiers選項卡上可以進行實體標識符的定義。如下圖所示



2)選擇第一行“主標識符”,點擊屬性按鈕或雙擊第一行“主標識符”,彈出屬性對話框,如圖所示

3)選擇"Attributes"選項卡,再點擊“Add Attributes”工具,彈出如圖所示窗口,選擇某個屬性作為標識符就行了。


七、數據項

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

1、新建數據項
1)使用“Model”---> Data Items 菜單,在打開的窗口中顯示已有的數據項的列表,點擊 “Add a Row”按鈕,創建一個新數據項,如圖所示


2)當然您可以繼續設置具體數據項的Code、DataType、Length等等信息。這里就不再詳細說明了。

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


3、在實體中添加數據項
1)雙擊一個實體符號,打開該實體的屬性窗口。
2)單擊Attributes選項卡,打開如下圖所示窗口


注意:
Add a DataItem 與 Reuse a DataItem的區別在于
Add a DataItem 情況下,選擇一個已經存在的數據項,系統會自動復制所選擇的數據項。如果您設置了UniqueCode選項,那系統在復制過程中,新數據項的Code會自動生成一個唯一的號碼,否則與所選擇的數據項完全一致。


Reuse a DataItem情況下,只引用不新增,就是引用那些已經存在的數據項,作為新實體的數據項。

八、 聯系

??? 聯系(Relationship)是指實體集這間或實體集內部實例之間的連接。

??? 實體之間可以通過聯系來相互關聯。與實體和實體集對應,聯系也可以分為聯系和聯系集,聯系集是實體集之間的聯系,聯系是實體之間的聯系,聯系是具有方向性的。聯系和聯系集在含義明確的情況之下均可稱為聯系。

??? 按照實體類型中實例之間的數量對應關系,通常可將聯系分為4類,即一對一(ONE?TO ONE)聯系、一對多(ONE TO MANY)聯系、多對一(MANY TO ONE)聯系和多對多聯系(MANY TO MANY)。

1、?建立聯系
在CDM工具選項板中除了公共的工具外,還包括如下圖所示的其它對象產生工具。

?在圖形窗口中創建兩個實體后,單擊“實體間建立聯系”工具,單擊一個實體,在按下鼠標左鍵的同時把光標拖至別一個實體上并釋放鼠標左鍵,這樣就在兩個實體間創建了聯系,右鍵單擊圖形窗口,釋放Relationship工具。如下圖所示

<!--[if !vml]--><!--[endif]-->

在兩個實體間建立了聯系后,雙擊聯系線,打開聯系特性窗口,如圖所示。

2、?四種基本的聯系
即一對一(ONE?TO ONE)聯系、一對多(ONE TO MANY)聯系、多對一(MANY TO ONE)聯系和多對多聯系(MANY TO MANY)。如圖所示

3、?其他幾類特殊聯系

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

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


換句話來理解,在標定聯系中,一個實體(選課)依賴 一個實體(學生),那么(學生)實體必須至少有一個標識符,而(選課)實體可以沒有自己的標識符,沒有標標識符的實體可以用實體(學生)的標識符作為自己的標識符。


?遞歸聯系:
遞歸聯系是實體集內部實例之間的一種聯系,通常形象地稱為自反聯系。同一實體類型中不同實體集之間的聯系也稱為遞歸聯系。

例如:在“職工”實體集中存在很多的職工,這些職工之間必須存在一種領導與被領導的關系。又如“學生”實體信中的實體包含“班長”子實體集與“普通學生”子實體集,這兩個子實體集之間的聯系就是一種遞歸聯系。創建遞歸聯系時,只需要單擊“實體間建立聯系”工具從實體的一部分拖至該實體的別一個部分即可。如圖


3、 定義聯系的特性

雙擊關系(Relationship)的符號,進入關系的屬性頁,在Detail項目中,我們可以對兩個實體的關系進行詳細的定義,如下圖:


  • General 項目

    一般最好為關系取一個貼切的名字,本例的業務關系描述如下:一個部門有多個員工,我們使用“Has”作為這個關系的名字。

    同樣的我們也可以描述為:多個員工屬于一個部門,可不可以使用“Belong to”作為關系名字呢?一般不推薦這樣做,在概念圖中有一個約定,關系的名字采用從“1,n”中“1”所在的方向向“n”所在一方進行讀取的語義。本例即 “1”在部門一方,從部門一方向雇員一方讀取語義,即:部門有(Has)多個員工。

  • Detail 項目
  • 假定對于實體部門(Department)和雇員(Employee),具有如下關系:

    • 一個部門可以有多個雇員,新成立的部門也可以暫時沒有任何雇員;
    • 一個雇員必須屬于一個部門,并且同時只能屬于一個部門;

    根據以上關系,我們修改屬性頁,部門-雇員的方向采用默認的0,n,雇員-部門的方向修改為強制約束(Mandatory),或者從下拉框中選擇“1,1”,如下圖:


    最后定義完成的關系(Relationship)在概念圖中表示如下:


    注:在Power Designer中,關系符號靠近實體端的一個“橫線”代表強制性約束,“空心圓圈”代表無強制約束,即這一方可以無對象關聯;“非分岔”線代表為“1” 的關系,“分岔”線代表“多”的關系。以上四個符號共可以組合出16種關系(包含反向)。其中“多對多”的關系一般通過給出一個中間實體來進行分解,所以在許多概念圖中,是看不到實際的“多對多”的關系存在的。

    另外在關系的屬性中還有兩項:Dominant role 和Dependent,可以表示更復雜的關系,會在后面講到。

    使用依賴關系(Dependent)

    還是使用上面的例子,我們假定這樣的業務描述:雇員享有假期,雇員每次休假,需要記錄雇員休假的起始日與結束日,假期以天為單位,一個雇員和一個開始日唯一確定一個假期。根據這個業務描述,我們知道,對于假期而言,其必須依存于實體“Employee”而存在,即一個休假,必定有一個主體雇員。我們在上一個模型的基礎之上,添加一個實體,名稱是“Holiday”,定義假期的屬性開始日與結束日,這里并不需要重復定義一個雇員編號,而是替代的,使用依賴關系,來表示實體“Holiday”依賴于實體“Employee”,關系定義如下圖:


     

    在實體“Holiday”中,我們需要設置開始日為主鍵標識符,開始日與其依賴實體中的雇員編號一起作為實體“Holiday”的標識符,用來唯一確定一個假期。這種依賴關系在概念圖中表現如下:

     

    從途中可以看出,在實體“Holiday”一端多了一個朝外的三角▲箭頭,這個含義就是這個實體“的依賴于三角箭頭所指的另外一個實體,在轉化出來的物理模型當中,實體“Employee”的empNo,在Holiday實體中不僅會作為一個外鍵,還同時會作為主鍵出現(與startData一起作為復合主鍵)。
    使用Dominant role

    當兩個實體之間的關系是1..1 時(盡管這種關系比較少見,常見于面向對象的設計方法當中,依賴實體中的主鍵通常與外健重合),你需要明確指定這兩個實體,哪一個是父實體,哪一個是依賴實體,否則,系統在由概念模型轉化為物理模型時,將不能確定需要在哪一端生成外鍵,這時就需要用到“Dominant role”選項,這個選項只有在1..1 的關系中才允許進行設置。我們假定這樣的業務描述,企業中的部分雇員擁有一個系統帳號,并且是唯一的一個帳號,這些雇員需要保存一些額外的信息,比如帳號名稱、密碼等等。我們添加了一個新的實體“User”,其與雇員之間為1..1 的關系,由于一個用戶帳號必定屬于一個雇員,而一個雇員則可能沒有用戶帳號,所以我們定義實體“Employee”支配實體“User”。同時,由于 “User”依賴于“Employee”而存在,所以再定義一個由前者到后者的依賴關系,如下圖:

     


    Dominant role 選項中,箭頭所指的實體為被支配的實體,即作為依賴實體。在模型圖中,支配實體的一方會出現一個用圓括號括起來的大寫字母“D”。


     

    轉化出來的物理模型中,表User中,empNo作為單獨的主鍵,同時也是引用Employee表的一個外鍵。

    處理多對多(n..n)的關系

    在概念模型中,一般很少看見兩個實體之間是直接的n..n 的關系,一般這種情況下我們會增加一個中間實體,在Power Designer中,提供了一個專門的符號來對應,叫做“Association”。請考慮以下的情形:

    企業中擁有帳號的雇員在系統中具有不同的操作權限,這通過用戶角色來進行管理,權限已經分配給了多個不同的角色,一個用戶帳號至少屬于一個角色,并且可能會同時屬于多個角色,一個角色可以包含0個或多個用戶帳號。根據以上描述,我們添加一個實體“Role”,它與實體“User”之間是n..n 的關系,為了表達這種關系,我們增加一個“Association”并分別使用“Association Link”與其他兩個實體建立關系,表示如下:


    使用一個普通的實體,合理定義關系,并選擇“Dependent”選項,是可以替代“Association”的,但使用 “Association”更方便、直觀,使模型更容易理解,并可以減少因不謹慎而可能導致的錯誤。

    轉載于:https://www.cnblogs.com/kingjiong/archive/2010/04/01/1701880.html

    總結

    以上是生活随笔為你收集整理的PowerDesigner 教程篇 - 概念数据模型的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 把高贵美妇调教成玩物 | 国产超级av | 少妇的激情| 欧美一级在线视频 | 欧美日韩69 | 日韩毛片基地 | 国产偷拍一区二区三区 | 欧美一区二区三区粗大 | 美女十八毛片 | 日本www在线播放 | 精品久久久无码中文字幕 | 色偷偷视频 | 毛片视频大全 | 粉嫩av懂色av蜜臀av分享 | 色眯眯影院 | 91亚洲精品乱码久久久久久蜜桃 | 国产主播毛片 | 短篇山村男同肉耽h | 五月婷婷激情在线 | 亚洲a色| 五月婷婷国产 | 久久精品6 | 国产乱淫av片 | 清纯粉嫩极品夜夜嗨av | 精品免费久久久 | av影库| 免费啪 | 神马午夜嘿嘿 | 女裸全身无奶罩内裤内衣内裤 | av最新网址 | 18性xxxxx性猛交 | 夜色资源网 | 久久久情| 国产精品videos| 免费成人美女女电影 | 国产一级片免费播放 | 日本a√在线观看 | 国产又粗又猛又黄视频 | 久久9966| 妖精视频在线观看 | 日韩无套无码精品 | 中日韩在线播放 | 91精品综合久久久久久五月天 | 性做久久 | 91精品一区二区三区综合在线爱 | a v免费视频 | 欧美大色一区 | 国产无套精品一区二区三区 | 日韩精品一区中文字幕 | 狠狠操夜夜爽 | 中文字幕视频观看 | 精品在线免费视频 | 伊人院 | 激情超碰在线 | 亚洲男同视频 | 午夜伦情 | 不卡视频国产 | 亚洲欧洲国产综合 | 在线观看福利视频 | 欧美日韩视频 | 日本无翼乌邪恶大全彩h | 久久福利社 | 国产最新视频 | 久久久久久9 | 欧美一级全黄 | 美女扒开腿让男生桶 | 1024亚洲| 97在线免费观看视频 | 狠狠操在线播放 | 四虎影成人精品a片 | 久久视频在线观看 | 免费成人黄色网址 | 成人高清免费 | 四虎影视免费观看 | 秋霞精品一区二区三区 | 色呦呦在线 | 少妇一级淫片免费放 | 欧美日韩中文一区 | 国产亚洲精品av | 中文字幕在线一区二区三区 | 国产免费一级视频 | 少妇无码一区二区三区 | 九九色精品 | 亚洲乱码国产乱码精品精剪 | 韩国三级做爰高潮 | 亚洲双插| 亚洲一区欧美激情 | 国产成人欧美一区二区三区91 | 三年中文在线观看中文版 | 亚洲欧美综合久久 | 亚洲v在线 | 少妇人妻偷人精品视频蜜桃 | 欧美在线观看一区 | 精品99在线 | 午夜精品久久久久久久久久 | 又黄又爽的视频在线观看 | 成人啪啪18免费游戏链接 | www日韩精品| 国产成人精品免高潮费视频 |