跳到主要内容

数据库新技术

数据故障与备份

安全措施

措施说明
用户标识与鉴定最外层的安全保护措施,可以使用用户账户、口令及随机数校验等方式
存储控制对用户进行授权,包括操作类型(如查找、插入、删除、修改等动作)和数据对象(主要是数据范围)的权限
密码存储和传输对远程终端用密码传输
视图的保护对视图进行授权
审计使用一个专用文件或数据库,自动将用户对数据库的所有操作记录下来

数据故障

故障关系故障原因解决方法
事务本身的可预期故障本身逻辑在程序中预先设置 Rollback 语句
事务本身的不可预期故障算数溢出、违反存储保护由 DBMS 的恢复子系统通过日志,撤销事务对数据库的修改,回退到事务的初始状态
系统故障系统停止运转通常使用检查点法
介质故障外存被破坏一般使用日志重做业务

数据备份

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

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

完全备份:备份所有数据

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

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

备份毕竟是有时间节点的,不是实时的,例如:上一次备份到这次备份之间的数据库出现了故障,则这期间的数据无法恢复,因此,引入日志文件,可以实时记录针对数据库的任何操作,保证数据库可以实时恢复。

分布式数据库

局部数据库位于不同的物理位置,使用一个全局 DBMS 将所有局部数据库联网处理,这就是分布式数据库。其体系结构如下:

分片模式

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

分布透明性

  • 分片透明性: 用户或应用程序不需要知道逻辑上访问的表是如何分块存储的。
  • 位置透明性:应用程序不关系数据存储位置的改变。
  • 逻辑透明性:用户或应用程序无需知道局部使用的是那种数据模型。
  • 复制透明性: 用户或应用程序不关心复制的数据是从何而来的。

数据仓库与数据挖掘

数据仓库是一种特殊的数据库,也是按数据库形式存储数据的,但是目的不同;数据库经过长时间的运行,里面的数据会保存的越来越多,就会影响系统运行效率,对于某些程序而言,很久之前的数据并非是必要的,因此,可以删除掉以减少数据,增加效率,考虑到删除这些数据比较可惜,因此,一般都将这些数据提取出来保存到另一个数据库中,称为数据仓库。

数据仓库四大特点

面向主题:按照一定的

SQL 语言

SQL 语言中的语法关键字,不区分大小写

  • 创建表 CREATE
  • 指定主键 primary key();
  • 指定外键 foreign key();
  • 修改表 alter table;
  • 删除表 drop table;
  • 索引 index,视图 view;
  • 字符串匹配 like, % 匹配多个字符串,_ 匹配一个字符串;
  • 数据库插入 insert into ... values();
  • 数据库删除 delete from ...where;
  • 授权 grant ... on ... to ,允许其将权限再赋给另一个用户;
  • 收回权限 revoke ... on ... from ;
  • with check option 表示要检查 where 后的谓词条件;
  • UNION 出现在两个 SQL 之间,将两个 SQL 的查询结果取或运算;

SQL 语法原理

SELECT 之后的位要查询显示的属性列名; FROM 后面是要查询的表名;WHERE 后面是要查询条件;涉及到最大值、平均数、求和等运算,必须要分组,group by 后面是分组的属性列名;分组的条件使用 having 关键字,后面跟条件。