簡單了解兩類資料庫——SQL與NoSQL

簡單瞭解兩類數據庫——SQL與NoSQL

前面說到了直接安裝mysql數據庫,並沒有提及數據庫相關的一些基礎知識,今天來補補基礎。

數據庫,顧名思義就是存儲數據的倉庫,可以簡單理解為穀倉。不過這個數據倉是按一定的結構存放程序數據的,目的的避免冗餘,當程序需要數據時,會發起查詢取回相應的數據。

Web程序中目前最常用的仍然是基於關係模型的數據庫,如mysql,Oracle,sqlserver等等,這種數據庫也叫做SQL數據庫,因為是使用結構化查詢語言的。不過,近來也出現了文檔數據庫鍵值對數據庫這兩種數據庫合稱NoSQL數據庫,如MongoDB。

簡單瞭解兩類數據庫——SQL與NoSQL

SQL數據庫:

關係數據庫是把數據存儲在表中的,表(二維表)模擬程序中的不同實體。表的列是固定的,稱為字段(表示實體的數據屬性),行是可以變的,稱為記錄。表中有個特殊的列,稱為主鍵,它的值是表中各行的唯一標識符。表中還可以有外鍵,所謂外鍵就是引用同一個表或不同表中某行的主鍵。這樣行之間的聯繫,就是關係,這就是關係型數據庫的基礎。關係數據庫存儲數據高效,而且避免了重複,但是,把數據分別存放在多個表中還是很複雜的,需要各種關聯操作。

簡單瞭解兩類數據庫——SQL與NoSQL

NoSQL數據庫:

所有不遵循關係模型的數據庫都可以統稱為NoSQL數據庫。NoSQL數據庫一般使用集合代替表,使用文檔代替記錄。這樣的方式是會使得聯結變得困難的。它的特點是減少了表的數量,增加了數據的重複量,缺點是更新某數據會變得耗時,因為要跟新大量文檔,優點就是可以沒有複雜的關聯快速查詢。

兩類數據庫孰優孰劣呢?這個根據存在即合理,都是有各自存在優勢與應用場景的,要視具體需求選擇具體的數據庫。


分享到:


相關文章: