關係型資料庫和非關係型資料庫的區別

2022-07-27 11:30:17 字數 2973 閱讀 7130

1.關係型資料庫通過外來鍵關聯來建立表與表之間的關係,

2.非關係型資料庫通常指資料以物件的形式儲存在資料庫中,而物件之間的關係通過每個物件自身的屬性來決定

比如 有乙個學生的資料:

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

還有乙個班級的資料:

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

關係型資料庫中,我們建立學生表和班級表來存這兩條資料,並且學生表中的班級儲存的是班級表中的主鍵。

非關係型資料庫中,我們建立兩個物件,乙個是學生物件,乙個是班級物件,用**表示如下:12

3456

78910

1112

classstudent

classgrade

通過設定student類的classid等於grade類的id來建立這種關係;

非關係型資料庫中,我們查詢一條資料,結果出來乙個陣列,關係型資料庫中,查詢一條資料結果是乙個物件。

資料庫型別

特性優點

缺點關係型資料庫

sqlite、oracle、mysql

1、關係型資料庫,是指採用了關係模型來組織

資料的資料庫;

2、關係型資料庫的最大特點就是事務的一致性;

3、簡單來說,關係模型指的就是二維**模型,

而乙個關係型資料庫就是由二維表及其之間的聯絡所組成的乙個資料組織。

1、容易理解:二維表結構是非常貼近邏輯世界乙個概念,關係模型相對網狀、層次等其他模型來說更容易理解;

2、使用方便:通用的sql語言使得操作關係型資料庫非常方便;

3、易於維護:豐富的完整性(實體完整性、參照完整性和使用者定義的完整性)大大減低了資料冗餘和資料不一致的概率;

4、支援sql,可用於複雜的查詢。

1、為了維護一致性所付出的巨大代價就是其讀寫效能比較差;

2、固定的表結構;

3、高併發讀寫需求;

4、海量資料的高效率讀寫;

非關係型資料庫

mongodb、redis、hbase

1、使用鍵值對儲存資料;

2、分布式;

3、一般不支援acid特性;

4、非關係型資料庫嚴格上不是一種資料庫,應該是一種資料結構化儲存方法的集合。

1、無需經過sql層的解析,讀寫效能很高;

2、基於鍵值對,資料沒有耦合性,容易擴充套件;

3、儲存資料的格式:nosql的儲存格式是key,value形式、文件形式、形式等等,文件形式、形式等等,而關係型資料庫則只支援基礎型別。

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

2、無事務處理,附加功能bi和報表等支援也不好;

注1:資料庫事務必須具備acid特性,acid是atomic原子性,consistency一致性,isolation隔離性,durability永續性。

注2:資料的持久儲存,尤其是海量資料的持久儲存,還是需要一種關聯式資料庫。

1.關係型資料庫通過外來鍵關聯來建立表與表之間的關係,

2.非關係型資料庫通常指資料以物件的形式儲存在資料庫中,而物件之間的關係通過每個物件自身的屬性來決定

比如 有乙個學生的資料:

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

還有乙個班級的資料:

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

關係型資料庫中,我們建立學生表和班級表來存這兩條資料,並且學生表中的班級儲存的是班級表中的主鍵。

非關係型資料庫中,我們建立兩個物件,乙個是學生物件,乙個是班級物件,用**表示如下:12

3456

78910

1112

classstudent

classgrade

通過設定student類的classid等於grade類的id來建立這種關係;

非關係型資料庫中,我們查詢一條資料,結果出來乙個陣列,關係型資料庫中,查詢一條資料結果是乙個物件。

資料庫型別

特性優點

缺點關係型資料庫

sqlite、oracle、mysql

1、關係型資料庫,是指採用了關係模型來組織

資料的資料庫;

2、關係型資料庫的最大特點就是事務的一致性;

3、簡單來說,關係模型指的就是二維**模型,

而乙個關係型資料庫就是由二維表及其之間的聯絡所組成的乙個資料組織。

1、容易理解:二維表結構是非常貼近邏輯世界乙個概念,關係模型相對網狀、層次等其他模型來說更容易理解;

2、使用方便:通用的sql語言使得操作關係型資料庫非常方便;

3、易於維護:豐富的完整性(實體完整性、參照完整性和使用者定義的完整性)大大減低了資料冗餘和資料不一致的概率;

4、支援sql,可用於複雜的查詢。

1、為了維護一致性所付出的巨大代價就是其讀寫效能比較差;

2、固定的表結構;

3、高併發讀寫需求;

4、海量資料的高效率讀寫;

非關係型資料庫

mongodb、redis、hbase

1、使用鍵值對儲存資料;

2、分布式;

3、一般不支援acid特性;

4、非關係型資料庫嚴格上不是一種資料庫,應該是一種資料結構化儲存方法的集合。

1、無需經過sql層的解析,讀寫效能很高;

2、基於鍵值對,資料沒有耦合性,容易擴充套件;

3、儲存資料的格式:nosql的儲存格式是key,value形式、文件形式、形式等等,文件形式、形式等等,而關係型資料庫則只支援基礎型別。

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

2、無事務處理,附加功能bi和報表等支援也不好;

注1:資料庫事務必須具備acid特性,acid是atomic原子性,consistency一致性,isolation隔離性,durability永續性。

注2:資料的持久儲存,尤其是海量資料的持久儲存,還是需要一種關聯式資料庫。

關係型資料庫和非關係型資料庫

關係型資料庫 mysql oracle等 非關係型資料庫 nosql hbase,mongodb,redis等 優勢 可以在乙個表以及多個表之間做複雜的資料查詢 支援事務,保持資料的一致性。優勢 基於鍵值對,不需要經過sql解析,資料之間沒有耦合,易水平擴充套件。資料儲存在快取中,查詢速度快。可以儲...

關係型資料庫和非關係型資料庫

關聯式資料庫是資料項之間具有預定義關係的資料項的集合。這些項被組織為一組具有列和行的表。表用於儲存有關要在資料庫中表示的物件的資訊。表中的每列都儲存著特定型別的資料,字段儲存著屬性的實際值。表中的行表示乙個物件或實體的相關值的集合。表中的每一行可標有乙個稱為主鍵的唯一識別符號,並且可使用外來鍵在多個...

關係型資料庫和非關係型資料庫

關係型資料庫 採用了關係模型來組織資料的資料庫 代表 sql server,mysql,oracle 優點 容易理解,二維表的結構貼近現實世界 使用方便,通用的sql語句使得操作關係型資料庫非常方便 易於維護,資料庫的acid屬性,大大降低了資料冗餘和不一致性 缺點 讀寫效能差,尤其是海量資料的高效...