国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

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

開(kāi)通VIP
UML數(shù)據(jù)建模 Profile : 數(shù)據(jù)倉(cāng)庫(kù)

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

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

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

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

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

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

 

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





回頁(yè)首


統(tǒng)一建模語(yǔ)言

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

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

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





回頁(yè)首


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

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


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

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

節(jié)點(diǎn)

數(shù)據(jù)庫(kù)所在的物理實(shí)體(計(jì)算機(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ù)庫(kù)都必須部署在物理節(jié)點(diǎn)上。

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

表空間

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

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

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


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

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

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

數(shù)據(jù)庫(kù)

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

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

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


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

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

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

模式

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

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

模式是在類圖中組織的。


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

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

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

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

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

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


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

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

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

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

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

視圖

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

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

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


圖 7 從兩個(gè)表派生而來(lái)的視圖

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

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

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

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

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


圖 8 具有四列的表

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

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

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

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

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


圖 9 具有主鍵和外鍵的表

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

索引

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

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

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

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


圖 10 有兩個(gè)索引的表

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

約束

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

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


圖11 有約束的表

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

主鍵

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

外鍵

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

觸發(fā)器

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

值驗(yàn)證

列中的值可以利用觸發(fā)器驗(yàn)證。觸發(fā)器不但能與固定范圍的值進(jìn)行比較,還能與數(shù)據(jù)庫(kù)中的其他數(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)和一組主鍵和外鍵的匯總。每個(gè)關(guān)系都位于一個(gè)父表和一個(gè)子表之間,其中父表必須定義一個(gè)主鍵。子鍵創(chuàng)建了一個(gè)外鍵列和外鍵約束,以滿足父表的要求。

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


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

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


圖 13 識(shí)別關(guān)系

一個(gè)關(guān)系有兩個(gè)與之關(guān)聯(lián)的角色。它們定義了與其他表關(guān)聯(lián)的一個(gè)表的角色。可以利用不同角色在兩個(gè)表間指定一個(gè)以上的關(guān)系。

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

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

聯(lián)系客服