关系和非关系型数据库
什么是SQL
SQL指结构化查询语言,是一门ANSI(美国国家标准学会)标准的计算机语言,主要用来访问和操作数据库系统.某些关系型数据库要求在每个SQL命令的末端使用分号,如MySQL(若不在命令末尾使用分号则报错),如果使用的关系型数据库是MS SQL Server或者SQL Server ,则不需要在每个SQL命令末端使用分号。
RDBMS
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(HadoopDatabase) ,Redis