首頁(yè)技術(shù)文章正文

什么是關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)?[黑馬程序員]

更新時(shí)間:2019-11-01 來(lái)源:黑馬程序員 瀏覽量:

什么是關(guān)系型數(shù)據(jù)庫(kù)?

關(guān)系型數(shù)據(jù)庫(kù):指采用了關(guān)系模型來(lái)組織數(shù)據(jù)的數(shù)據(jù)庫(kù)。

關(guān)系模型指的就是二維表格模型,而一個(gè)關(guān)系型數(shù)據(jù)庫(kù)就是由二維表及其之間的聯(lián)系所組成的一個(gè)數(shù)據(jù)組織。

關(guān)系模型中常用的概念:

關(guān)系:一張二維表,每個(gè)關(guān)系都具有一個(gè)關(guān)系名,也就是表名

元組:二維表中的一行,在數(shù)據(jù)庫(kù)中被稱為記錄

屬性:二維表中的一列,在數(shù)據(jù)庫(kù)中被稱為字段

域:屬性的取值范圍,也就是數(shù)據(jù)庫(kù)中某一列的取值限制

關(guān)鍵字:一組可以唯一標(biāo)識(shí)元組的屬性,數(shù)據(jù)庫(kù)中常稱為主鍵,由一個(gè)或多個(gè)列組成

關(guān)系模式:指對(duì)關(guān)系的描述。其格式為:關(guān)系名(屬性1,屬性2, ... ... ,屬性N),在數(shù)據(jù)庫(kù)中成為表結(jié)構(gòu)。

常見的有關(guān)系型數(shù)據(jù)庫(kù)有Oracle、Oracle DataBase、MySQL、MariaDB、Microsoft、SQL Server、Access、IBM、DB2、Sybase。


優(yōu)點(diǎn):

1、易于維護(hù):都是使用表結(jié)構(gòu),格式一致;

2、使用方便:SQL語(yǔ)言通用,可用于復(fù)雜查詢;

3、復(fù)雜操作:支持SQL,可用于一個(gè)表以及多個(gè)表之間非常復(fù)雜的查詢。

缺點(diǎn):

1、讀寫性能比較差,尤其是海量數(shù)據(jù)的高效率讀寫;

2、固定的表結(jié)構(gòu),靈活度稍欠;

3、高并發(fā)讀寫需求,傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)來(lái)說(shuō),硬盤I/O是一個(gè)很大的瓶頸。

1572588770616_關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù).jpg


什么是非關(guān)系型數(shù)據(jù)庫(kù)?

非關(guān)系型數(shù)據(jù)庫(kù)又被稱為NoSQL(Not Only SQL ),意為不僅僅是SQL( Structured QueryLanguage,結(jié)構(gòu)化查詢語(yǔ)言),不需要事先定義結(jié)構(gòu),也就是不需要建表建庫(kù)等,每條記錄可以又不同的類型和約束條件。

非關(guān)系型數(shù)據(jù)庫(kù)結(jié)構(gòu)

非關(guān)系型數(shù)據(jù)庫(kù)以鍵值對(duì)存儲(chǔ),且結(jié)構(gòu)不固定,每一個(gè)元組可以有不一樣的字段,每個(gè)元組可以根據(jù)需要增加一些自己的鍵值對(duì),不局限于固定的結(jié)構(gòu),可以減少一些時(shí)間和空間的開銷。

優(yōu)點(diǎn):

1、格式靈活:存儲(chǔ)數(shù)據(jù)的格式可以是key,value形式、文檔形式、圖片形式等等,文檔形式、圖片形式等等,使用靈活,應(yīng)用場(chǎng)景廣泛,而關(guān)系型數(shù)據(jù)庫(kù)則只支持基礎(chǔ)類型。

2、速度快:nosql可以使用硬盤或者隨機(jī)存儲(chǔ)器作為載體,而關(guān)系型數(shù)據(jù)庫(kù)只能使用硬盤;

3、高擴(kuò)展性;

4、成本低:nosql數(shù)據(jù)庫(kù)部署簡(jiǎn)單,基本都是開源軟件。

缺點(diǎn):

1、不提供sql支持,學(xué)習(xí)和使用成本較高;

2、無(wú)事務(wù)處理;

3、數(shù)據(jù)結(jié)構(gòu)相對(duì)復(fù)雜,復(fù)雜查詢方面稍欠。

常見的非關(guān)系型數(shù)據(jù)庫(kù)有Hbase、Redis、MongodDB、Neo4j。

推薦了解黑馬程序員大數(shù)據(jù)培訓(xùn)課程

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!