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

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

更新時間:2019-11-01 來源:黑馬程序員 瀏覽量:

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

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

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

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

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

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

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

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

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

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

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


優(yōu)點:

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

2、使用方便:SQL語言通用,可用于復雜查詢;

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

缺點:

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

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

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

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


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

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

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

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

優(yōu)點:

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

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

3、高擴展性;

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

缺點:

1、不提供sql支持,學習和使用成本較高;

2、無事務處理;

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

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

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

分享到:
在線咨詢 我要報名
和我們在線交談!