新聞中心
關(guān)系型數(shù)據(jù)庫,是指采用了“關(guān)系模型”來組織數(shù)據(jù)的數(shù)據(jù)庫,它以“行和列”的形式存儲(chǔ)數(shù)據(jù),以便于用戶理解。關(guān)系型數(shù)據(jù)庫一系列的行和列被稱為表,一組表組成了數(shù)據(jù)庫。用戶通過查詢來檢索數(shù)據(jù)庫中的數(shù)據(jù),而查詢是一個(gè)用于限定數(shù)據(jù)庫中某些區(qū)域的執(zhí)行代碼。關(guān)系模型可以簡單理解為“二維表格模型”,而一個(gè)關(guān)系型數(shù)據(jù)庫,就是由二維表及其之間的關(guān)系組成的一個(gè)數(shù)據(jù)組織。
一、 關(guān)系型數(shù)據(jù)庫的特點(diǎn)
1、存儲(chǔ)方式:傳統(tǒng)的關(guān)系型數(shù)據(jù)庫采用表格的儲(chǔ)存方式,數(shù)據(jù)以行和列的方式進(jìn)行存儲(chǔ),讀取和查詢都十分方便。
2、存儲(chǔ)結(jié)構(gòu):關(guān)系型數(shù)據(jù)庫按照結(jié)構(gòu)化的方法存儲(chǔ)數(shù)據(jù),每個(gè)數(shù)據(jù)表都必須對(duì)各個(gè)字段定義好(也就是先定義好表的結(jié)構(gòu)),再根據(jù)表的結(jié)構(gòu)存入數(shù)據(jù),這樣做的好處就是由于數(shù)據(jù)的形式和內(nèi)容,在存入數(shù)據(jù)之前就已經(jīng)定義好了,所以整個(gè)數(shù)據(jù)表的“可靠性”和“穩(wěn)定性”都比較高,但帶來的問題就是一旦存入數(shù)據(jù)后,如果需要修改數(shù)據(jù)表的結(jié)構(gòu)就會(huì)十分困難。
3、存儲(chǔ)規(guī)范:關(guān)系型數(shù)據(jù)庫為了避免重復(fù),以規(guī)范化數(shù)據(jù)和充分利用好存儲(chǔ)空間,把數(shù)據(jù)按照最小關(guān)系表的形式進(jìn)行存儲(chǔ),這樣數(shù)據(jù)的管理就可以變得很清晰、一目了然,當(dāng)然這主要是一張數(shù)據(jù)表的情況。如果是多張數(shù)據(jù)表,那么情況就不一樣了,由于數(shù)據(jù)涉及到多張數(shù)據(jù)表,且數(shù)據(jù)表之間存在著復(fù)雜的關(guān)系,隨著數(shù)據(jù)表數(shù)量的增加,數(shù)據(jù)的管理會(huì)越來越復(fù)雜。
4、擴(kuò)展方式:由于關(guān)系型數(shù)據(jù)庫將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)表中,數(shù)據(jù)操作的瓶頸出現(xiàn)在多張數(shù)據(jù)表的操作中,而且數(shù)據(jù)表越多這個(gè)問題越嚴(yán)重,如果要緩解這個(gè)問題,只能提高處理能力,也就是選擇速度更快、性能更高的計(jì)算機(jī)。這樣的方法雖然可以拓展一定的空間,但這樣的拓展空間是非常有限的,也就是關(guān)系型數(shù)據(jù)庫只具備“縱向擴(kuò)展能力”。
5.查詢方式:關(guān)系型數(shù)據(jù)庫采用“結(jié)構(gòu)化查詢語言(即SQL)”來對(duì)數(shù)據(jù)庫進(jìn)行查詢,SQL早已獲得了各個(gè)數(shù)據(jù)庫廠商的支持,成為數(shù)據(jù)庫行業(yè)的標(biāo)準(zhǔn),它能夠支持?jǐn)?shù)據(jù)庫的CRUD(增加,查詢,更新,刪除)操作,具有非常強(qiáng)大的功能。SQL可以采用類似索引的方法來加快查詢操作。
6、規(guī)范化:在數(shù)據(jù)庫的設(shè)計(jì)開發(fā)過程中,開發(fā)人員通常會(huì)面對(duì)同時(shí)需要對(duì)一個(gè)或者多個(gè)數(shù)據(jù)實(shí)體(包括數(shù)組、列表和嵌套數(shù)據(jù))進(jìn)行操作,這樣在關(guān)系型數(shù)據(jù)庫中,一個(gè)數(shù)據(jù)實(shí)體一般首先要分割成多個(gè)部分,然后再對(duì)分割的部分進(jìn)行規(guī)范化。規(guī)范化以后再分別存入到多張關(guān)系型數(shù)據(jù)表中,這是一個(gè)復(fù)雜的過程。好消息是,隨著軟件技術(shù)的發(fā)展,有相當(dāng)多的軟件開發(fā)平臺(tái)都提供了一些簡單的解決方法,例如,可以利用ORM層(也就是對(duì)象關(guān)系映射)來將數(shù)據(jù)庫中的對(duì)象模型,映射到基于SQL的關(guān)系型數(shù)據(jù)庫中去,以及進(jìn)行不同類型系統(tǒng)的數(shù)據(jù)之間的轉(zhuǎn)換。
7、事務(wù)性:關(guān)系型數(shù)據(jù)庫強(qiáng)調(diào)“ACID規(guī)則”,即:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)和持久性(Durability)),這樣可以滿足對(duì)事務(wù)性要求較高或者需要進(jìn)行復(fù)雜數(shù)據(jù)查詢的數(shù)據(jù)操作,而且可以充分滿足數(shù)據(jù)庫操作的高性能和操作穩(wěn)定性的要求。關(guān)系型數(shù)據(jù)庫十分強(qiáng)調(diào)數(shù)據(jù)的“強(qiáng)一致性”,對(duì)于事務(wù)的操作有很好的支持。關(guān)系型數(shù)據(jù)庫可以控制事務(wù)的原子性細(xì)粒度,并且一旦操作有誤或者有需要,可以馬上回滾事務(wù)。
8、讀寫性能:關(guān)系型數(shù)據(jù)庫十分強(qiáng)調(diào)數(shù)據(jù)的一致性,并為此降低了讀寫性能。雖然關(guān)系型數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù)和處理數(shù)據(jù)的可靠性很不錯(cuò),然而一旦面對(duì)海量數(shù)據(jù)的處理時(shí),效率就會(huì)變得很差,特別是遇到“高并發(fā)讀寫”的時(shí)候,性能就會(huì)下降得非常厲害。
9、授權(quán)方式:關(guān)系型數(shù)據(jù)庫,常見的有: Oracle,SQL Server,DB2,MySQL等。除了MySQL的大多數(shù)關(guān)系型數(shù)據(jù)庫,如果要使用都需要支付一筆價(jià)格高昂的費(fèi)用。而免費(fèi)的MySQL,性能受到了諸多的限制。
本文標(biāo)題:關(guān)系型數(shù)據(jù)庫的特點(diǎn)與常用的關(guān)系型數(shù)據(jù)庫
本文URL:http://fisionsoft.com.cn/article/dhejp.html