首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

PowerDesigner 教程(六):概念資料模型(CDM)關聯關係完整指南

     編輯:關於SqlServer

關聯關係基礎概念

關聯關係 是實體集之間或實體集內部實例之間的連接。對應實體與實體集,關聯也分關聯(實體間)與關聯集(實體集間),具有方向性。

四種基本關聯基數

類型符號說明範例
一對一1:1雙向唯一員工 ↔ 身分證
一對多1:N一方對多方部門 → 員工
多對一N:1多方對一方員工 → 部門
多對多M:N雙向多方學生 ↔ 課程
四種基本關聯圖示

建立關聯操作步驟

  1. CDM 工具列選擇 「實體間建立關聯」 工具(菱形箭頭圖示)
  2. 點選來源實體,按住滑鼠左鍵拖曳至目標實體並釋放
  3. 右鍵點擊畫布釋放工具
  4. 雙擊關聯線開啟屬性視窗調整細節
建立關聯操作示意 CDM工具列圖示

特殊關聯類型

標識關聯 / 非標識關聯

類型定義標識符規則範例
標識關聯子實體標識符包含父實體標識符子實體可**無自身標識符**,借用父實體標識符學生(父)→ 選課(子):選課 PK 包含學號
非標識關聯子實體有自身標識符,外鍵引用父實體雙方**皆有自身標識符**部門 → 員工:員工有員工編號 PK

判斷口訣:子實體「完全依賴」父實體存在 → 標識關聯;子實體「部分依賴」→ 非標識關聯。

標識關聯示意

遞迴關聯

實體集內部實例間的關聯,又稱自反關聯。

  • 範例:「員工」實體中「主管 → 下屬」關係
  • 範例:「學生」實體中「班長 → 普通學生」子集關係

建立方式:同一實體上從一處拖曳至另一處。

遞迴關聯示意

關聯屬性詳細設定

角色名

雙向各有一組參數,描述該方向語意:

  • 「學生 → 課程」方向角色名:修讀
  • 「課程 → 學生」方向角色名:招收

強制性

  • Mandatory = Yes:關聯線出現垂直短線(│),表示該方向**必須參與**(如:每個學生必須屬於一個系)
  • Mandatory = No:關聯線出現小圓圈(○),表示該方向**可選參與**(如:一個系可無學生)

基數

每個方向各有基數 最小,最大:

  • 「學生 → 系」:1,1(每學生屬於 1 個系,且只能 1 個)
  • 「系 → 學生」:0,N(一個系可 0~N 個學生)
基數設定示意 關聯屬性視窗

CDM 關聯建模最佳實務

  1. 先識別業務實體與自然鍵
  2. 判斷關聯類型(1:1/1:N/M:N/遞迴/標識)
  3. 設定角色名(動詞/動賓短語)
  4. 設定強制性與基數(訪談業務專家確認)
  5. 標識關聯時,子實體可不定義自身標識符
  6. 避免循環關聯,必要時引入中介實體

掌握 CDM 關聯建模,是從業務需求轉化為精準資料架構的關鍵技能。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved