- 參考鏈接1:
http://blog.csdn.net/chenhuajie123/article/details/9374957 - 參考鏈接2:
http://blog.csdn.net/tomatofly/article/details/5949070 - 參考鏈接3:
http://blog.csdn.net/xuanjiewu/article/details/48241045
SQL
- SQL指結構化查詢語言,是一門ANSI(美國國家標準學會)標準的計算機語言,主要用來訪問和操作數(shù)據(jù)庫系統(tǒng).某些關系型數(shù)據(jù)庫要求在每個SQL命令的末端使用分號斟或,如MySQL(若不在命令末尾使用分號則報錯)读串,如果使用的關系型數(shù)據(jù)庫是MS SQL Server或者SQL Server ,則不需要在每個SQL命令末端使用分號玫镐。
RDMS
- RDBMS指的是關系型數(shù)據(jù)庫管理系統(tǒng),RDBMS是SQL的基礎,同樣也是很多現(xiàn)在關系型數(shù)據(jù)庫的基礎,RDBMS的數(shù)據(jù)是存儲在被稱為表的數(shù)據(jù)庫對象中,表是相關數(shù)據(jù)項的集合,由行和列組成,這也是關系型數(shù)據(jù)的典型特征.
DML和DDL
SQL分為兩個部分:數(shù)據(jù)操作語言(DML)和數(shù)據(jù)定義語言(DDL)桨踪。
DML主要用于執(zhí)行查詢灯蝴,更新栖博,插入和刪除的語法阁苞。SQL主要的DML語句有:
1)SELECT ----從數(shù)據(jù)庫表中獲取數(shù)據(jù)
2)UPDATE ----更新數(shù)據(jù)庫表的數(shù)據(jù)
3)DELETE ----從數(shù)據(jù)庫表中刪除數(shù)據(jù)
4)INSERT INTO ----向數(shù)據(jù)表中插入數(shù)據(jù)DDL主要創(chuàng)建和刪除數(shù)據(jù)庫或者表格鞠绰,也可以定義索引(鍵)腰埂,規(guī)定表之間的鏈接以及施加表間的約束。主要的DDL語句有:
1)CREATE DATABASE ----創(chuàng)建新數(shù)據(jù)庫
2)ALTER DATABASE ----修改數(shù)據(jù)庫
3)CREATE TABLE ----創(chuàng)建新表
4)ALTER TABLE ----變更數(shù)據(jù)庫表
5)DROP TABLE ----刪除表
6)DROP DATABASE ----刪除數(shù)據(jù)庫
7)CREATE INDEX ----創(chuàng)建索引(搜索鍵)
8)DROP INDEX ----刪除索引
主流的關系型數(shù)據(jù)庫
- Microsoft SQLServer, IBM DB2, Oracle, MySQL蜈膨,Microsoft Access屿笼, Sybase牺荠,IBM Informix.
NoSQL
NoSQL,指的是非關系數(shù)據(jù)庫。由上面的敘述可以看到關系型數(shù)據(jù)庫中的表都是存儲一下格式化的數(shù)據(jù)結構驴一,每個元組字段的組成都是一樣的休雌,即使不是每個元組都需要所有的字段,但數(shù)據(jù)庫會為每個元組都分配所有的字段肝断,這樣的結構可以便于表與表之間進行連接等操作杈曲,但從另一個角度來說它也是關系數(shù)據(jù)庫性能瓶頸的一個因素。而非關系數(shù)據(jù)庫以鍵值對存儲胸懈,它的結構不固定担扑,每一個元組可以有不一樣的字段,每個元組可以根據(jù)需要增加或減少一些自己的鍵值對趣钱,這樣就不會局限于固定的結構涌献,可以減少一些時間和空間的開銷。
NoSQL有那些
MangoDB首有,Membase洁奈,Hypertale,Apache Cassandra绞灼,BigTable,CouchDB呈野,dynamoDB低矮,SimpleDB, HBase,Redis
關系型與非關系型數(shù)據(jù)庫 的區(qū)別
優(yōu)點:
1)成本:nosql數(shù)據(jù)庫簡單易部署被冒,基本都是開源軟件军掂,不需要像使用oracle那樣花費大量成本購買使用,相比關系型數(shù)據(jù)庫價格便宜昨悼。
2)查詢速度:nosql數(shù)據(jù)庫將數(shù)據(jù)存儲于緩存之中蝗锥,關系型數(shù)據(jù)庫將數(shù)據(jù)存儲在硬盤中,自然查詢速度遠不及nosql數(shù)據(jù)庫率触。
3)存儲數(shù)據(jù)的格式:nosql的存儲格式是key,value形式终议、文檔形式、圖片形式等等葱蝗,所以可以存儲基礎類型以及對象或者是集合等各種格式穴张,而數(shù)據(jù)庫則只支持基礎類型。
4)擴展性:關系型數(shù)據(jù)庫有類似join這樣的多表查詢機制的限制導致擴展很艱難两曼。缺點
缺點:
1)維護的工具和資料有限皂甘,因為nosql是屬于新的技術,不能和關系型數(shù)據(jù)庫10幾年的技術同日而語悼凑。
2)不提供對sql的支持偿枕,如果不支持sql這樣的工業(yè)標準璧瞬,將產(chǎn)生一定用戶的學習和使用成本。
3)不提供關系型數(shù)據(jù)庫對事務的處理渐夸。