- 参考链接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(美国国家标准学会)标准的计算机语言,主要用来访问和操作数据库系统.某些关系型数据库要求在每个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)不提供关系型数据库对事务的处理。