名词解释
OLTP和OLAP
OLTP与OLAP的介绍和比较
知乎回答 @KyLigence
全称
OLTP(联机事务处理)
On-Line Transaction Processing
OLAP(联机分析处理)
On-Line Analytical Processing
各方面的区别
数据库角度
OLTP
主要是对数据的增删改,OLAP
是对数据的查询
应用角度
OLTP
用于记录某类业务事件的发生(如购买、修改信息)等,要求实时性高、稳定性强、确保数据及时更新成功。
OLAP
用于将数据集中到一起进行统一综合的分析。
举例
OLTP
: ERP(企业资源计划)、CRM(客户关系管理)、OA(办公自动化)
OLAP
: OLAP分析分为关系型联机分析处理(ROLAP
)、多维联机分析处理(MOLAP
)两种。
以 ROLAP
为代表的有传统关系型数据库、MPP分布式数据库等,原理是根据用户需求实时计算,但计算数据量大或并发数大的时候,一定会出现性能问题。
以 MOLAP
分析为代表的有Cognos,SSAS,Kylin等,原理是先将用户的需求计算好,以结果的形式存下来(就是打表),缺点是当表的维度很大的时候,对磁盘存储空间的要求会越来越大(状态数量是 2^n 级别的)。
前者是在线做法,后者是离线做法。
SQL语句的类型
DDL(数据定义语言)
1.全称
Data Definition Language
2.作用
用来创建数据库中的各种对象
3.举例
CREATE TABLE/VIEW/INDEX/SYN/CLUSTER
##分别对应:(表/视图/索引/同义词/簇)
4.注意事项
DDL操作是隐性提交的!不能rollback
DML(数据操作语言)
1.全称
Data Manipulation Language
2.作用
用来对数据库的数据进行一些操作,增删改。
3.举例
INSERT INTO <表名>(列1,列2,...) VALUES (值1,值2,...);
UPDATE <表名> SET <列名>=新值 WHERE <列名>=某值;
DELETE FROM <表名> WHERE <列名>=某值;
DQL(数据查询语言)
1.全称
Data Query Language
2.作用
查询
3.举例
select <字段名> from <表或视图名> where <条件>
DCL(数据控制语言)
1.全称
Data Control Language
2.作用
数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制。
数据库操纵事务发生的时间及效果,对数据库实行监视等。
3.举例
1) GRANT:授权。
2) ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一点。
回滚命令使数据库状态回到上次最后提交的状态。其格式为:
SQL>ROLLBACK;
3) COMMIT [WORK]:提交。
TCL(事务控制语言)
全称
Transaction Control Language
作用
控制事务执行
举例
#开启事务
#事务中的sql语句(事先禁止自动提交)
#结束事务
CCL(指针控制语言)
全称
Cursor Control Language
作用
规定了 SQL语句在宿主语言的程序中的使用的规则
主要用于用于对一个或多个表单独行的操作
举例
DECLARE CURSOR(声明游标)
FETCH INTO(进入)
UPDATE WHERE CURRENT(更新当前位置)