数据库

本文由用户“xrayray”分享发布 更新时间:2020-03-23 21:11:32 举报文档

以下为《数据库》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

创建命名:

CREATE SCHEMA “S-T” AUTHORIZATION WANG;删除模式

DROP SCHEMA ZHANG CASCADE;添加

[ ADD[COLUMN] [Integrity constraint ]]替代:

ALTER TABLE Student ADD S_entrance DATE;ALTER TABLE Course ADD UNIQUE(Cname); ALTER TABLE Student ALTER COLUMN Sage INT;索引index

CREATE UNIQUE INDEX Stusno ON Student(Sno);

CREATE UNIQUE INDEX Coucno ON Course(Cno);

CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC);查询:

SELECT Sno,Sname,Ssex,Sage,Sdept FROM Student; SELECT DISTINCT Sn FROM SC WHERE Score90; SELECT FIRST.Cno, SECOND.Cpno

FROM Course FIRST, Course SECOND

WHERE FIRST.Cpno = SECOND.Cno;SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade

FROM Student LEFT OUT JOIN SC ON

(Student.Sno=SC.Sno);

Inner join。 Full out join。 > ANY Greater than a value in the subquery result

> ALL Greater than all values in subquery results

< ANY A value less than the result of a subquery.

< ALL Less than all values in subquery results

>= ANY A value greater than or equal to the result of a subquery.

>= ALL Greater than or equal to all values in the subquery results. SELECT Sname,Sage

FROM Student

WHERE Sage < ANY (SELECT Sage

FROM Student

WHERE Sdept= ' CS ')集合查询

UNION:将多个查询结果合并起来时,系统自动去掉重复元组

UNION ALL:将多个查询结果合并起来时,保留重复元组Exists:

带有EXISTS谓词的子查询不返回任何数据,只产生逻辑真值“true”或逻辑假值“false”。

若内层查询结果非空,则外层的WHERE子句返回真值

若内层查询结果为空,则外层的WHERE子句返回假值由EXISTS引出的子查询,其目标列表达式通常都用 * ,因为带EXISTS的子查询只返回真值或假值,给出列名无实际意义。事务的ACID特性:

原子性(Atomicity)

一致性(Consistency)

隔离性(Isolation)

持续性(Durability )1.事务内部的故障

2.系统故障

3.介质故障

4.计算机病毒事务内部的故障

有的是可以通过事务程序本身发现的(见下面转账事

务的例子)

有的是非预期的,不能由事务程序处理的。 系统故障

称为软故障,是指造成系统停止运转的任何事件,使得

系统要重新启动。

整个系统的正常运行突然被破坏

所有正在运行的事务都非正常终止

不破坏数据库

内存中数据库缓冲区的信息全部丢失

介质故障

称为硬故障,指外存故障

磁盘损坏

磁头碰撞

瞬时强磁场干扰

介质故障破坏数据库或部分数据库,并影响正在存取这部分数据的所有事务

介质故障比前两类故障的可能性小得多,但破坏性大得多计算机病毒

一种人为的故障或破坏,是一些恶作剧者研制的一种计算机程序

可以繁殖和传播,造成对计算机系统包括数据库的危害

计算机病毒种类

小的病毒只有20条指令,不到50B

大的病毒像一个操作系统,由上万条指令组成

恢复机制涉及的关键问题

1. 如何建立冗余数据

数据转储(backup)

登记日志文件(logging)

2. 如何利用这些冗余数据实施数据库恢复

  转储是指数据库管理员定期地将整个数据库复制到磁带、磁盘或其他存储介质上保存起来的过程备用的数据文本称为后备副本(backup)或后援副本数据库遭到破坏后可以将后备副本重新装入

重装后备副本只能将数据库恢复到转储时的状态

要想恢复到故障发生时的状态,必须重新运行自转储以后的所有更新事务

静态转储

在系统中无运行事务时进行的转储操作

转储开始时数据库处于一致性状态

转储期间不允许对数据库的任何存取、修改活动

得到的一定是一个数据一致性的副本

优点:实现简单

缺点:降低了数据库的可用性

转储必须等待正运行的用户事务结束

新的事务必须等转储结束动态转储

转储操作与用户事务并发进行

转储期间允许对数据库进行存取或修改

优点

不用等待正在运行的用户事务结束

不会影响新事务的运行

动态转储的缺点

不能保证副本中的数据正确有效

例在转储期间的某时刻Tc,系统把数据A=100转储到磁带上,而在下一时刻Td,某一事务将A改为200。

后备副本上的A过时了海量转储: 每次转储全部数据库

增量转储: 只转储上次转储后更新过的数据

海量转储与增量转储比较

从恢复角度看,使用海量转储得到的后备副本进行恢复往往更方便

如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效事务故障:事务在运行至正常终止点前被终止

恢复方法

由恢复子系统利用日志文件撤消(UNDO)此事务已对数据库进行的修改

事务故障的恢复由系统自动完成,对用户是透明的,不需要用户干预(1) 反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作。

(2) 对该事务的更新操作执行逆操作。即将日志记录中“更新前的值” 写入数据库。

插入操作, “更新前的值”为空,则相当于做删除操作

删除操作,“更新后的值”为空,则相当于做插入操作

若是修改操作,则相当于用修改前值代替修改后值 (3) 继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理。

(4) 如此处理下去,直至读到此事务的开始标记,事务故障恢复就完成了。系统故障造成数据库不一致状态的原因

未完成事务对数据库的更新可能已写入数据库

已提交事务对数据库的更新可能还留在缓冲区没来得及写入数据库

恢复方法

1. Undo 故障发生时未完成的事务

2. Redo 已完成的事务

系统故障的恢复由系统在重新启动时自动完成,不需要用户干预(1)正向扫描日志文件(即从头扫描日志文件)

重做(REDO) 队列: 在故障发生前已经提交的事务

这些事务既有BEGIN TRANSACTION记录,也有COMMIT记录

撤销 (UNDO)队列:故障发生时尚未完成的事务

这些事务只有BEGIN TRANSACTION记录,无相应的COMMIT记录(2) 对撤销(UNDO)队列事务进行撤销(UNDO)处理

反向扫描日志文件,对每个撤销事务的更新操作执行逆操作

即将日志记录中“更新前的值”写入数据库

(3)对重做(REDO)队列事务进行重做(REDO)处理

正向扫描日志文件,对每个重做事务重新执行登记的操作

即将日志记录中“更新后的值”写入数据库 介质故障:

1.重装数据库

2.重做已完成的事务恢复步骤

(1) 装入最新的后备数据库副本(离故障发生时刻最近的转储副本) ,使数据库恢复到最近一次转储时的一致性状态。

对于静态转储的数据库副本,装入后数据库即处于一致性状态

对于动态转储的数据库副本,还须同时装入转储时刻的日志文件副本,利用恢复系统故障的方法(即REDO+UNDO),才能将数据库恢复到一致性状态。(2) 装入有关的日志文件副本(转储结束时刻的日志文件副本) ,重做已完成的事务。

首先扫描日志文件,找出故障发生时已提交的事务的标识,将其记入重做队列。

然后正向扫描日志文件,对重做队列中的所有事务进行重做处理。即将日志记录中“更新后的值”写入数据库。介质故障的恢复需要数据库管理员介入

数据库管理员的工作

重装最近转储的数据库副本和有关的各日志文件副本

执行系统提供的恢复命令

具体的恢复操作仍由数据库管理系统完成事务的概念和性质

事务是数据库的逻辑工作单位

数据库管理系统保证系统中一切事务的原子性、一致性、隔离性和持续性,就保证了事务处于一致状态

故障的种类

事务故障

系统故障

介质故障

恢复中最经常使用的技术

数据库转储

登记日志文件恢复的基本原理

利用存储在后备副本、日志文件和数据库镜像中的冗余数据来重建数据库

事务

不仅是恢复的基本单位

也是并发控制的基本单位1. 实体与属性的划分原则

为了简化E-R图的处置,现实世界的事物能作为属性对待的,尽量作为属性对待。

两条准则:

(1)作为属性,不能再具有需要描述的性质。属性必须是不可分的数据项,不能包含其他属性。

(2)属性不能与其他实体具有联系,即E-R图中所表示的联系是实体之间的联系。数据库的并发控制以事务为单位

数据库的并发控制通常使用封锁机制

基本封锁

多粒度封锁

活锁和死锁

其他并发控制机制

时间戳方法

乐观控制法

多版本并发控制并发事务调度的正确性

可串行性

并发操作的正确性则通常由两段锁协议来保证。

两段锁协议是可串行化调度的充分条件,但不是必要条件

冲突可串行性封锁对象的大小称为封锁粒度(Granularity)

封锁的对象:逻辑单元,物理单元

例:在关系数据库中,封锁对象:

逻辑单元: 属性值、属性值的集合、元组、关系、索引项、整个索引、整个数据库等

物理单元:页(数据页或索引页)、物理记录等多粒度树

以树形结构来表示多级封锁粒度

根结点是整个数据库,表示最大的数据粒度

叶结点表示最小的数据粒度

允许多粒度树中的每个结点被独立地加锁

对一个结点加锁意味着这个结点的所有后裔结点也被加以同样类型的锁

在多粒度封锁中一个数据对象可能以两种方式封锁:显式封锁和隐式封锁意向共享锁(Intent Share Lock,简称IS锁)

意向排它锁(Intent Exclusive Lock,简称IX锁)

共享意向排它锁(Share Intent Exclusive Lock,简称SIX锁)IS锁

如果对一个数据对象加IS锁,表示它的后裔结点拟(意向)加S锁。

例如:事务T1要对R1中某个元组加S锁,则要首先对关系R1和数据库加IS锁 IX锁

如果对一个数据对象加IX锁,表示它的后裔结点拟(意向)加X锁。SIX锁

如果对一个数据对象加SIX锁,表示对它加S锁,再加IX锁,即SIX = S + IX。

例:对某个表加SIX锁,则表示该事务要读整个表(所以要对该表加S锁),同时会更新个别元组(所以要对该表加IX锁)。1. 数据库就是长期储存在计算机内的________、________的数据集合。

答案:有组织 可共享

数据管理技术已经历了人工管理阶段、________和________3个发展阶段。

答案:文件系统阶段 数据库系统阶段

3. 数据模型通常都是由________、________和________3个要素组成。

答案:数据结构 数据操作 数据完整性的约束

4. 数据库的主要特点:________、数据冗余度小、具有较高的数据程序独立性、具有统一的数据控制功能等。

答案:数据结构化

用二维表结构表示实体以及实体间联系的数据模型称为________数据模型。

答案:关系

6. 在数据库的三级模式体系结构中,外模式与模式之间的映像,实现了数据库的________独立性。

答案:数据逻辑

数据库系统是以________为中心的系统。

答案:数据库中的数据

E-R图表示的概念模型比________更一般、更抽象、更接近现实世界。

答案:DBMS支持的数据模型

9. 外模式,亦称为子模式或用户模式,是________能够看到和使用的局部数据的逻辑结构和特征的描述。

答案:数据库用户

10. 数据库系统的软件主要包括支持________运行的操作系统以及________本身。

答案:DBMS DBMS

11. 数据库系统中最重要的软件是 ,最重要的用户是

答案:数据库管理系统(或DBMS) 数据库管理员(或DBA)

12.数据库设计分为以下六个设计阶段:需求分析阶段、 、逻辑结构设计阶段、 、数据库实施阶段、数据库运行和维护阶段。

答案:概念结构设计阶段 物理结构设计阶段

13.已知关系R(A,B,C,D)和R上的函数依赖集F={A→CD,C→B},则

R∈ NF。

答案:2

14. 在数据库设计中, 是系统各类数据的描述的集合。

答案:数据字典

15. 数据模型由数据结构、数据操作和 三部分组成。

答案:完整性约束

16. 在Student表的Sname列上建立一个聚簇索引的SQL语句为:

CREATE Stusname ON student(Sname)

答案:CLUSTER INDEX

17. SELECT语句查询条件中的谓词“=ANY”与运算符 等价。

答案:IN

18.关系模式R({A,B,C},{(A,C)→B,(A,B)→C,B→C})最高可达到第 范式。

答案:三

19. 数据抽象主要有分类和 两种。

答案:聚集

20. 存在一个等待事务集{T0,T1,…,Tn},其中T0正等待被T1锁住的数据项,T1正等待被T2锁住的数据项,Tn-1正等待被Tn锁住的数据项,且Tn正等待被T0锁住的数据项,这种情形称为 。

答案:死锁

21. “为哪些表,在哪些字段上,建立什么样的索引”这一设计内容应该属于数据库设计中的 设计阶段。

答案:物理 22.并发控制的主要方法是 机制。

答案:封锁

23. 故障分为事务故障、 和介质故障三种。

答案:系统故障

24. 数据字典通常包括数据项、 、 、数据存储和处理过程五个部分。

答案:数据结构 数据流

25. 数据库设计方法采用著名的 。

答案:新奥尔良方法

26. 在数据库的三级模式体系结构中,模式与内模式之间的映象(模式/内模式),实现了数据的 独立性。

答案:物

27. 在SQL语言中,使用_________语句收回授权。

答案:REVOKE

28. 若在两个局部E-R图中都有实体“零件”的“重量”属性,而所用重量单位分别为公斤和克,则称这两个E-R图存在 冲突。

答案:属性

29. 在“学生—选课—课程”数据库中的三个关系如下:

S(S#,SNAME,SEX,AGE),SC(S#,C#,GRADE),C(C#,CNAME,TEACHER)。现要查找选修“数据库技术”这门课程的学生的学生姓名和成绩,可使用如下的SQL语句:SELE 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 的保护就是指要采取措施,防止库中数据被非法访问、修改,甚至恶意破坏( )1

BEGIN TRANSACTION表示事务的开始;ROLLBACK表示事务的提交;COMMIT表示事务的回滚( )2

用户鉴定机制包括用户标识定义和用户身份验证两个部分( )1

进程是数据库系统中执行的一个工作单位( )2

数据加密就是利用加密算法对原始数据进行转换后再存储( )1

加锁对象的大小被称为加锁的粒度( ) 1

解除死锁最常用的方法是撤消一些陷入死锁的事务( )1

数据库的并安控制是指保护数据库,以防止非法使用所造成数据的泄露、更改或破坏( )2各范式特点:第一范式:保证列的原子性,保证列不可再分。第二范式:唯一性 ;一个表只说明一个事物;有主键且非主键依赖主键;(限制多对多的关系,建立一个关联表,通过外键和联合主键来关联两张表)第三范式:每列都与主键有直接关系,不存在传递依赖;(限制一对多的关系,在从表中建立一个外键,通过外键来引用主表的信息)PS:第二范式要遵循第一范式,第三范式要遵循第二范式。[文章尾部最后500字内容到此结束,中间部分内容请查看底下的图片预览]请点击下方选择您需要的文档下载。

  1. 业务持续性管理计划测试报告
  2. IDC机房应急预案模板
  3. 雅思词汇表(最新完整版)(1)
  4. 3.Mysql索引管理
  5. 动介搭配内容
  6. 关于松桃县重大故障的分析报告V4
  7. 附件1: 设备维修记录
  8. 数据库
  9. 系统数据中心网络主机设备维护项目年季度服务总结报告
  10. 《防范计算机病毒》
  11. 计算机病毒 教学设计及反思
  12. XX县+XX县中学+胡某某+《计算机病毒》教学设计
  13. 子宫内的DNA疫苗接种:诱导新生儿保护性免疫的新方法
  14. 数据库知识题库

以上为《数据库》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览