自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Oracle的實(shí)體-Oracle關(guān)系模型

數(shù)據(jù)庫 Oracle
Oracle關(guān)系模型對一個(gè)數(shù)據(jù)庫管理員來說,是他為數(shù)據(jù)庫做好的前提,也是他使數(shù)據(jù)庫管理開始于一個(gè)合理的邏輯設(shè)計(jì)。

對一個(gè)數(shù)據(jù)庫管理員來說,所能為他的數(shù)據(jù)庫做的***的事情就是使之開始于一個(gè)合理的邏輯設(shè)計(jì)。不幸的很,數(shù)據(jù)庫設(shè)計(jì)常常被匆匆地完成以致于做錯(cuò),甚至在數(shù)據(jù)庫建立后重新返工。一個(gè)見聞廣博的和聰明的數(shù)據(jù)庫管理員知道對數(shù)據(jù)庫進(jìn)行很好的設(shè)計(jì),會(huì)大大提高數(shù)據(jù)庫的性能,而不是減損數(shù)據(jù)庫的性能,這種思想與流行的思想相反。事實(shí)上,直接投入物理設(shè)計(jì)或更深層的工作,只會(huì)帶來麻煩,不僅在性能方面,而且在數(shù)據(jù)完整性方面同樣如此。

如果一個(gè)數(shù)據(jù)庫運(yùn)行得很快,但收藏的數(shù)據(jù)卻是錯(cuò)誤的,這又有什么好處呢?而且,在數(shù)據(jù)庫系統(tǒng)的早期設(shè)計(jì)階段,創(chuàng)建一個(gè)合理的邏輯設(shè)計(jì),可以讓它接受以后創(chuàng)建和維護(hù)階段物理設(shè)計(jì)改變的考驗(yàn)??墒牵绻阍谶壿嬙O(shè)計(jì)階段走捷徑,你將不但可能需要重新設(shè)計(jì)邏輯模型,而且還可能需要重新構(gòu)造下面的物理模型。間接的代價(jià)(職員的工作時(shí)間、停工期等等)可能會(huì)是令人吃驚的。在進(jìn)行和建立數(shù)據(jù)庫之前,需要了解邏輯數(shù)據(jù)庫設(shè)計(jì)和標(biāo)準(zhǔn)化背后的基本原則。

在70年代中期,關(guān)系數(shù)據(jù)庫模型逐漸超越其他的數(shù)據(jù)模型占據(jù)主導(dǎo)地位,Oracle關(guān)系模型技術(shù)的風(fēng)靡使設(shè)計(jì)性能得到規(guī)范化。這其中***的是實(shí)體關(guān)系圖(Entity-RelationshipDiagram,ERD),它是P.P.Chen在1976年提出來的。這就是語義數(shù)據(jù)模型,因它試圖捕獲業(yè)務(wù)要素(業(yè)務(wù)本質(zhì))的語義或正確含義。因?yàn)殛P(guān)系模型本身幾乎就是一個(gè)依據(jù)語法的模型,是一種主要處理結(jié)構(gòu)的模型,實(shí)體關(guān)系圖(ERD)通常用于補(bǔ)充它。實(shí)際上,ERD建模必然先于關(guān)系建模。當(dāng)一個(gè)ERD結(jié)束時(shí),它或多或少地被直接映射到關(guān)系模型上,而后關(guān)系模型再被映射到它的物理模型上。

一個(gè)實(shí)體是一個(gè)業(yè)務(wù)元素,比如一個(gè)雇員或一個(gè)項(xiàng)目。一個(gè)關(guān)系就是兩個(gè)實(shí)體之間的聯(lián)系,比如工作于不同項(xiàng)目的雇員。屬性即組成實(shí)體的特征,比如一個(gè)雇員的工資或項(xiàng)目的預(yù)算。屬性被認(rèn)為是來自定義域中的取值或值的集合,它們所取的值是它們以后在關(guān)系模型中所用到的數(shù)據(jù)。它們是對一個(gè)事物全部抽取或部分抽取。ERD有許多畫法,只要你選擇一種并在整個(gè)使用過程中保持含義一致即可。

使用方框代表實(shí)體畫高級(jí)圖(那些不帶屬性的),將實(shí)體的名字列于方框的中心。低級(jí)圖的實(shí)體名稱列于方框中的上部,后面跟著屬性名稱。

在方框之間畫有箭頭,代表關(guān)系類型,有三種基本類型的關(guān)系:一對一、一對多以及多對多。一對一的關(guān)系根據(jù)一對一關(guān)系的類型,在線條的一端或兩端使用單箭頭。一對多使用雙箭頭,多對多在兩邊使用雙箭頭。當(dāng)一個(gè)實(shí)體的每一個(gè)值都和另一個(gè)實(shí)體的一個(gè)值并且只有一個(gè)值有關(guān)時(shí),就存在著一個(gè)純粹的一對一關(guān)系,反之亦然。這種類型的關(guān)系是很少見。

一種更為普遍的一對一關(guān)系是子類型關(guān)系,這是面向?qū)ο蠓治龊驮O(shè)計(jì)的基礎(chǔ)之一。在面向?qū)ο笙到y(tǒng)中,這被看作是類和子類(或者更簡單地說,類的級(jí)別)。換句話說,在更為普遍的實(shí)體中的屬性(長方形)上,將屬性(如長和寬)送給更為特定的實(shí)體(正方形)。因此,繼承的方向是從一般到特殊。子類型關(guān)系比純類型的一對一關(guān)系更為常見,但這兩種都不常用。通常,當(dāng)一個(gè)設(shè)計(jì)者偶然遇到一對一關(guān)系時(shí),他必須問下列問題:
■這兩個(gè)實(shí)體能結(jié)合嗎?
■它們對于自己的目標(biāo)是否是完全相同的?
■它們是否由于某些業(yè)務(wù)原因必須保持獨(dú)立和不同嗎?

通常情況下,一對一實(shí)體是可以合并的。在Oracle關(guān)系模型中,使用得最多的關(guān)系是一對多關(guān)系。在這種情況下,作為一名設(shè)計(jì)者,你所能為自己做的***的事情就是把自己從所有的多對多關(guān)系中解脫出來;并不是真正地除去它們,但你可以在它們原先位置上使用兩個(gè)或多個(gè)一對多關(guān)系來代替多對多關(guān)系。之所以要這樣做,是因?yàn)殛P(guān)系模型并不能實(shí)際處理一個(gè)多對多關(guān)系的直接實(shí)現(xiàn)。仔細(xì)想想,如果有許多從事多個(gè)項(xiàng)目的雇員,你怎樣來貯存外鍵?你不能在一列中貯存多個(gè)值,這樣違反了數(shù)據(jù)必須是原子的關(guān)系型要求,這意味著沒有一個(gè)單元能夠持有一條以上的信息。信息法則也說明:它是***范式(FirstNormalForm)的一個(gè)特殊情況。因此,為確保數(shù)據(jù)的原子性,每條多對多關(guān)系都被兩個(gè)或者多個(gè)一對多關(guān)系所取代。

你所要作的工作就是分割多對多關(guān)系。在關(guān)系模型中,被稱為職位的新實(shí)體通常被叫做交叉表,因?yàn)樗碇c其相關(guān)的兩個(gè)表中每一對實(shí)際值的交集,有時(shí)也稱為叫紐帶表( junction table)或連接表( join table),交叉表是這樣的一個(gè)實(shí)體:它不一定總是一些業(yè)務(wù)元素的真實(shí)抽象,但是它是解決和實(shí)現(xiàn)Oracle關(guān)系模型中多對多關(guān)系的基本方法。

【編輯推薦】

  1. Oracle索引的實(shí)際操作步驟
  2. Oracle數(shù)據(jù)庫的學(xué)習(xí)方法介紹
  3. Oracle數(shù)據(jù)庫的經(jīng)驗(yàn)總結(jié)
  4. Oracle入門的經(jīng)驗(yàn)淺談
  5. Oracle強(qiáng)制訪問與控制功能的解析
責(zé)任編輯:王婧瑤 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-07-25 14:08:49

ODP.NETOracle實(shí)體數(shù)據(jù)模型

2010-04-15 12:53:42

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

2010-04-20 13:59:30

Oracle管理規(guī)則

2009-11-04 11:03:08

Oracle用戶表空間

2010-06-17 12:59:07

Oracle

2010-04-19 13:50:27

Oracle調(diào)整

2010-04-20 13:54:24

Oracle強(qiáng)制訪問

2010-05-04 10:05:50

Oracle 動(dòng)態(tài)視圖

2010-04-15 13:10:09

Oracle系統(tǒng)結(jié)構(gòu)

2011-06-27 16:26:39

Oracle優(yōu)化器RBOCBO

2010-10-27 15:11:52

oracle遞歸查詢

2016-12-15 12:24:03

Oracle數(shù)據(jù)庫密碼

2010-04-14 14:30:35

Oracle ASM

2010-10-26 17:17:37

創(chuàng)建ORACLE索引

2010-04-02 09:07:26

Oracle sqlp

2012-03-28 13:54:29

OracleOracle Linu

2010-04-26 10:32:55

Oracle 10g

2010-05-10 11:50:33

Oracle數(shù)據(jù)庫字符

2010-07-21 10:01:25

Oracle

2010-04-07 10:51:19

Oracle客戶
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)