<tbody id="fuft6"><noscript id="fuft6"><video id="fuft6"></video></noscript></tbody>
    <tbody id="fuft6"><noscript id="fuft6"></noscript></tbody>
    <em id="fuft6"><acronym id="fuft6"></acronym></em>
          <button id="fuft6"><acronym id="fuft6"><u id="fuft6"></u></acronym></button>
          首頁技術文章正文

          什么是關系型數據庫和非關系型數據庫?[黑馬程序員]

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

          什么是關系型數據庫?

          關系型數據庫:指采用了關系模型來組織數據的數據庫。

          關系模型指的就是二維表格模型,而一個關系型數據庫就是由二維表及其之間的聯系所組成的一個數據組織。

          關系模型中常用的概念:

          關系:一張二維表,每個關系都具有一個關系名,也就是表名

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

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

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

          關鍵字:一組可以唯一標識元組的屬性,數據庫中常稱為主鍵,由一個或多個列組成

          關系模式:指對關系的描述。其格式為:關系名(屬性1,屬性2, ... ... ,屬性N),在數據庫中成為表結構。

          常見的有關系型數據庫有Oracle、Oracle DataBase、MySQL、MariaDB、Microsoft、SQL Server、Access、IBM、DB2、Sybase。


          優點:

          1、易于維護:都是使用表結構,格式一致;

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

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

          缺點:

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

          2、固定的表結構,靈活度稍欠;

          3、高并發讀寫需求,傳統關系型數據庫來說,硬盤I/O是一個很大的瓶頸。

          1572588770616_關系型數據庫和非關系型數據庫.jpg


          什么是非關系型數據庫?

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

          非關系型數據庫結構

          非關系型數據庫以鍵值對存儲,且結構不固定,每一個元組可以有不一樣的字段,每個元組可以根據需要增加一些自己的鍵值對,不局限于固定的結構,可以減少一些時間和空間的開銷。

          優點:

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

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

          3、高擴展性;

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

          缺點:

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

          2、無事務處理;

          3、數據結構相對復雜,復雜查詢方面稍欠。

          常見的非關系型數據庫有Hbase、Redis、MongodDB、Neo4j。

          推薦了解黑馬程序員大數據培訓課程。

          在線咨詢 我要報名
          和我們在線交談!

          黄色网站片

          <tbody id="fuft6"><noscript id="fuft6"><video id="fuft6"></video></noscript></tbody>
            <tbody id="fuft6"><noscript id="fuft6"></noscript></tbody>
            <em id="fuft6"><acronym id="fuft6"></acronym></em>
                  <button id="fuft6"><acronym id="fuft6"><u id="fuft6"></u></acronym></button>