免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
UML數(shù)據(jù)建模 Profile : 數(shù)據(jù)倉庫

UML數(shù)據(jù)建模 Profile

數(shù)據(jù)庫技術(shù)

數(shù)據(jù)庫是按照一種易于利用程序進(jìn)行存儲和檢索的方式組織的數(shù)據(jù)集合。數(shù)據(jù)庫包含了存儲和檢索信息的方法。

這些信息以及組織這些信息的需求因應(yīng)用程序類型的不同而異。但是,關(guān)系數(shù)據(jù)庫可以滿足大部分的市場和常見需求。其他類型的數(shù)據(jù)庫,比如層次數(shù)據(jù)庫、面向?qū)ο髷?shù)據(jù)庫和超文本數(shù)據(jù)庫也在市場上占有一席之地。

關(guān)系數(shù)據(jù)庫實(shí)現(xiàn)了實(shí)體的一個非常簡單的原則,該原則可以看作是表,以及作為其他實(shí)體的引用的實(shí)體間的關(guān)系。關(guān)系數(shù)據(jù)庫支持的其他概念用于實(shí)現(xiàn)更輕松的訪問、速度和安全性。

關(guān)系數(shù)據(jù)庫建模系統(tǒng)(Relational Data Base Modeling System)技術(shù)是市場上最可靠的技術(shù)之一。其基本思想已有三十多年的歷史,第一個產(chǎn)品也于 25 年前就開發(fā)出來了。

 

標(biāo)準(zhǔn)化的呼聲越來越高,于是就產(chǎn)生了 SQL,它是用于數(shù)據(jù)定義和數(shù)據(jù)操縱的標(biāo)準(zhǔn)化語言。有三個版本的標(biāo)準(zhǔn),分別叫做 SQL-1、SQL-2 和 SQL-3。盡管早在 1992 年就已標(biāo)準(zhǔn)化,但 SQL-2 仍是目前主要供應(yīng)商最常使用的一種標(biāo)準(zhǔn)。他們利用自己的語言和結(jié)構(gòu)構(gòu)造擴(kuò)展了他們的實(shí)現(xiàn),以涵蓋市場需求。





回頁首


統(tǒng)一建模語言

統(tǒng)一建模語言與 SQL 相比算是一種比較新的技術(shù)。UML 在 1997 年被標(biāo)準(zhǔn)化,之后有一些小的修訂。但是 UML 的源頭可追溯到上世紀(jì) 80 年代以及 90 年代初,當(dāng)時不同的建模語言正試圖建立一種描述和設(shè)計更好的應(yīng)用程序的方法。

該語言最初針對軟件開發(fā),但是它有足夠的遠(yuǎn)見,所以不僅限于任何方向。UML 隱含了自適應(yīng)的概念,可用于描述軟件相關(guān)和不相關(guān)的專業(yè)領(lǐng)域。配置文件在不偏離該語言標(biāo)準(zhǔn)的情況下將 UML 定制到一個領(lǐng)域。

統(tǒng)一建模的力量在于將所有領(lǐng)域的專業(yè)知識合并在一個統(tǒng)一平臺中。不管使用哪種技術(shù),都可以利用相同的語言對它們進(jìn)行描述。





回頁首


UML 數(shù)據(jù)建模配置文件

關(guān)系數(shù)據(jù)庫管理系統(tǒng)是最常見的數(shù)據(jù)庫使用形式。IBM Rational 的 UML 數(shù)據(jù)建模配置文件提供了一種為滿足數(shù)據(jù)庫建模和數(shù)據(jù)庫設(shè)計的需要而使用和理解 UML 的簡單的方法。數(shù)據(jù)庫中使用的表和關(guān)系的概念在核心 UML 中被映射為類和關(guān)聯(lián)的概念。但是在數(shù)據(jù)庫建模中還有其他的構(gòu)造和約束(比如數(shù)據(jù)庫和模式)必須被可視化地建模。


圖 1 數(shù)據(jù)庫實(shí)現(xiàn)的多樣性

圖 1 顯示了數(shù)據(jù)庫部署的多樣性。以下這些復(fù)雜分配:表與視圖到模式、模式到數(shù)據(jù)庫、數(shù)據(jù)庫到表空間(tablespace)和節(jié)點(diǎn),把需要底層構(gòu)架的一種簡單表示的每個數(shù)據(jù)庫管理員(DBA)搞得暈頭轉(zhuǎn)向。因此計劃數(shù)據(jù)庫的分發(fā)和配置成為一項(xiàng)關(guān)鍵能力。

節(jié)點(diǎn)

數(shù)據(jù)庫所在的物理實(shí)體(計算機(jī))被表示為節(jié)點(diǎn)。該表示法是核心 UML 的一部分。

節(jié)點(diǎn)用于部署圖中,代表了軟件部署的物理配置。部署圖包括節(jié)點(diǎn)以及節(jié)點(diǎn)間的連接。這些連接代表了通信協(xié)議。


圖 2 部署圖

"DB2 Server Lexington"、"Oracle Server Cupertino"和"Oracle Sever Redmond"代表了節(jié)點(diǎn),XML、JDBC 和 OraNet代表了通信協(xié)議。所有的軟件和數(shù)據(jù)庫都必須部署在物理節(jié)點(diǎn)上。

部署圖對于數(shù)據(jù)管理員配置服務(wù)器和跟蹤問題很重要(首先開始部署,然后開始鉆研細(xì)節(jié))。

表空間

表空間是數(shù)據(jù)的存儲器,代表了一個數(shù)據(jù)庫系統(tǒng)。它是稱為 Database 的用戶透明物理結(jié)構(gòu)(在下文中描述)和節(jié)點(diǎn)之間的鏈接。表空間是 UML 數(shù)據(jù)建模配置文件中的原型化組件。

表空間可理解為物理存儲上的一個區(qū)域,其中該物理存儲由數(shù)據(jù)庫來維護(hù)。數(shù)據(jù)庫本身可以被分發(fā)給數(shù)個表空間,這些表空間由數(shù)據(jù)的大小、數(shù)據(jù)訪問需求和安全需求來決定。

表空間利用依賴關(guān)系在數(shù)據(jù)庫中關(guān)聯(lián),并且在數(shù)據(jù)庫實(shí)現(xiàn)的設(shè)計階段是可選的。如果沒有使用,將采用數(shù)據(jù)庫維護(hù)的默認(rèn)表空間。


圖 3 兩個表空間中的數(shù)據(jù)庫實(shí)現(xiàn)

表空間在數(shù)據(jù)庫實(shí)現(xiàn)中的價值在于計劃節(jié)點(diǎn)環(huán)境和建立節(jié)點(diǎn)需求。借助于組件圖的幫助,跟蹤部分?jǐn)?shù)據(jù)庫的問題變得更容易??衫脭?shù)據(jù)庫或表空間來實(shí)現(xiàn)表。在利用數(shù)據(jù)庫實(shí)現(xiàn)時,會使用默認(rèn)的表空間。

表空間作為物理存儲單元的基本結(jié)構(gòu)是由不同的數(shù)據(jù)庫供應(yīng)商實(shí)現(xiàn)的。他們在存儲需求和存儲內(nèi)部結(jié)構(gòu)上給予表空間或多或少的控制。

數(shù)據(jù)庫

數(shù)據(jù)庫是用于物理數(shù)據(jù)存儲以及對已存儲數(shù)據(jù)的受控訪問的系統(tǒng)。它是用于數(shù)據(jù)建模的最大的專門元素。數(shù)據(jù)庫是一個原型化組件,并且是 UML 數(shù)據(jù)建模配置文件的一部分。

數(shù)據(jù)庫定義了數(shù)據(jù)庫類型,以及用于數(shù)據(jù)建模的約束,比如數(shù)據(jù)類型、存儲過程、語法等。數(shù)據(jù)庫級別是對信息的基本訪問級別,可以在更高級別上進(jìn)行精化。

數(shù)據(jù)庫與組件圖中的其他組件結(jié)合使用,來定義應(yīng)用程序和數(shù)據(jù)庫之間的依賴關(guān)系。


圖 4 組件圖中的數(shù)據(jù)庫

數(shù)據(jù)庫組件對于設(shè)計者的價值在于計劃數(shù)據(jù)庫的可訪問性。對數(shù)據(jù)庫的模式分配定義了信息存儲的基本結(jié)構(gòu)。

數(shù)據(jù)庫管理員使用部署圖來找出應(yīng)用程序和數(shù)據(jù)庫之間的通信問題,并定義數(shù)據(jù)以及部署圖的物理部署。

模式

表的基本組織單元就是模式。模式是 UML 的組織單元,用包表示。模式是原型化的包,并且是 UML 數(shù)據(jù)建模配置文件的一部分。

模式是應(yīng)用程序使用的基本單元。它還是一個可以被授予特權(quán)的單元。模式在下一個細(xì)節(jié)級別上被指定給數(shù)據(jù)庫組件。

模式是在類圖中組織的。


圖 5 類圖解釋了模式依賴關(guān)系

模式應(yīng)該分配給數(shù)據(jù)庫,因?yàn)閿?shù)據(jù)庫定義了語言約束、數(shù)據(jù)類型、可用觸發(fā)器、可能的數(shù)據(jù)庫約束以及存儲過程類型。

模式不僅僅是一個組織單元;它還是一種安全機(jī)制。類圖允許數(shù)據(jù)庫管理員和分析人員找出基于應(yīng)用程序的包和數(shù)據(jù)之間的依賴關(guān)系,從而產(chǎn)生數(shù)據(jù)庫的使用模式。

表是關(guān)系數(shù)據(jù)庫的基本建模結(jié)構(gòu)。它代表了具有相同結(jié)構(gòu)的一組記錄,也被稱作行(row)。每條記錄都包含數(shù)據(jù)。有關(guān)表結(jié)構(gòu)的信息存儲在數(shù)據(jù)庫中。

表是一種原型化類,并且是UML數(shù)據(jù)建模配置文件的一部分。

表是在數(shù)據(jù)模型圖中表示的。


圖 6 數(shù)據(jù)模型圖代表了表和關(guān)系上的視圖

由于該圖只是模型的一個視圖,因此它可以代表面向表焦點(diǎn)的解決方案。這避免了由于構(gòu)建一個巨型的模型圖而導(dǎo)致無法找到您正在尋找的物理數(shù)據(jù)模型的范圍。

該數(shù)據(jù)模型圖具有表、視圖、表間的關(guān)系、視圖的依賴關(guān)系和存儲過程容器,精確地表示了數(shù)據(jù)詞典的一部分。數(shù)據(jù)管理員可以在更加可讀的圖形表示中找出數(shù)據(jù)庫的結(jié)構(gòu)。

在設(shè)計方面,利用圖形表示更容易調(diào)整數(shù)據(jù)庫,因?yàn)槟軌蚩吹奖淼膬?nèi)容以及文檔的每個細(xì)節(jié)。由于調(diào)整經(jīng)常是一個手動過程,所以表間的數(shù)據(jù)移動是一項(xiàng)必需的功能。只需要知道所有模型約束的知識就能實(shí)現(xiàn)該功能。

構(gòu)架師不關(guān)心數(shù)據(jù)模型圖的詳細(xì)信息,但是他可以檢查是否所有信息都表示在數(shù)據(jù)庫中。

視圖

視圖是一個虛擬表。它代表了具有相同結(jié)構(gòu)的一組記錄,這與表完全一樣,唯一的區(qū)別在于數(shù)據(jù)的物理資源在其他表中。

視圖是一個原型化類,并且是 UML 數(shù)據(jù)建模配置文件的一部分。

視圖是在數(shù)據(jù)模型圖中表示的。


圖 7 從兩個表派生而來的視圖

由于該圖只是模型的一個視圖,所以它可以代表面向視圖中焦點(diǎn)表中焦點(diǎn)的解決方案。

在視圖中對表進(jìn)行建模的價值不僅僅在于為數(shù)據(jù)庫定義數(shù)據(jù)結(jié)構(gòu),還在于數(shù)據(jù)的面向問題的分析(這不能在數(shù)據(jù)庫本身的知識庫中完成)。很容易發(fā)現(xiàn)數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)源之間的依賴關(guān)系。

列是關(guān)系數(shù)據(jù)庫內(nèi)部的基本組織元素。每個數(shù)據(jù)都必須存儲在表中的行的一列中。這些列作為原型化屬性是 UML 數(shù)據(jù)建模配置文件的一部分。

列添加了必須指定的數(shù)據(jù)類型標(biāo)簽值。另外,列數(shù)據(jù)可以作為工件物理存儲在數(shù)據(jù)庫中,或者利用表達(dá)式從其他列進(jìn)行計算。

列還具有其他標(biāo)簽值,他們指定了數(shù)據(jù)模型的細(xì)節(jié),比如 null 和唯一性。


圖 8 具有四列的表

列定義的價值在于數(shù)據(jù)結(jié)果的規(guī)格說明。另外,它還可用于不同數(shù)據(jù)源的集成以及實(shí)現(xiàn)互相之間相同點(diǎn)和不同點(diǎn)的發(fā)現(xiàn)。

鍵用于訪問表。主鍵唯一標(biāo)識了表中的一行,而外鍵則訪問其他相關(guān)表中的數(shù)據(jù)。

主鍵通常是內(nèi)容無關(guān)的,并且由數(shù)據(jù)庫自動生成,以方便數(shù)據(jù)的更新。

外鍵總是從與其他表的關(guān)系派生而來。

鍵是鍵約束(Key Constraints)的實(shí)現(xiàn)。鍵約束指定了鍵的內(nèi)容(哪些列生成了鍵),以及鍵的物理實(shí)現(xiàn)。為了輕松識別表中的鍵列,它們被用主鍵(<<PK>>)或外鍵(<<FK>>)原型標(biāo)記。在將外鍵用做主鍵的情況下,組合鍵被標(biāo)記為(<<PFK>>)原型。


圖 9 具有主鍵和外鍵的表

鍵代表數(shù)據(jù)的識別。因此它們是識別數(shù)據(jù)庫(所有鏈接都位于數(shù)據(jù)之間)的完整結(jié)構(gòu),以獲得純工件之外的信息所必需的。

索引

索引是支持快速數(shù)據(jù)訪問的物理數(shù)據(jù)結(jié)構(gòu)。它完全不改變數(shù)據(jù)的質(zhì)量。

索引在 UML 數(shù)據(jù)建模配置文件中被表示為操作上的原型。

索引和鍵都包含了幾個列。索引中的列必須有順序。

索引規(guī)格說明不但包含索引的列,還包含索引的類型(唯一性等)。


圖 10 有兩個索引的表

當(dāng)某些因素影響了應(yīng)用程序的性能時,索引的價值就被體現(xiàn)出來。索引是首先要注意的地方。

約束

約束是應(yīng)用于數(shù)據(jù)庫結(jié)構(gòu)的規(guī)則。該規(guī)則可應(yīng)用于列和/或表,并且可能被限制到一個模式或數(shù)據(jù)庫。

UML 數(shù)據(jù)建模配置文件中定義了幾種類型的約束,但是,它們作為原型化操作來實(shí)現(xiàn)。


圖11 有約束的表

定義的約束值位于規(guī)格說明的細(xì)節(jié)中。約束描述了數(shù)據(jù)庫的動態(tài)行為,而列和表則沒有描述這些內(nèi)容。

主鍵

主鍵約束定義了表的一個主鍵。每個表只能有一個主鍵。
主鍵約束在 UML 數(shù)據(jù)建模配置文件中使用了原型<<PK>>。

外鍵

外鍵是實(shí)現(xiàn)一個關(guān)系的約束。該約束總是在子表上實(shí)現(xiàn)的。
外鍵約束在 UML 數(shù)據(jù)建模配置文件中使用了原型<<FK>>。

觸發(fā)器

作為其他活動的結(jié)果自動被執(zhí)行的一個活動就是一個觸發(fā)器。它經(jīng)常是數(shù)據(jù)庫中數(shù)據(jù)修改的副產(chǎn)品,并且大部分情況下保證了數(shù)據(jù)庫的一致行為。
觸發(fā)器約束在 UML 數(shù)據(jù)建模配置文件中使用了原型<<Trigger>>。

值驗(yàn)證

列中的值可以利用觸發(fā)器驗(yàn)證。觸發(fā)器不但能與固定范圍的值進(jìn)行比較,還能與數(shù)據(jù)庫中的其他數(shù)據(jù)進(jìn)行比較。
值驗(yàn)證約束在 UML 數(shù)據(jù)建模配置文件中使用了原型<<Check>>。

唯一性

唯一性約束保證了指定列的所有值都是不同的。
唯一性約束在UML數(shù)據(jù)建模配置文件中使用了原型<<Unique>>。

關(guān)系

數(shù)據(jù)模型中表之間任意種類的依賴關(guān)系被稱作關(guān)系。

關(guān)系是原型化關(guān)聯(lián)和一組主鍵和外鍵的匯總。每個關(guān)系都位于一個父表和一個子表之間,其中父表必須定義一個主鍵。子鍵創(chuàng)建了一個外鍵列和外鍵約束,以滿足父表的要求。

non-identifying 關(guān)聯(lián)代表了兩個獨(dú)立表之間的關(guān)系。子表的外鍵不包含所有的主鍵列。


圖 12 Non-Identifying 關(guān)系

一個識別關(guān)系是兩個依賴表間的關(guān)系,其中如果沒有父表子表就不能存在。父表(本例中為 Person)的所有主鍵在子表(Account)中同時變成了主鍵列和外鍵列。


圖 13 識別關(guān)系

一個關(guān)系有兩個與之關(guān)聯(lián)的角色。它們定義了與其他表關(guān)聯(lián)的一個表的角色??梢岳貌煌巧趦蓚€表間指定一個以上的關(guān)系。

每個關(guān)系都創(chuàng)建了從父表到子表的遷移鍵。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
UML建模詳解(4)
對象-關(guān)系數(shù)據(jù)庫之間的映射
UML 圖表和數(shù)據(jù)庫建模指南
什么是統(tǒng)一架構(gòu)框架 (Unified Architecture Framework)?
如何進(jìn)行系統(tǒng)分析與設(shè)計
領(lǐng)域模型驅(qū)動設(shè)計(DDD)之模型提煉
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服