天天看點

資料倉庫專題18-資料模組化語言IDEF(轉載)

1引言

idef的含義是內建計算機輔助制造(integrated  computer-aidedmanufacturing,icam)definition。最初的idef方法是在美國空軍icam項目建立的,最初開 發3種方法:功能模組化(idef0)、資訊模組化(idef1)、動态模組化(idef2),後來,随着資訊系統的相繼開發,又開發出了下列idef族方法: 資料模組化(idef1x)、過程描述擷取方法(idef3)、面向對象的設計(oo設計)方法(idef4)、使用c++語言的oo設計方法 (idef4c++)、實體描述擷取方法(idef5)、設計理論(rationale)擷取方法(idef6)、人-系統互動設計方法(idef8)、 業務限制發現方法(idef9)、網絡設計方法(idef14)等。根據用途,可以把idef族方法分成兩類:

  第一類idef方法的作用是溝通系統內建人員之間的資訊交流。主要有:idef0、idef1、idef3、idef5。idef0通過對功能 的分解、功能之間關系的分類(如按照輸入、輸出、控制和機制分類)來描述系統功能。idef1用來描述企業運作過程中的重要資訊。idef3支援系統使用者 視圖的結構化描述。idef5用來采集事實和擷取知識。

  第二類idef方法的重點是系統開發過程中的設計部分。目前有兩種idef設計方法:idef1x和idef4。idef1x可以輔助語義資料模型的設計。idef4可以産生面向對象實作方法所需的高品質的設計産品。

2 idef1x方法

idef1x是idef系列方法中idef1的擴充版本,是在e-r(實體聯系)方法的原則基礎上,增加了一些規則,使語義更為豐富的一種方法。概 念模型設計常用idef1x方法,它就是把實體-聯系方法應用到語義資料模型中的一種語義模型化技術,用于建立系統資訊模型。idef1的最初形式是在 p.p.s (peter) chen的實體聯系模型化概念與p.p.(ted) codd的關系理論的基礎上發展起來的。idef1x是idef1的擴充版本,除在圖形表達和模型化過程方面的改進外,還對語義進行了增強和豐富。例如: 分類聯系 (categorization relationships)的引入。

idef1x是語義資料模型化技術,它具有以下的特性:

(1) 支援概念模式的開發。

idef1x文法支援概念模式開發所必需的語義結構,完善的idef1x模型具有所期望的一緻性、可擴充性和可變換性。

(2) idef1x是一種相關語言。

idef1x對于不同的語義概念都具有簡明的一緻結構。idef1x文法和語義不但比較易于為使用者掌握,而且還是強健而有效的。

(3) idef1x是便于講授的。

語義資料模型對許多idef1x使用者都是一個新概念。是以,語言的易教性是一個重要的考慮因素,設計idef1x語言是為了教給事務專業人員和系統分析人員使用,同樣也是教給資料管理者和資料庫設計者使用的。是以,它能用作不同學科研究小組的有效交流。

(4) idef1x已在應用中得到很好地檢驗和證明。

idef1x是基于前人多年的經驗發展而來的,它在美國空軍的一些工程和私營工業中充分地得到了檢驗和證明。

(5) idef1x是可自動化的。

idef1x圖能由一組圖形軟體包來生成。商品化的軟體還能支援idef1x模型的更改、分析和結構管理。

idef1x把實體-聯系方法應用到語義資料模型化中,idef1的最初形式是在p.p.s (peter) chen的實體聯系模型化概念與p.p.(ted) codd的關系理論的基礎上發展起來的。idef1x是idef1的擴充版本,除在圖形表達和模型化過程方面的改進外,還對語義進行了增強和豐富。例如: 分類聯系 (categorization relationships)的引入。

idef1x模型的基本結構和er模型基本類似,主要有以下元素:

(1)實體(如人、地點、概念、事件等)用矩形方框表示;

(2)實體之間的關系(聯系),用方框之間的連線表示;

(3)實體的屬性,用方框内的屬性名稱來表示。

關系是實體間的一種邏輯聯系,用動詞或動詞短語命名。實體之間的關系可以分為确定關系和不确定關系。确定關系又分為連接配接關系和分類關系。連接配接關系也 稱“父子關系”,它是兩個實體之間的聯系或連接配接,一個實體(子實體)依賴于另一個實體(父實體)。分類關系表示實體間的一種分層結構,一個實體(類屬實 體)表示這些事物的全集,其它(分類實體)則為其子集。不确定關系又稱“多對多關系”,兩個實體間互相存在着一對多的聯系,如圖1。

資料倉庫專題18-資料模組化語言IDEF(轉載)

圖1 不确定關系

連接配接關系又分為辨別關系和非辨別關系。判别一個關系是辨別關系還是非辨別關系隻要區分子實體的主鍵,看是否需要父實體的外鍵來共同作為主鍵,需要則 為辨別關系(identifying),如圖2;如果子實體自己的主鍵就可唯一辨別則它為非辨別關系(non-identifying),如圖3。在辨別 關系中的子實體稱為依賴實體,用圓角矩形表示;其它用方角矩形表示的就是獨立實體。

資料倉庫專題18-資料模組化語言IDEF(轉載)

圖2 辨別關系

資料倉庫專題18-資料模組化語言IDEF(轉載)

圖3 非辨別關系

分類關系根據表示分類的實體集是不完全分類還是完全分類的又可以分為不完全分類關系和完全分類關系。

很多的資料庫模組化工具都支援idef1x方法,如ca公司的erwin、sybase公司的powerdesigner以及微軟公司的visio 等。這些工具都能建立完整的idef1x概念模型并支援直接将模型轉換為實體資料庫的結構。圖4顯示的就是采用visio建立的學生選課的資料庫概念模 型。我們用這個執行個體來說明idef1x模組化方法的步驟。

資料倉庫專題18-資料模組化語言IDEF(轉載)

圖4 基于idef1x方法的學生選課概念模型