ER模型轉關係模式
ER圖中的主要成分為實體型別和聯絡型別,轉換演算法將實體型別和聯絡型別轉換為關係模式。轉化為關係模式,主要確定3部分內容,關係模式的名稱,屬性,碼。
轉換分為兩個步驟:1.實體的轉換。2.關係模式的轉換;
1.實體的轉換
將ER圖中的實體逐一轉換為一個關係模式
關係模式
實體
名稱
實體名
屬性
實體的屬性
關係的碼
實體識別符號
2.聯絡的轉換
2.1 二元聯絡
1:1
(1).聯絡-->獨立的關係模式
關係模式
聯絡
名稱
聯絡名稱
屬性
該聯絡所關聯的兩個實體的碼和聯絡的屬性
關係的碼
取自任一方實體的碼
(2).將聯絡歸併到關聯的兩個實體的任一方
關係模式
實體
名稱
待歸併一方實體名稱
屬性
給待歸併的一方實體屬性集增加另一方實體的碼和該聯絡的屬性
關係的碼
歸併後的實體碼保持不變
1:m
(1).聯絡-->獨立的關係模式。
關係模式
聯絡
名稱
聯絡名
屬性
該聯絡所關聯的兩個實體的碼及聯絡的屬性
關係的碼
多方實體的碼
(2).將聯絡歸併到關聯的兩個實體的多方。
關係模式
實體
名稱
多方實體名
屬性
給待歸併的多方實體屬性集中增加一方實體的碼和該聯絡的屬性
關係的碼
歸併後的多方實體碼保持不變
m:n
(1).只能轉換成一個獨立的關係模式
關係模式
聯絡
名稱
聯絡的名稱
屬性
關係模式的屬性取該聯絡的兩個多方實體的碼及聯絡的屬性
關係的碼
兩個多方實體碼構成的屬性組;
2.2 一元聯絡
與二元聯絡轉換類似
2.3 三元聯絡
三元聯絡實體間聯絡分為:1:1:1 , 1:1:N , 1:M:N , M:N:P.
1:1:1:三個實體型別轉換成的三個關係模式。在任一一個關係模式中加入另外兩個關係模式的鍵(作為外來鍵)和聯絡型別的屬性。
1:1:N:在多端實體型別轉化的關係模式中,加入兩個1端實體型別的鍵(作為外來鍵)和聯絡的型別;
聯絡轉化為關係模式
1:M:N:聯絡轉化為關係模式,屬性是兩個多端實體型別的鍵(作為外來鍵)和聯絡型別的屬性。關鍵碼是兩個多端實體鍵的組合;
M:N:P:聯絡轉化為關係模式,屬性為三端實體型別的鍵(作為外來鍵)加上聯絡型別的屬性。三端實體鍵的組合為關鍵碼;
3.總結
ER圖轉關係模式主要還是確定實體型別和聯絡型別的轉化,根據聯絡元數的不同,實體間聯絡的不同,有不同的轉化方式。確定轉化之後關係模式的名稱,屬性,主鍵和外來鍵。
相關文章
- 關係模型模型
- 資料倉儲 - ER模型模型
- 線上製作資料庫ER模型資料庫模型
- Codd的ER模型12條規則模型
- 03.Django的MTV開發模式詳解和模型關係構建Django模式模型
- Laravel 之多對多的關係模型Laravel模型
- 設計資料庫關係模型資料庫模型
- Laravel Eloquent 的關係模型聯動Laravel模型
- [討論]資料庫設計,ER 中的實體關係如何確認?資料庫
- 關係運算子(轉)
- 關於三層架構中各層次的關係與實現模型 (轉)架構模型
- 設計模式-UML關係基礎設計模式
- Java類關係之代理(代理模式)Java模式
- 淺談框架與模式的關係框架模式
- 設計模式中類的關係設計模式
- 品牌關係管理(轉載)
- 互惠關係定律(轉載)
- 模型型別與加速潛力的關係模型型別
- Laravel 模型間關係設定分表方法Laravel模型
- standby database三種模式的相互關係Database模式
- 養老保險關係轉移
- Laravel 遠端一對多關係,中間表模型和關聯模型不能是同一個模型Laravel模型
- 資料庫模型設計——關係的實現資料庫模型
- Java設計模式-類之間的關係Java設計模式
- repo和Git的關係 [轉載]Git
- 論Asp與XML的關係(轉)XML
- 設計模式存在哪些關聯關係,六種關係傻傻分不清--- UML圖示詳解設計模式
- Flask框架從入門到精通之模型關係(十七)Flask框架模型
- 基於路徑的實體圖關係抽取模型模型
- 設計模式--UML關係與程式碼對照設計模式
- RMAN連線與oracle連線模式的關係Oracle模式
- 關係錶轉dooris 的java 指令碼Java指令碼
- 勞動關係及其法律特徵 (轉載)特徵
- 物件怎麼轉化為關係的物件
- 《SQL Story》摘錄五——關係真相 (轉)SQL
- TiDB從關係模型對映到key-value(圖)TiDB模型
- CPA二十--關聯方關係的披露要求(轉載)
- 關係