天津理工大学数据库复习.docx

上传人:b****5 文档编号:7603384 上传时间:2023-01-25 格式:DOCX 页数:12 大小:307.38KB
下载 相关 举报
天津理工大学数据库复习.docx_第1页
第1页 / 共12页
天津理工大学数据库复习.docx_第2页
第2页 / 共12页
天津理工大学数据库复习.docx_第3页
第3页 / 共12页
天津理工大学数据库复习.docx_第4页
第4页 / 共12页
天津理工大学数据库复习.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

天津理工大学数据库复习.docx

《天津理工大学数据库复习.docx》由会员分享,可在线阅读,更多相关《天津理工大学数据库复习.docx(12页珍藏版)》请在冰豆网上搜索。

天津理工大学数据库复习.docx

天津理工大学数据库复习

第一章绪论

基本概念

1.数据:

数据是数据库中存储的基本对象,描述食物的符号纪录成为数据。

P1-2

2.数据库:

长期存储在计算机内、有组织的、可共享的大量数据的集合。

P2

3.数据库管理系统:

是位于用户与操作系统之间的一层数据管理软件,作用是科学的组织和存储数据,高效获取和维护数据。

P4-5

4.数据库系统:

是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。

(在一般不引起混淆的情况下常常把数据库系统简称为数据库。

)P5

5.实体:

客观存在并可相互区别的事物称为实体。

P14

6.实体型:

具有相同属性的实体必然具有共同的特征和性质。

用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。

例如,学生(学号,姓名,性别,出生年月,所在院系,入学时间)就是一个实体型。

P15

7.实体集:

同一类型实体的集合称为实体集。

例如,全体学生就是一个实体集。

P15

8.关系:

一个关系对应通常说的一张表,如图中这张学生登记表:

P28

9.属性:

表中的一列即为一个属性,给每一个属性起一个名称即属性名。

如这张表有6列,对应6个属性(学号,姓名,年龄,性别,系名和年级)。

P28

10.码:

也称为码键。

表中的某个属性组,它可以唯一确定一个元组,如学号,可以唯一确定一个学生,也就成为本关系的码。

P29

11.元组:

表中的一行即为一个元组。

P28

12.域:

属性的取值范围,如人的年龄一般在1-150岁之间,大学生的年龄属性的域是(14-38),性别的域是(男,女),系名的域是一个学校所有系名的集合。

P29

13.关系模式:

对关系的描述,一般表示为P29

关系名(属性1,属性2,…,属性n)

例如,上面的关系可描述为

学生(学号,姓名,年龄,性别,系名,年级)

简述问题

1.三级模式:

数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成,如图:

P32

2.两级映像:

外模式/模式映像,模式/内模式映像。

正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

P33

3.逻辑独立性:

模式描述的是数据库的全局逻辑结构,外模式描述的是数据库的局部逻辑结构。

当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),有数据库管理员对各个外模式/外模式的映像作相应改变,可以使外模式保持不变。

应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。

P34

4.物理独立性:

数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系。

当数据库的存储结构改变了(例如选用了另一种存储结构)由数据库管理员对模式/内模式映像作相应改变,可以使模式保持不变,从而应用程序也不必改变。

保证了数据与程序的物理独立性简称数据的物理独立性。

P34

5.数据库系统与文件系统的区别与联系:

文件系统与数据库系统的区别是:

文件系统面向某一应用程序,共享性差,冗余度大,数据独立性差,记录内有结构,整体无结构,由应用程序自己控制。

数据库系统面向现实世界,共享性高,冗余度小,具有较高的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据的安全性、完整性、并发控制和恢复能力。

 文件系统与数据库系统的联系是:

文件系统与数据库系统都是计算机系统中管理数据的软件。

解析文件系统是操作系统的重要组成部分;而 DBMS 是独立于操作系统的软件。

但是 DBMS 是在操作系统的基础上实现的;数据库中数据的组织和存储是通过操作系统中的文件系统来实现的。

6.数据库系统特点:

P9-11

1)数据结构化:

数据库系统实现整体数据的结构化,这是数据库的主要特征之一。

2)数据的共享性高,冗余度低,易扩充。

3)数据独立性高:

包括数据的物理独立性和逻辑独立性。

4)数据由DBMS统一管理和控制。

7.DBMS主要功能:

数据的安全性保护、数据的完整性检查、并发控制、数据库恢复。

分析设计

1.根据问题描述画E-R图

2.联系的分类\3个实体型的联系

第二章关系数据库

1.关系模型的组成:

关系数据结构、关系操作集合、关系完整性约束 

2.候选码:

若关系中的某一属性组能唯一地标识一个元组,则称该属性组为候选码。

P44

3.主码:

若一个关系有多个候选码,则选定其中一个为主码。

P44

4.外部码:

设F是基本关系R的一个或一组属性,但不是关系R的码。

Ks是基本关系S的主码。

如果F与Ks相对应,则称F是R的外码。

P50

5.关系模式:

关系的描述称为关系模式。

它可以形式化的表示为

R(U,D,DOM,F)

其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合。

P46

6.关系:

D1XD2X…Dn的子集叫做在域D1,D2,…,Dn上的关系,表示为R(D1,D2,…,Dn)P43

7.关系数据库:

在一个给定的应用领域中,所有实体及实体之间的联系的关系的集合构成一个关系数据库。

P47

8.关系模型的完整性检查:

1)实体完整性规则:

若属性(只一个或一组属性)A是基本关系R的主属性,则A不能取空值。

P49

2)参照完整性规则:

若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码K,相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:

●或者取空值(F的每个属性值均为空值)

●或者等于S中某个元组的主码值P51

3)用户定义的完整性:

就是针对某一具体的关系数据库的约束条件。

它反映某一具体应用所涉及的数据必须满足的语义要求。

例如某个属性必须取唯一值、某个非主属性也不能取空值等。

P52

9.关系代数表达式书写:

10.等值连接与自然连接:

P57

11.关系代数基本运算与其他运算

12.关系运算的前提:

13.了解基本运算,给出运算结果:

第三章关系数据库标准语言SQL

1.CREATETABLE[dbo].[Student](

[Sno]INTNOTNULLPRIMARYKEY,//主键

[Sname]NVARCHAR(50)NOTNULL,

[Ssex]NVARCHAR(50)NOTNULL,

[Sage]INTNOTNULL,

[Sdept]VARCHAR(50)NOTNULL);

2.select*fromdbo.StudentwhereSdeptin('CS','IS')orderbySdept,SnoASC/DESC升序/降序

3.selectMIN(Sage)fromdbo.Student(MIN/MAX/AVG)

4.将学习了数据库课程的学生成绩加5分。

updateSCsetGrade=Grade+5whereCno=(selectCnofromCoursewhereCname=N'数据库')

5.将选修了2号课程且成绩为空的选课记录删除。

deletefromSCwhereCno=2andGrade=0

6.将平均成绩80分以上的学生的学号,选学的课程数和平均成绩保存到另一个表中。

createviewunder80(Sno,Num,Average)asselectSno,COUNT(Cno),AVG(Grade)fromSCgroupbySnohavingAVG(Grade)>=80

第四章数据库安全性

1.安全性控制常用技术:

用户标识与鉴别、存取控制、自主存取控制方法(DAC)、授权与回收、数据库角色、强制存取控制(MAC)方法P135-143

2.自主存储控制和强制存取控制:

在MAC机制当中,仅当主体的许可证级别(大于或等于)客体的密级时,该主体才能读取相应的客体.。

P144

3.SQL语句(grant和revoke)

4.数据库审计功能:

P145

第五章数据库完整性

1.完整性概念:

数据的完整性是为了防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据。

P151

2.安全性概念:

数据的安全性是保护数据库防止恶意的破坏和非法的存取。

3.区别与联系:

完整性检查和控制的防范对象是不和语义的、不正确的数据,防止他们进入数据库。

安全性控制的防范对象是非法用户和非法操作,防止他们对数据库数据的非法存取。

P151

4.完整性约束条件:

也称完整性规则,是数据库中的数据必须满足的语义约束条件。

包括关系模型的实体完整性、参照完整性和用户定义的完整性。

P151

5.SQL语句书写

6.触发器:

是用户定义在关系表上的一类由事件驱动的特殊过程。

第六章关系数据理论

基本术语

1.函数依赖:

设R(U)是属性集U上的关系模式。

X,Y是U的子集。

若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作X→Y。

P173

2.完全依赖:

在R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有X’

Y,则称Y对X完全函数依赖,记作

P173

3.部分依赖:

若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作:

P173

4.传递依赖:

在R(U)中,如果X→Y吗,(Y

X),Y

X,Y→Z,则称Z对X传递函数依赖。

记为:

P173

5.主码:

设K为R中的属性或属性组合,若K

U则K为R的候选码。

若候选码多于一个,则选定其中的一个为主码。

P174

6.外码:

关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码,也称外码。

P174

7.全码:

在最极端的情况下,整个属性组是码,称为全码。

分析题

1.给出实体,属性及其关系描述,要求:

●给出关系模式;写出每个关系模式的最小依赖集;讨论完全\部分\传递函数依赖情况

●指出候选码\外部码,讨论全码情况

2.书上习题2:

3.判定属于第几范式

给定一个关系模式和依赖结合,找出码,判断第几范式

第七章数据库设计

数据库设计过程的几个阶段

●需求分析

●概念结构设计

●逻辑结构设计

●物理结构设计

●数据库实施

●数据库运行和维护

把E-R图转换为关系模型

逻辑结构设计及其步骤

物理结构设计内容与步骤

●B+树索引

●聚簇索引

●Hash索引

第八章数据库编程

主变量

嵌入式SQL语句中可以使用主语言的程序变量来输入或输出数据。

SQL语句中所使用的主语言程序变量简称主变量。

主变量根据其作用的不同,分为输入主变量和输出主变量。

输入主变量由应用程序对其赋值,SQL语句引用;输出主变量由SQL语句对其赋值或设置状态信息,返回给应用程序。

P238

游标P243

第九章关系查询处理和查询优化

优化的一般准则

1.选择运算应尽可能先做。

这是优化策略中最重要最基本的一条。

2.在执行连接前对关系适当的预处理,方法有两种:

在连接属性上建立索引和对关系排序,然后执行连接,第一种称为索引连接方法,第二种称为排序合并连接方法。

3.把投影运算和选择运算同时进行。

4.把投影同其前或者其后的双目运算结合起来,没有必要为了去掉某些字段而扫描一下关系。

5.把某些选择同它前面要执行的笛卡尔积结合起来成为一个连接运算,连接特别是等值连接运算要比同样关系上的笛卡尔积节省很多时间。

6.找出公共子表达式,先计算出公共子表达式的值才参与运算。

优化的一般步骤

查询分析、查询检查、查询优化、查询执行P263

给出一个关系代数表达式或SQL查询语句,对原始的语法树进行优化处理,画出优化后的标准语法树。

第十——十一章

数据库故障及其恢复策略

1.故障的种类:

事物内部的故障、系统故障(软故障)、介质故障(硬故障)、计算机病毒。

P280

2.恢复的实现技术:

数据转储(静态转储、动态转储)、登记日志文件。

P282

3.事务故障的恢复:

P285

1)反向扫描日志文件,查找该事务的更新操作。

2)对该事务的更新操作执行逆操作。

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

3)继续反向扫描日志文件,查找该事物的其它更新操作,并做同样处理。

4)如此处理下去,直至读到此事务的开始标记,事务故障恢复就完成了。

4.系统故障的恢复:

P285

1)正向扫描日志文件,找出在故障发生前已经提交的事务,将其事务标识计入重做队列。

同时找出故障发生时尚未完成的事务,将其事务标识计入撤销队列。

2)对撤销队列中的各个事务进行重做处理。

3)对重做队列中的各个事务进行重做处理。

5.介质故障的恢复:

P286

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

2)装入相应的日志文件副本,重做已完成的事务。

日志概念和主要特征

1.日志:

日志文件是用来记录事务对数据库的更新操作的文件。

不同数据库系统采用的日志文件格式并不完全一样。

概括起来日志文件主要有两种格式:

以记录为单位的日志文件和以数据块为单位的日志文件。

P283

2.主要特征:

死锁的概念,原因及其解决方法

1.死锁:

如梭事务T1封锁了数据R1,T2封锁了数据R2,然后T1又请求封锁R2,因T2已封锁了R2,于是T1等待T2释放R2上的锁。

接着T2又申请封锁R1,因T1已封锁了R1,T2也只能等待T1释放R1上的锁。

这样就出现了T1在等待T2,而T2又在等待T1的局面,T1和T2两个事务永远不能结束,形成死锁。

P297

2.原因:

3.解决方法:

P297

●采取一定措施预防死锁的发生:

一次封锁法、顺序封锁法。

●允许发生死锁,采用一定手段定期诊断系统中有无死锁,若有则解除之:

超时法、等待图法。

两种锁的含义及其相容性

1.活锁:

如果事务T1封锁了数据R,事务T2又请求封锁R,于是T2等待。

T3也请求封锁R,当T1释放了R上的封锁之后系统首先批准了T3的请求,T2仍然等待。

然后T4又请求封锁R,当T3释放了R上的封锁之后系统又批准了T4的请求……T2有可能永远等待,这就是活锁的情形。

P296

2.避免活锁的简单方法:

采用先来先服务的策略。

当多个事务请求封锁统一数据对象时,封锁子系统按请求封锁的先后次序对事务排队,数据对象上的锁一旦释放就批准申请队列中第一个事务获得锁。

P297

两段锁协议的含义

基本的封锁类型有两种:

排它锁(简称X锁)和共享锁(简称S锁)。

1.排它锁:

又称写锁。

若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。

这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。

2.共享锁:

又称读锁。

若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。

这就保证了其它事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。

给出2-3个事务,给出并发执行的所有可能结果28

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1