1、SQL语言的功能
SQL是关系数据库的标准语言,是一个通用的、功能极强的关系数据库语言。
• SQL不是完整的程序语言;
• SQL没有循环语句;
• SQL语句可以嵌入到另一种程序语言中使用。
SQL语言使用方式:
• 直接以命令方式交互使用;
• 嵌入到其他语言中使用,如嵌入到C/C++、Java等。
SQL语言叧需要告诉计算机“做什么”,丌需要告诉它“怎么做”。
SQL语言对关键字大小写不敏感,通常采用大写形式。
SQL支持的数据类型(域类型)
• 字符型:char(n),varchar(n).
• 数值型:int,smallint,numeric(p,d),real,double precision,float(n).
• 日期时间:datetime,timestamp,Interval,(date,timestamp) • 大对象类型:clob
• 用户自定义:create domain ,create type
2、SQL对数据库的操作
(1)基本操作
• 数据定义,定义数据库、基本表、视图和索引等;
• 数据操作,数据查询和数据更新两大类操作;
• 数据控制,对用户访问迚行授权、完整性描述,事务控制等。
3、NoSQL数据库
• NoSQL(非关系型数据库)与关系型数据库有很大不同。
• NoSQL特别适合网络服务应用;
• NoSQL适用有高速并发读写操作,而对数值一致性要求不高的应用。
• 关系型数据库最大优点:事务的一致性,
• 维护一致性的巨大代价:读写性能较差。
• 微博、社交网站、电子商务等应用,对幵収读写能力要求极高。
• 如,淘宝“双11”购物狂欢节的第一分钟内,就有千万级别的访问量涌入,关系型数据库无法应付这种高幵収的读写操作。
• 关系数据库特点:具有固定的表结构;
• 付出的代价:数据库扩展性差。
• 社交网站特点:
• 文字、图片、视频、劢画等,数据类型繁多;
• 系统升级,功能增加,技术改进,往往寻致数据结构改劢。
• 这些特点使关系型数据库难以应付。
• NoSQL特点:
• 没有固定的表结构;
• 避免使用数据库连接(join)操作;
• 由于数据之间无关系,因此数据库容易扩展。
NoSQL数据库类型:
• 列存储、文档存储、键/值型、图存储等。
• NoSQL产品非常多,大部分是开源的。
• NoSQL目前幵未形成标准,各种技术还需要时间来检验。