系统架构设计·数据库系统·数据库新技术和SQL语句

 一、数据库系统

1.1 数据库安全

        静态转储:即冷备份,指在转储期间不允许对数据库进行任何存取、修改操作;优点是非常快速的备份方法、容易归档(直接物理复制操作);缺点是只能提供到某一时间点上的恢复,不能做其他工作,不能按表或按用户恢复。

        动态转储:即热备份,在转储期间允许对数据库进行存取、修改操作,因此,转储和用户事务可并发执行;优点是可在表空间或数据库文件级备份,数据库仍可使用,可达到秒级恢复;缺点是不能出错,否则后果严重,若热备份不成功,所得结果几乎全部无效。       

        完全备份:备份所有数据。 

        差量备份:仅备份上一次完全备份之后变化的数据。

        增量备份:备份上一次备份之后变化的数据。

        日志文件:在事务处理过程中,DBMS把事务开始、事务结束以及对数据库的插入、删除和修改的每一次操作写入日志文件。一旦发生故障,DBMS的恢复子系统利用日志文件撤销事务对数据库的改变,回退到事务的初始状态。

1.2 分布式数据库

        分布式数据库:局部数据库位于不同的物理位置,使用一个全局DBMS将所有局部数据库联网管理。

        分片模式:

                ◆水平分片:将表中水平的记录分别存放在不同的地方。

                垂直分片:将表中的垂直的列值分别存放在不同的地方。

        分布模式:

                ◆分片透明性:用户或应用程序不需要知道逻辑上访问的表具体是如何分块存储的。

                位置透明性:应用程序不关心数据存储物理位置的改变。 

                逻辑透明性:用户或应用程序无需知道局部使用的是哪种数据模型。 

                复制透明性:用户或应用程序不关心复制的数据从何而来。 

1.3 数据仓库

        数据仓库:一个面向主题的、集成的、非易失的、且随时间变化的数据集合,用于支持管理决策。 

        面向主题:按照一定的主题域进行组织的。 

        集成的:数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。

        相对稳定的:数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。

        反映历史变化:数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。

        数据仓库的结构通常包含四个层次,如下图所示:

                ◆数据源:是数据仓库系统的基础,是整个系统的数据源泉。

                ◆数据的存储与管理:是整个数据仓库系统的核心。

                ◆0LAP(联机分析处理)服务器:对分析需要的数据进行有效集成,按多维模型组织,以便进行多角度、多层次的分析,并发现趋势。

                ◆前端工具:主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具以及各种基于数据仓库或数据集市的应用开发工具。

        BI系统(Business Intelligence System)是运用各种工具、技术与方法,对企业数据进行收集、整理、分析,产生经营决策情报的系统。它可以帮助企业管理层制定正确的经营策略和取得商业成功。主要包括数据预处理、建立数据仓库、数据分析和数据展现四个主要阶段。 

                ◆数据预处理:是整合企业原始数据的第一步,它包括数据的抽取(Extraction)、转换(Transformation)和加载(Load)三个过程(ETL过程);

                ◆建立数据仓库:是处理海量数据的基础;

                ◆数据分析:是体现系统智能的关键,一般采用联机分析处理(0LAP)和数据挖掘两大技术。联机分析处理不仅进行数据汇总/聚集,同时还提供切片、切块、下钻、上卷和旋转等数据分析功能,用户可以方便地对海量数据进行多维分析。数据挖掘的目标则是挖掘数据背后隐藏的知识,通过关联分析、聚类和分类等方法建立分析模型,预测企业未来发展趋势和将要面临的问题;

                ◆数据展现:主要保障系统分析结果的可视化。

1.4 反规范化 

        反规范化技术:规范化设计后,数据库设计者希望牺牲部分规范化来提高性能。 

        采用反规范化技术的益处:降低连接操作的需求、降低外码和索引的数目,还可能减少表的数目,能够提高查询效率

        可能带来的问题:数据的重复存储,浪费了磁盘空间;可能出现数据的完整性问题,为了保障数据的一致性,增加了数据维护的复杂性,会降低修改速度

        具体方法:

                增加冗余列:在多个表中保留相同的列,通过增加数据冗余减少或避免查询时的连接操作。

                增加派生列:在表中增加可以由本表或其它表中数据计算生成的列,减少查询时的连接操作并避免计算或使用集合函数。

                重新组表:如果许多用户需要查看两个表连接出来的结果数据,则把这两个表重新组成一个表来减少连接而提高性能

                水平分割表:根据一列或多列数据的值,把数据放到多个独立的表中,主要用于表数据规模很大、表中数据相对独立或数据需要存放到多个介质上时使用。

                垂直分割表:对表进行分割,将主键与部分列放到一个表中,主键与其它列放到另一个表中,在查询时减少l/0次数。

1.5 大数据

        特点:大量化、多样化、价值密度低、快速化。

        大数据和传统数据的比较如下:

        

        要处理大数据,一般使用集群平台,称为大数据处理系统,其特征为: 高度可扩展性、高性能、高度容错、支持异构环境、较短的分析延迟、易用且开放的接口、较低成本、向下兼容性。 

1.6 SQL语句

        SQL(Structured Query Language)是关系数据库管理系统的标准查询语言,用于存取数据以及查询、更新和管理关系数据库。

        SQL的主要功能包括:

                ◆数据定义语言(DDL):用于定义数据库对象,如表、视图、索引等。包括CREATE、ALTER、DROP等语句。

                ◆数据操作语言(DML):用于对数据库中表的数据进行增删改操作。包括INSERT、UPDATE、DELETE等语句。

                ◆数据查询语言(DQL):用于查询数据库中表的记录。主要是SELECT语句及其子句

                ◆事务控制语言(TCL):用于管理数据库事务。包括COMMIT、ROLLBACK、SAVEPOINT等语句。

                ◆数据控制语言(DCL):用于管理数据库的权限和安全性。主要是GRANT和REVOKE语句。

        常见的DDL操作主要包括: 

        CREATE:创建数据库对象

                CREATE DATABASE:创建数据库

                CREATE TABLE:创建表

                CREATE INDEX:创建索引

                CREATE VIEW:创建视图

                CREATE PROCEDURE:创建存储过程

        ALTER:修改数据库对象

                 ALTER DATABASE:修改数据库

                ALTER TABLE:修改表,如添加列、修改列名类型等

                ​​​​​​​ALTER INDEX:修改索引

        ​​​​​​​        ALTER VIEW:修改视图

        DROP:删除数据库对象

                DROP DATABASE:删除数据库

                DROP TABLE:删除表

                DROP INDEX:删除索引

                DROP VIEW:删除视图

                DROP PROCEDURE:删除存储过程

        常见的DML操作:

                数据库查询select … from … where …;

                分组查询group by,分组时要注意select后的列名要适应分组,having为分组查询附加条件:select sno,avg(score) from student group by sno having(avg(score)>60)

                更名运算as:select sno as“学号”from table

                字符串匹配like,%匹配多个字符串,_匹配任意一个字符串:select*fromt1where sname like'a_'

                数据库插入insert into values(): insert into t1 values('a',66)

                数据库删除delete from..where: delete from t1 where sno=4

                数据库修改update.set.where: update t1 set sname='aa‘ where sno=3

                排序orderby,默认为升序,降序要加关键字DESC:select * from t1 order by sno

        DISTINCT:过滤重复的选项,只保留一条记录。

        比如:select job from emp会查出emp表中所有的工作,哪怕这些工作是重复的,但是select distinct job from emp就会去掉重复的工作

        UNION:出现在两个SQL语句之间,将两个SQL语句的查询结果取并运算

        比如:SELECT * FROM products WHERE pro_type = 'phone' UNION SELECT * FROM products WHERE pro_type = 'tv' 上述SQL会返回phone类型和tv类型的所有产品记录。

        INTERSECT:对两个SQL语句的查询结果做交运算,即值同时存在于两个语句才被选出。 比如: SELECT * FROM products WHERE pro_name = 'phone' INTERSECT SELECT * FROM products WHERE pro_price > 500 上述SQL会返回 pro_name = 'phone' 且 pro_price > 500 的产品记录。 

        MIN、AVG、MAX、COUNT:分组查询时的聚合函数。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值