關系與非關系型數據庫

SQL

  • SQL指結構化查詢語言,是一門ANSI(美國國家標準學會)標準的計算機語言,主要用來訪問和操作數據庫系統.某些關系型數據庫要求在每個SQL命令的末端使用分號,如MySQL(若不在命令末尾使用分號則報錯),如果使用的關系型數據庫是MS SQL Server或者SQL Server ,則不需要在每個SQL命令末端使用分號。

RDMS

  • RDBMS指的是關系型數據庫管理系統,RDBMS是SQL的基礎,同樣也是很多現在關系型數據庫的基礎,RDBMS的數據是存儲在被稱為表的數據庫對象中,表是相關數據項的集合,由行和列組成,這也是關系型數據的典型特征.

DML和DDL

  • SQL分為兩個部分:數據操作語言(DML)和數據定義語言(DDL)。

  • DML主要用于執行查詢,更新,插入和刪除的語法。SQL主要的DML語句有:
    1)SELECT ----從數據庫表中獲取數據
    2)UPDATE ----更新數據庫表的數據
    3)DELETE ----從數據庫表中刪除數據
    4)INSERT INTO ----向數據表中插入數據

  • DDL主要創建和刪除數據庫或者表格,也可以定義索引(鍵),規定表之間的鏈接以及施加表間的約束。主要的DDL語句有:
    1)CREATE DATABASE ----創建新數據庫
    2)ALTER DATABASE ----修改數據庫
    3)CREATE TABLE ----創建新表
    4)ALTER TABLE ----變更數據庫表
    5)DROP TABLE ----刪除表
    6)DROP DATABASE ----刪除數據庫
    7)CREATE INDEX ----創建索引(搜索鍵)
    8)DROP INDEX ----刪除索引

主流的關系型數據庫

  • Microsoft SQLServer, IBM DB2, Oracle, MySQL,Microsoft Access, Sybase,IBM Informix.

NoSQL

  • NoSQL,指的是非關系數據庫。由上面的敘述可以看到關系型數據庫中的表都是存儲一下格式化的數據結構,每個元組字段的組成都是一樣的,即使不是每個元組都需要所有的字段,但數據庫會為每個元組都分配所有的字段,這樣的結構可以便于表與表之間進行連接等操作,但從另一個角度來說它也是關系數據庫性能瓶頸的一個因素。而非關系數據庫以鍵值對存儲,它的結構不固定,每一個元組可以有不一樣的字段,每個元組可以根據需要增加或減少一些自己的鍵值對,這樣就不會局限于固定的結構,可以減少一些時間和空間的開銷。

  • NoSQL有那些

MangoDB,Membase,Hypertale,Apache Cassandra,BigTable,CouchDB,dynamoDB,SimpleDB, HBase,Redis

關系型與非關系型數據庫 的區別

  • 優點:
    1)成本:nosql數據庫簡單易部署,基本都是開源軟件,不需要像使用oracle那樣花費大量成本購買使用,相比關系型數據庫價格便宜。
    2)查詢速度:nosql數據庫將數據存儲于緩存之中,關系型數據庫將數據存儲在硬盤中,自然查詢速度遠不及nosql數據庫。
    3)存儲數據的格式:nosql的存儲格式是key,value形式、文檔形式、圖片形式等等,所以可以存儲基礎類型以及對象或者是集合等各種格式,而數據庫則只支持基礎類型。
    4)擴展性:關系型數據庫有類似join這樣的多表查詢機制的限制導致擴展很艱難。

  • 缺點
    缺點:
    1)維護的工具和資料有限,因為nosql是屬于新的技術,不能和關系型數據庫10幾年的技術同日而語。
    2)不提供對sql的支持,如果不支持sql這樣的工業標準,將產生一定用戶的學習和使用成本。
    3)不提供關系型數據庫對事務的處理。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容