溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫有哪些區(qū)別

發(fā)布時間:2021-12-02 10:43:42 來源:億速云 閱讀:141 作者:柒染 欄目:互聯(lián)網(wǎng)科技

關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫有哪些區(qū)別,相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

1.關(guān)系型數(shù)據(jù)庫通過外鍵關(guān)聯(lián)來建立表與表之間的關(guān)系,2.非關(guān)系型數(shù)據(jù)庫通常指數(shù)據(jù)以對象的形式存儲在數(shù)據(jù)庫中,而對象之間的關(guān)系通過每個對象自身的屬性來決定

比如 有一個學(xué)生的數(shù)據(jù):

姓名:張三,性別:男,學(xué)號:12345,班級:二年級一班

還有一個班級的數(shù)據(jù):

班級:二年級一班,班主任:李四

關(guān)系型數(shù)據(jù)庫中,我們創(chuàng)建學(xué)生表和班級表來存這兩條數(shù)據(jù),并且學(xué)生表中的班級存儲的是班級表中的主鍵。

非關(guān)系型數(shù)據(jù)庫中,我們創(chuàng)建兩個對象,一個是學(xué)生對象,一個是班級對象,用java來表示就是:

class Student {

String id;

String name;

String sex;

String number;

String classid;

}

class Grade {

String id;

String name;

String teacher;

}

通過設(shè)置Student類的classid等于Grade類的id來建立這種關(guān)系;

非關(guān)系型數(shù)據(jù)庫中,我們查詢一條數(shù)據(jù),結(jié)果出來一個數(shù)組,關(guān)系型數(shù)據(jù)庫中,查詢一條數(shù)據(jù)結(jié)果是一個對象。

數(shù)據(jù)庫

類型特性優(yōu)點(diǎn)缺點(diǎn)

關(guān)系型數(shù)據(jù)庫

SQLite、Oracle、mysql1、關(guān)系型數(shù)據(jù)庫,是指采用了關(guān)系模型來組織

數(shù)據(jù)的數(shù)據(jù)庫;

2、關(guān)系型數(shù)據(jù)庫的最大特點(diǎn)就是事務(wù)的一致性;

3、簡單來說,關(guān)系模型指的就是二維表格模型,

而一個關(guān)系型數(shù)據(jù)庫就是由二維表及其之間的聯(lián)系所組成的一個數(shù)據(jù)組織。1、容易理解:二維表結(jié)構(gòu)是非常貼近邏輯世界一個概念,關(guān)系模型相對網(wǎng)狀、層次等其他模型來說更容易理解;

2、使用方便:通用的SQL語言使得操作關(guān)系型數(shù)據(jù)庫非常方便;

3、易于維護(hù):豐富的完整性(實(shí)體完整性、參照完整性和用戶定義的完整性)大大減低了數(shù)據(jù)冗余和數(shù)據(jù)不一致的概率;

4、支持SQL,可用于復(fù)雜的查詢。1、為了維護(hù)一致性所付出的巨大代價就是其讀寫性能比較差;

2、固定的表結(jié)構(gòu);

3、高并發(fā)讀寫需求;

4、海量數(shù)據(jù)的高效率讀寫;

非關(guān)系型數(shù)據(jù)庫

MongoDb、redis、HBase1、使用鍵值對存儲數(shù)據(jù);

2、分布式;

3、一般不支持ACID特性;

4、非關(guān)系型數(shù)據(jù)庫嚴(yán)格上不是一種數(shù)據(jù)庫,應(yīng)該是一種數(shù)據(jù)結(jié)構(gòu)化存儲方法的集合。1、無需經(jīng)過sql層的解析,讀寫性能很高;

2、基于鍵值對,數(shù)據(jù)沒有耦合性,容易擴(kuò)展;

3、存儲數(shù)據(jù)的格式:nosql的存儲格式是key,value形式、文檔形式、圖片形式等等,文檔形式、圖片形式等等,而關(guān)系型數(shù)據(jù)庫則只支持基礎(chǔ)類型。1、不提供sql支持,學(xué)習(xí)和使用成本較高;

2、無事務(wù)處理,附加功能bi和報表等支持也不好;

注1:數(shù)據(jù)庫事務(wù)必須具備ACID特性,ACID是Atomic原子性,Consistency一致性,Isolation隔離性,Durability持久性。

注2:數(shù)據(jù)的持久存儲,尤其是海量數(shù)據(jù)的持久存儲,還是需要一種關(guān)系數(shù)據(jù)庫

看完上述內(nèi)容,你們掌握關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫有哪些區(qū)別的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI