数据库期末复习资料.docx

上传人:b****4 文档编号:26850525 上传时间:2023-06-23 格式:DOCX 页数:25 大小:28.71KB
下载 相关 举报
数据库期末复习资料.docx_第1页
第1页 / 共25页
数据库期末复习资料.docx_第2页
第2页 / 共25页
数据库期末复习资料.docx_第3页
第3页 / 共25页
数据库期末复习资料.docx_第4页
第4页 / 共25页
数据库期末复习资料.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

数据库期末复习资料.docx

《数据库期末复习资料.docx》由会员分享,可在线阅读,更多相关《数据库期末复习资料.docx(25页珍藏版)》请在冰豆网上搜索。

数据库期末复习资料.docx

数据库期末复习资料

第一章绪论

1、数据(Data):

数据是数据库中存储的基本对象;

数据的定义:

描述事物的符号记录;

数据的种类:

文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等;

数据的含义称为数据的语义,数据与其语义是不可分的。

2、数据库(Database,简称DB):

定义:

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

数据库的基本特征:

1)数据按一定的数据模型组织、描述和储存;

2)可为各种用户共享、易扩展、冗余度较小;

3)数据独立性较高。

数据库具有永久存储、有组织和可共享三个基本特点。

3、数据库管理系统(DBMS):

数据库管理系统是位于用户与操作系统之间的一层数据管理软件。

主要功能:

1)数据定义功能;

2)数据组织、存储和管理;

3)数据操纵功能;

4)数据库的事务管理和运行管理;

5)数据库的建立和维护功能;

6)其他功能。

4、数据库系统(DBS):

定义:

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

5、数据库技术的产生和发展:

三个阶段:

人工管理阶段、文件系统、数据库系统。

6、数据库系统的特点:

1)数据结构化:

不仅数据内部结构化,整体也是结构化的;

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

3)数据独立性高(物理逻辑性和逻辑独立性);

物理独立性:

指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。

当数据的物理存储改变了,应用程序不用改变。

逻辑独立性:

指用户的应用程序与数据库的逻辑结构是相互独立的。

数据的逻辑结构改变了,用户程序也可以不变。

数据独立性是由DBMS的二级映像功能来保证的

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

7、数据模型:

(1)数据模型是数据库系统的核心和基础;

(2)两类数据模型:

第一类是概念模型,第二类是逻辑模型和物理模型;

(3)数据模型的组成要素:

数据结构、数据操作和完整性约束;

)概念模型的基本概念:

4(

1)实体(Entity):

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

可以是具体的人、事、物或抽象的概念;

2)属性(Attribute):

实体所具有的某一特性称为属性。

一个实体可以由若干个属性来刻画;

3)码(Key):

唯一标识实体的属性集称为码;

4)域(Domain):

属性的取值范围称为该属性的域。

5)实体型(EntityType):

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

6)实体集(EntitySet):

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

7)联系(Relationship):

实体内部的联系通常是指组成实体的各属性之间的联系,实体之间的联系通常是指不同实体集之间的联系;

(5)三大经典模型:

层次模型、网状模型、关系模型。

8、数据库系统结构:

(1)模式是数据库中全体数据的逻辑结构和特征的描述。

(2)三级模式:

内模式、模式、外模式。

模式:

是数据库中全体数据的逻辑结构和特征的藐视,是所有用户的公共视图;一个数据库只有一个模式;

外模式:

是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示;一个数据库可以有多个外模式;

内模式:

是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式;一个数据库只有一个内模式。

(3)二级映像:

外模式/模式,模式/内模式;

保证了数据库系统中的数据能够有较高的逻辑独立性和物理独立性。

第二章关系数据库

1、关系

(1)码

候选码(Candidatekey):

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

主码(Primarykey):

若有多个候选码,则选定其中一个为主码;

全码(All-key):

最极端的情况:

关系模式的所有属性组是这个关系模式的候选码,称为全码;

主属性(Primeattribute):

候选码的诸属性称为主属性;

非主属性(Non-Primeattribute):

而不包含在任何侯选码中的属性称为非主属性或非码属性。

(2)关系的三种类型:

基本关系、查询表、视图表;

(3)基本关系的性质:

1)列是同质的(Homogeneous)

2)不同的列可出自同一个域

a)其中的每一列称为一个属性

b)不同的属性要给予不同的属性名

3)列的顺序无所谓,,列的次序可以任意交换

4)任意两个元组的候选码不能相同

行的顺序无所谓,行的次序可以任意交换5)

6)分量必须取原子值(最基本的一条)

(4)关系模型要求关系必须是规范化的,即要求关系必须满足一定的规范条件;最基本的一条就是:

关系的每一个分量必须是一个不可分的数据项。

(5)关系数据库中,关系模型是型,关系是值;关系模式是对关系的描述。

2、关系操作

(1)基本关系操作:

常用的关系操作包括查询操作和插入、删除、修改操作两大部分;

查询:

选择、投影、连接、除、并、交、差;

数据更新:

插入、删除、修改;

查询的表达能力是其中最主要的部分;

选择、投影、并、差、笛卡尔基是5种基本操作。

(2)关系操作的特点:

集合操作方式,即操作的对象和结果都是集合,一次一集合的方式。

3、关系的完整性

三类完整性约束:

实体完整性、参照完整性、用户定义的完整性;其中前两种是关系模式中必须满足的,被称作是关系的两个不变性。

(1)实体完整性:

若属性A是基本关系R的主属性,则属性A不能取空值且必须唯一。

说明:

1)实体完整性规则是针对基本关系而言的;

2)关系模型中以主码作为唯一性标识;

3)主码中的属性即主属性不能取空值。

(2)参照完整性:

外码:

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

如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码;基本关系R称为参照关系(ReferencingRelation);基本关系S称为被参照关系(ReferencedRelation)或目标关系(TargetRelation)。

说明:

1)关系R和S不一定是不同的关系;

2)目标关系S的主码Ks和参照关系的外码F必须定义在同一个(或一组)域上;

3)外码并不一定要与相应的主码同名。

参照完整性规则:

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

或者取空值(F的每个属性值均为空值),或者等于S中某个元组的主码值。

参照完整性规则就是定义外码与主码之间的引用规则。

(3)用户定义的完整性

针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。

4、关系代数

关系代数运算符:

集合运算符、专门的关系运算符、算术比较运算符、逻辑运算符。

【此部分可以复习书本p55-60,为重点】

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

1、SQL特点

集数据查询、数据定义、数据操纵、数据控制功能于一体;SQL

1)数据定义

a)创建数据对象createe.g.Createdatabase

b)修改数据对象altere.g.c)删除数据对象drope.gdropview

2)数据查询

a)一般查询select

b)集合查询count,avg,sum,max,min

3)数据操纵

a)Insertdeleteupdate

4)数据控制

a)Grant

b)revoke

主要特点:

综合统一,高度非过程化,面向集合的操作方式,以同一种语法结构提供多种使用方式,语言简洁、易学易用。

2、外模式对应于视图和部分基本表,模式对应于基本表,内模式对应于存储文件。

3、数据定义

操作对象

操作方式

创建

删除

修改

数据库

Createdatabase

Dropdatabase

Alterdatabase

Createtable

Droptable

Altertable

视图

Createview

Dropview

索引

Createindex

Dropview

(1)定义数据库

Createdatabase<数据库名>

Dropdatabase<数据库名>

Alterdatabase<数据库名><新数据库名>

(2)定义基本表

创建表:

Createtable<表名>

(<列名><数据类型>[列完整性约束条件]

[,<列名><数据类型>[列完整性约束条件]]…

[,表级完整性约束条件])

表级完整性约束包括:

Primarykey名(字段[,字段2])

foreignkey名reference表2(字段[,字段2])

Check名内容

default

修改表:

Altertable<表名>

[add<新列名><数据类型>[完整性约束]]

[drop<完整性约束名>]

[altercolumn<列名><数据类型>]

删除表:

altertable

Droptable<表名>

(3)数据查询【重点!

Select[all|distinct]<目标列表达式>[别名][,<目标列表达式>[别名]]…

From<表名或视图名>[别名][,<表名或视图名>[别名]]…

Where<条件表达式>

Groupby<列名>[having<条件表达式>]

Orderby<列名1>[ASC|Desc][,<列名1>[ASC|Desc]]

(4)数据更新

插入数据:

格式1:

Insertinto<基本表名>[(列名表)]value(元组值)

格式2:

Insertinto<基本表名>[(列名表)]

value(元组值),(元组值),(元组值),…

格式3:

Insertinto<基本表名>[(列名表)]

Select查询语句

修改数据:

update<表名>

set<列名>=<值>[,<列名>=<值>,…]

[where<条件表达式>]

删除数据:

Deletefrom<表名>[where<条件表达式>]

(5)定义和删除索引

Create[unique][cluster]index<索引名>ON<表名>(列名[<次序>][,列名[<次序>]]…)

Dropindex<索引名>

建议索引的条件:

1)以查询为主要服务的数据库;

2)值域大的字段上;

3)经常出现在where条件,orderby,groupby中的字段上;

4)经常出现在连接条件中的字段上。

第四章数据库安全性

1、计算机系统三类安全性问题

技术安全类,管理安全类,政策法律类。

2、用户标识与鉴别

(1)用户标识和鉴别是系统提供的最外层安全保护措施。

其方法是由系统提供一定的方式让用户标识自己的名字或身份;

(2)基本方法:

1)系统提供一定的方式让用户标识自己的名字或身份;

2)系统内部记录着所有合法用户的标识;

每次用户要求进入系统时,由系统核对用户提供的身份标识;3)

4)通过鉴定后才提供机器使用权;

5)用户标识和鉴定可以重复多次;

6)比如:

用户名,密码。

3、存取控制

(1)主要包括两部分:

定义用户权限,并将用户权限登记到数据字典中;合法权限检查。

用户权限定义和合法权检查机制一起组成了DBMS的安全子系统。

(2)常用存取控制方法

自主存取控制(DiscretionaryAccessControl,简称DAC):

1)同一用户对于不同的数据对象有不同的存取权限

2)不同的用户对同一对象也有不同的权限

3)用户还可将其拥有的存取权限转授给其他用户

强制存取控制(MandatoryAccessControl,简称MAC):

1)每一个数据对象被标以一定的密级

2)每一个用户也被授予某一个级别的许可证

3)对于任意一个对象,只有具有合法许可证的用户才可以存取

4、自主存取控制(DAC)

(1)用户权限是由两个要素组成的:

数据库对象和操作类型。

(2)通过SQL的grant和revoke语句实现。

(3)定义用户存取权限:

定义用户可以在哪些数据库对象上进行哪些类型的操作。

(4)授权格式:

GRANT<权限>[,<权限>]...

[ON<对象类型><对象名>]

TO<用户>[,<用户>]...

[WITHGRANTOPTION];

(5)不允许循环授权;

(6)发出grant:

DBA,数据库对象的创建者,拥有该权限的用户。

(7)回收格式:

REVOKE<权限>[,<权限>]...

[ON<对象类型><对象名>]

FROM<用户>[,<用户>]...;

(8)授予的权限可以由DBA或授权者收回

5、创建数据库模式的权限

(1)对数据库模式的授权由DBA在创建用户时实现;

(2)格式:

CREATEUSER

[WITH][DBA|RESOURCE|CONNECT]

(3)说明:

只有系统的超级用户才有权创建一个新的数据库用户;新创建的数据库用户只有三种权限:

connect、resource、DBA。

(4)权限和可执行的操作对照

拥有的权限可否执行的操作

CREATEUSERCREATESCHEMACREATETABLE登录数据库执行数据查询和操纵

DBA可以可以可以可以

RESOURCE不可以不可以不可以不可以

可以,但必须拥有相应权限不可以不可以不可以CONNECT

(5)数据库角色:

是被命名的一组与数据库操作相关的权限,角色是权限的集合。

6、强制存取控制(MAC)

(1)是指系统为保证更高程度的安全性,按照TDI/TCSEC标准中安全策略的要求,所采取的强制存取检查手段;

(2)MAC不是用户能直接感知或进行控制的。

(3)在MAC中,DBMS所管理的全部实体被分为主体和客体两大类;主体是系统中的活动实体,客体是系统中的被动实体;

(4)MAC机制就是通过对比主体的Lable和客体的Lable,最终确定主体是否能够存取客体;

(5)规则:

仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体;

仅当主体的许可证级别等于客体的密级时,该主体才能写相应的客体。

7、视图机制

视图机制间接地实现支持存取谓词的用户权限定义。

第五章数据库完整性

1、数据库的完整性:

数据的正确性和相容性。

2、为维护数据库的完整性,DBMS必须能够:

1)提供定义完整性约束条件的机制

2)提供完整性检查的方法

3)违约处理

3、实体完整性

(1)关系模型的实体完整性在CREATETABLE中用PRIMARYKEY定义;

(2)实体完整性检查和违约处理:

插入或对主码列进行更新操作时,RDBMS按照实体完整性规则自动进行检查。

包括:

1)检查主码值是否唯一,如果不唯一则拒绝插入或修改;

2)检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改。

4、参照完整性

(1)关系模型中的参照完整性在CREATETABLE中用FOREIGNKEY短语定义哪些列为外码,用REFERENCES指明其参照的主码。

(2)可能破坏参照完整性的情况和违约处理:

被参照表(例如Student)参照表(例如SC)违约处理

可能破坏参照完整性插入元组拒绝

可能破坏参照完整性修改外码值拒绝

删除元组可能破坏参照完整性拒绝/级连删除/设置为空值

修改主码值可能破坏参照完整性拒绝/级连修改/设置为空值

5、触发器

(1)触发器是用户定义在关系表上的一类由事件驱动的特殊程序(过程)。

(2)格式:

CREATETRIGGER<触发器名>

{BEFORE|AFTER}<触发事件>ON<表名>

FOREACH{ROW|STATEMENT}

[WHEN<触发条件>]

<触发动作体>

)表的创建者可以在表上创建触发器,并且一个表上只能创建一定数量的触发器;3(

(4)触发事件:

INSERT、DELETE、UPDATE;

(5)触发器类型:

1)行级触发器(FOREACHROW):

对每一行触发一次;

2)语句级触发器(FOREACHSTATEMENT):

触发动作只发生一次;

(6)触发动作体:

匿名PL/SQL过程块,或对已有存储过程的调用。

(7)触发器的执行,是由触发事件激活的,并由数据库服务器自动执行。

(8)触发器激活时执行顺序:

1)执行该表上的BEFORE触发器;

2)激活触发器的SQL语句;

3)执行该表上的AFTER触发器。

(9)删除触发器:

DROPTRIGGER<触发器名>ON<表名>;

触发器必须是一个已经创建的触发器,并且只能由具有相应权限的用户删除。

第六章关系数据理论

本章可考题目:

1、判断分解的无损连接性和保持函数依赖

2、求属性集闭包

3、求极小函数依赖

4、分解关系模式,将1NF分解为3NF

1、范式

按属性间依赖情况划分。

(1)第一范式:

每一分量必须是不可分的数据项;

存在问题:

数据冗余太大,更新异常,插入异常,删除异常;

(2)第二范式:

每一个非主属性完全依赖于码;

存在问题:

插入异常,删除异常,修改复杂;

(3)第三范式:

每一个非主属性既不部分依赖于码也不传递依赖于码;

(4)BCNF:

每一个决定属性因素都包含码;

一个满足BCNF的关系模式有:

1)所有非主属性对每一个码都是完全函数依赖;

2)所有的主属性对每一个不包含它的码,也是完全函数依赖;

3)没有任何属性完全函数依赖于非码的任何一组属性;

2、Armstrong公理系统(有效性,完备性)

(1)自反律:

若YíXíU,则X→Y为F所蕴含。

(2)增广律:

若X→Y为F所蕴含,且ZíU,则XZ→YZ为F所蕴含。

(3)传递律:

若X→Y及Y→Z为F所蕴含,则X→Z为F所蕴含。

3、推理规则

(1)合并规则:

由X→Y,X→Z,有X→YZ。

(2)伪传递规则:

由X→Y,WY→Z,有XW→Z。

(3)分解规则:

由X→Y及ZíY,有X→Z。

4、函数的依赖闭包

F+的闭包,记为F所逻辑蕴含的函数依赖的全体叫作F中为F>,R

(2)设F为属性集U上的一组函数依赖,XíU,XF+={A|X→A能由F根据Armstrong公理导出},XF+称为属性集X关于函数依赖集F的闭包。

(3)求闭包算法

求属性集X(XíU)关于U上的函数依赖集F的闭包XF+

输入:

X,F输出:

XF+

步骤:

(1)令X(0)=X,i=0

(2)求B,这里B={A|($V)($W)(V→W?

F∧VíX(i)∧A?

W)};

(3)X(i+1)=B∪X(i)

(4)判断X(i+1)=X(i)吗?

(5)若相等或X(i)=U,则X(i)就是XF+,算法终止。

(6)若否,则i=i+l,返回第

(2)步。

5、最小依赖集

(1)如果函数依赖集F满足下列条件,则称F为一个极小函数依赖集。

亦称为最小依赖集或最小覆盖。

F中任一函数依赖的右部仅含有一个属性。

F中不存在这样的函数依赖X→A,使得F与F-{X→A}等价。

F中不存在这样的函数依赖X→A,X有真子集Z使得F-{X→A}∪{Z→A}与F等价。

(2)极小化过程:

1)逐一检查F中各函数依赖FDi:

X→Y,若Y=A1A2…Ak,k>2,则用{X→Aj|j=1,2,…,k}来取代X→Y。

2)逐一检查F中各函数依赖FDi:

X→A,令G=F-{X→A},若A?

XG+,则从F中去掉此函数依赖。

3)逐一取出F中各函数依赖FDi:

X→A,设X=B1B2…Bm,逐一考查Bi(i=l,2,…,m),若A?

(X-Bi)F+,则以X-Bi取代X。

6、分解算法

1)极小化函数依赖集

2)把函数依赖集按左部相同分组

3)有没有一组属性整体包含另一组之中

4)若有,两组放在一个关系里面

5)若无,一组为一个关系,其中左部是他们的主码

6)结束

7、判断分解的无损连接性和保持函数依赖

第七章数据库设计

本章可考题目:

1、设计E-R图

2、E-R图向关系模型转换

1、数据库设计的基本步骤(了解各个阶段的工作)

(1)需求分析

(2)概念结构设计:

E-R图

)逻辑结构设计阶段3(

(4)物理设计阶段

(5)数据库实施阶段

(6)数据库运行和维护阶段

2、概念结构设计

(1)四类方法:

自顶向下,自底向上,逐步扩张,混合策略;

(2)各分E-R图之间的冲突:

属性冲突、命名冲突、结构冲突;

3、E-R图向关系模型转换

(1)E-R图由实体型、实体的属性、实体型之间的联系三个要素组成;

(2)遵循原则:

一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码;

4、数据库的物理设计(了解什么情况下需要建立索引)

1)如果一个(或一组)属性经常在查询条件中出现,则考虑在这个(或这组)属性上建立索引(或组合索引);

2)如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引;

3)如果一个(或一组)属性经常在连接操作的连接条件中出现,则考虑在这个(或这组)属性上建立索引;

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

本章可考题目:

1、根据SQL语句写出等价关系代数表达式

2、对查询树进行优化

1、查询处理

(1)查询的四个阶段:

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

(2)查询优化方法:

代数优化:

指关系代数表达式的优化,即按照一定的规则,改变代数表达式中操作的次序和组合,使查询执行更

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

当前位置:首页 > PPT模板 > 图表模板

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

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