新年開篇說明: 很感謝大伙對此系列教程的關(guān)注,,因為工作的很多原因,一 直沒時間靜下心來整理新的教程,,擔(dān)心沒有自己沒有理解清楚寫出來誤導(dǎo)大伙,,故一拖再一拖,幾年過去了,,最近又收到很多網(wǎng)友的郵件要求繼續(xù)寫下去,,沒能一一 回復(fù),還望諒解,。以后每周抽出時間寫一篇,,篇幅長一點,僅此答謝廣大關(guān)注的網(wǎng)友,。
目標(biāo):本文主要介紹繼承聯(lián)系定義及使用,。
一、 定義 實體之間除了我們之前所講的聯(lián)系外,,還存在分類關(guān)系,、繼承關(guān)系。在CDM中我們統(tǒng)稱分類關(guān)系、繼承關(guān)系為繼承聯(lián)系。
通過特殊化或概化方法產(chǎn)生的實體類型之間的聯(lián)系稱為繼承聯(lián)系,。 特殊化:在實體集內(nèi)部分組并把這些分組存放在不同的實體類型中的過程稱為實體集的特殊化,。 概化:從多個實體集的公共屬性中抽象出一個公共實體類型的過程為實體集的概化。
繼承聯(lián)系的一端是具有普遍性的實體集,,為父實體集,另一端連接的是具體特殊的一個或多個實體集,為子實體集,。 例如:“銀行賬戶”是“借記卡賬戶”與“信用卡賬戶”的父實體,相反“借記卡賬戶”與“信用卡賬戶”是“銀行賬戶”的子實體,。
另外在繼承聯(lián)系中,,還可以分為互斥性繼承聯(lián)系和非互斥性繼承聯(lián)系。 互斥性繼承聯(lián)系:父實體中的一個實例只能在一個子實體中,。例如:“帳戶”主實體下的“個人賬戶”與“公司賬戶”兩個子實體之間的聯(lián)系是互斥的,。 非互斥性繼承聯(lián)系:父實體中的一個實例可以在多個子實體中。例如:“職工”父實體下的“干部”與“教師”子實體之間屬于非互斥繼承聯(lián)系,教師有可能也是干部,,干部有可能也是教師,。 這里我就不再圖示了,望大伙要認(rèn)真理解概念,。
二,、 創(chuàng)建繼承聯(lián)系
注意:PowerDesigner 15 的版本,工具欄上的Inheritance圖標(biāo)默認(rèn)是禁用的,。打開方法如下: Tools->Model Options->Model Settings->Notation 設(shè)為“E/R+Merise”就行了,。 圖示 1
圖示 2 在CDM中創(chuàng)建兩個實體,A與B,單擊工具選項板上的繼承工具連接A與B實體,。圖示1 A是父實體,,B是子實體。再創(chuàng)建實體C以同樣的方法連接到C實體上,。如圖2所示,,表示B、C與A之間存在繼承聯(lián)系,。
三,、 定義互斥性繼承聯(lián)系 雙擊繼承聯(lián)系的半圓符號,打開繼承聯(lián)系的屬性窗口,。如圖3所示
圖示 3
Mutually exclusive children 表示父實體中的一條記錄只能在一個子實體上出現(xiàn),,子實體之間存在互斥的關(guān)系。 Complete 表示父實體的所有實例必須是子實體之一,,例如:“人”實體有“男人”和“女人”兩個子實體,,每個“人”實體的實例可以是“男人”或“女人”。
四,、 定義繼承聯(lián)系的生成模式
圖示 4 定義由CDM生成PDM或者生成OOM中的class圖的生成模式,。 說明: Generate parent:表示繼承聯(lián)系中的父實體會生成PDM中的表或Class圖中的類。 Generate children: 1) 選擇Inherit all attributes 表示繼承聯(lián)系中的子實體生成PDM中的表或Class圖中的類,,并且繼承父實體中的所有實體屬性 2) 選擇Inherit only primary attributes,表示繼承聯(lián)系中子實體生成PDM中的表或Class圖中的類,,但只繼承父實體中的標(biāo)識符屬性。
五,、 繼承聯(lián)系狀態(tài)表 圖示 5 |
|