關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的優(yōu)點(diǎn)
1、靈活性和建庫(kù)的簡(jiǎn)單性
從軟件開(kāi)發(fā)的前景來(lái)看,用戶與關(guān)系數(shù)據(jù)庫(kù)編程之間的接口是靈活與友好的。目前在多數(shù)RDDMS產(chǎn)品中使用標(biāo)準(zhǔn)查詢語(yǔ)言SQL,允許用戶幾乎毫無(wú)差別地從一個(gè)產(chǎn)品到另一個(gè)產(chǎn)品存取信息。與關(guān)系數(shù)據(jù)庫(kù)接口的應(yīng)用軟件具有相似的程序訪問(wèn)機(jī)制,提供大量標(biāo)準(zhǔn)的數(shù)據(jù)存取方法。
2、結(jié)構(gòu)簡(jiǎn)單
從數(shù)據(jù)建模的前景看,關(guān)系數(shù)據(jù)庫(kù)具有相當(dāng)簡(jiǎn)單的結(jié)構(gòu)(元組),可為用戶或程序提供多個(gè)復(fù)雜的視圖。數(shù)據(jù)庫(kù)設(shè)計(jì)和規(guī)范化過(guò)程也簡(jiǎn)單易行和易于理解。由于關(guān)系數(shù)據(jù)庫(kù)的強(qiáng)有力的、多方面的功能,已經(jīng)有效地支持許多數(shù)據(jù)庫(kù)納應(yīng)用。
關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的缺點(diǎn)
1、數(shù)據(jù)類型表達(dá)能力差
從下一代應(yīng)用軟件的發(fā)展角度來(lái)看,關(guān)系數(shù)據(jù)庫(kù)的根本缺陷在于缺乏直接構(gòu)造與這些應(yīng)用有關(guān)的信息的類型表達(dá)能力,缺乏這種能力將產(chǎn)生以下有害的影響,例如:大多數(shù)RDBMS產(chǎn)品所采用的簡(jiǎn)單類型在重構(gòu)復(fù)雜數(shù)據(jù)的過(guò)程中將會(huì)出現(xiàn)性能問(wèn)題;數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中的額外復(fù)雜性;RDBMS產(chǎn)品和編程語(yǔ)言在數(shù)據(jù)類型方面的不協(xié)調(diào)。
大多數(shù)現(xiàn)代的RDBMS產(chǎn)品已成熟地用于商務(wù)和財(cái)政方面,而這些領(lǐng)域不要求很高和很復(fù)雜的數(shù)據(jù)模型。雖然這些產(chǎn)品多多少少克服了一些以上所述的缺點(diǎn),但從理論上看關(guān)系數(shù)據(jù)模型不直接支持復(fù)雜的數(shù)據(jù)類型,這是由于第一范式的要求,所有的數(shù)據(jù)必須轉(zhuǎn)換為簡(jiǎn)單的類型,如整數(shù)、實(shí)數(shù)、雙精度數(shù)和字符串。
對(duì)于工程應(yīng)用來(lái)說(shuō),這種不能支持復(fù)雜數(shù)據(jù)類型的典型結(jié)果就是需要額外地分解數(shù)據(jù)結(jié)構(gòu)工作,這些被分解的結(jié)構(gòu)不能直接表示應(yīng)用數(shù)據(jù),且從基本成分重構(gòu)時(shí)也非常繁瑣和費(fèi)時(shí)間。
2、復(fù)雜查詢功能差
關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的某些優(yōu)點(diǎn)也同時(shí)是它的不足之處。雖然SQL語(yǔ)言為數(shù)據(jù)查詢提供了很好的定義方法,但當(dāng)用于復(fù)雜信息的查詢時(shí)可能是非常繁瑣的。此外,在工程應(yīng)用時(shí)規(guī)范化的過(guò)程通常會(huì)產(chǎn)生大量的簡(jiǎn)單表。在這種環(huán)境下由存取信息產(chǎn)生的查詢必須處理大量的表和復(fù)雜的碼聯(lián)系以及連接運(yùn)算。
除非這些查詢以固定的例行程序方式提供,否則用戶就必須對(duì)SQL非常熟悉,以便適當(dāng)?shù)貫g覽數(shù)據(jù)庫(kù),查出所需的信息。然而,一旦查詢方式按固定例行程序方式進(jìn)行,用戶最終就進(jìn)行應(yīng)用軟件的常規(guī)維護(hù)。但應(yīng)用或人機(jī)接口軟件的變化又可能要求經(jīng)常修改例行的查詢,數(shù)據(jù)庫(kù)結(jié)構(gòu)的變化也可能導(dǎo)致例行查詢程序以及應(yīng)用或人機(jī)接口軟件的失效。由于這些原因,關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的維護(hù)開(kāi)銷可能是很大的。
由于關(guān)系數(shù)據(jù)庫(kù)不能提供足夠的構(gòu)造能力及性能方面的原因,在進(jìn)行較復(fù)雜的數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程中,不可能將許多工程問(wèn)題直接分解成一些簡(jiǎn)單的部分。由于缺乏直接指針存取方法,所以查詢有關(guān)的信息需要花費(fèi)時(shí)間。
3、支持長(zhǎng)事務(wù)能力差
由于RDBMS記錄鎖機(jī)制的顆粒度限制,對(duì)于支持多種記錄類型的大段數(shù)據(jù)的登記和檢查來(lái)說(shuō),簡(jiǎn)單的記錄級(jí)的鎖機(jī)制是不夠的,但基于鍵值關(guān)系的較復(fù)雜的鎖機(jī)制來(lái)說(shuō)卻很難推廣也難以實(shí)現(xiàn)。
4、環(huán)境應(yīng)變能力差
在要求系統(tǒng)頻繁改變的環(huán)境下,關(guān)系系統(tǒng)的成本高且修改困難。在工程應(yīng)用中支持“模式演變”(schemaevolution)的功能是很重要的,而RDBMS不容易支持這種功能。另外,關(guān)系數(shù)據(jù)庫(kù)和編程語(yǔ)言所提供的數(shù)據(jù)類型的不一致,使得從一個(gè)環(huán)境轉(zhuǎn)換到另一個(gè)環(huán)境時(shí)需要多至30%的附加代碼。
-
數(shù)據(jù)庫(kù)
+關(guān)注
關(guān)注
7文章
3794瀏覽量
64360
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論