数据库原理复习串讲.docx
- 文档编号:24894029
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:17
- 大小:46.88KB
数据库原理复习串讲.docx
《数据库原理复习串讲.docx》由会员分享,可在线阅读,更多相关《数据库原理复习串讲.docx(17页珍藏版)》请在冰豆网上搜索。
数据库原理复习串讲
数据库原理复习串讲
第一章数据库概论
1.1信息、数据和数据处理
1信息是现实世界在人脑中的抽象反映,是通过人的感官感知出来并经过人脑的加工而形成的反映现实世界中事物的概念。
2在用计算机处理信息的时候,要将信息转比为计算机可以识别的符号,也就是数据。
数据是表示信息的一种手段。
3数据的4个特征:
1)数据有“型”和“值”之分。
2)数据受数据类型和取值范围的约束。
3)数据有定性表示和定量表示之分。
4)数据应具有载体和多种表现形式。
4数据处理正是对各种形式的数据进行收集、储存、加工和传播的一系列活动的总和。
其目的是从大量的、原始的数据中抽取、推导出对人们有价值的信息,作为行动和决策的依据;是为了借助计算机科学地保存和管理复杂的大量的数据,以便人们能方便而充分地利用这些宝贵的信息资源。
5数据处理(DataProcessing)分类:
数据管理、数据加工、数据传播。
数据管理是其他数据处理的核心和基础。
1.2数据管理技术的发展
1人们的数据管理技术经历了三个阶段的发展:
人工管理阶段、文件系统阶段、数据库系统阶段
1.3、数据库系统(DBS:
DataBaseSystem)
1什么是数据库系统DBS是指在计算机系统中引入数据库后的系统构成,由计算机硬件、操作系统、DBMS、DB、应用程序和用户,以及数据库开发和管理人员等组成。
2什么是数据库数据库(Database,简称DB),是一个有结构的、集成的、可共享的、统一管理的数据集合。
3什么是数据库管理系统数据库管理系统(DBMS:
)是专门用于管理数据库的计算机系统软件。
数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行控制的功能。
4什么是数据库应用系统?
数据库应用系统是针对某个特定目标,建立再数据库管理系统之上的计算机应用系统。
组成数据库应用系统的要素:
数据库、数据库管理系统(DBMS)、应用程序和用户。
5数据库应用系统按其功能可以被划分为:
数据传递系统、数据处理系统、管理信息系统。
6什么是管理信息系统:
管理信息系统简称为MIS,它是计算机应用领域的一个重要分枝。
管理信息系统帮助人们完成原来需要手工处理的复杂工作,它不仅能明显地提高工作效率,减小工作强度,而且能提高信息管理的质量和水平。
1.4数据库系统的三级模式结构
数据库系统的三级模式结构分为:
外模式、模式和内模式,
1模式:
模式也称逻辑模式或概念模式,它是数据库中全体数据的逻辑结构和特征的描述,也是所有用户的公共数据视图。
2外模式:
外模式也称子模式(SubSchema)或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,也是与某一应用有关的数据的逻辑表示。
3内模式:
内模式又称存储模式,一个数据库只有一个内模式。
它描述了数据的物理结构和存储方式,是数据库内部的表示方法。
4两级映象:
模式/内模式映象:
用于定义概念模式和内模式之间的对应性。
一般在内模式中描述。
外模式/模式映象:
用于定义外模式和概念模式间的对应性。
一般在外模式中描述。
5.两级数据独立性:
物理数据独立性:
修改内模式时尽量不影响概念模式及外模式,则达到物理数据独立性。
逻辑数据独立性:
修改概念模式时尽量不影响外模式和应用程序。
第2章数据模型和概念模型
2.1数据模型
1什么是数据模型:
模型是现实世界特征的模拟和抽象。
数据模型也是一种模型,它是现实世界数据特征的抽象。
现有的数据库系统均是基于某种数据模型的。
2根据模型应用的不同目的,可以将模型划分为两类,它们分属于两个不同的层次。
第一类模型是概念模型,也称信息模型,它是按用户的观点对数据和信息建模。
满足数据模型功能的第一和第二方面的需求。
另一类模型是数据模型(即结构模型),主要包括网状模型、层次模型、关系模型和面向对象模型等,它是按计算机系统的观点对数据建模。
满足数据模型功能的第三方面的需求。
3数据模型三要素:
数据结构、数据操作和完整性约束
4常用数据模型:
网状模型、层次模型、关系模型和面向对象模型。
其中现在主要应用的是关系模型。
2.2E-R模型(概念模型)
1信息的三种世界
现实世界
信息世界
计算机世界
实体
实例
记录
特征
属性
数据项
实体集
对象或实体型
数据或文件
实体间的联系
对象间的联系
数据间的联系
概念模型
数据模型
2数据联系的描述:
1:
1联系:
如果实体集E1中的每个实体最多只能和实体集E2中的一个实体有联系,反之亦然,好么实体集E1对E2的联系称为“一对一联系”,记为“1:
1”。
1:
N联系:
如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,而E2中每个实体至多和E1中的一个实体有联系,那么E1对E2的联系是“一对多联系”,记为“1:
N”。
M:
N联系:
如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么E1对E2的联系是“多对多联系”,记为“M:
N”。
3.概念模型的表示方法———E-R模型
实体型:
用矩形表示,矩形框内写明实体型名。
属性:
用椭圆形表示,并用无向边将其与相应的实体连接起来。
联系:
用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1∶1,1∶n,m∶n)。
4关系模型(重点)
关系模型是建立在严格的数学概念基础上的一种数据模型,它的数据结构是二维表,即由行和列组成,这个表就叫作关系。
1关系中术语:
(1)关系(Relation):
一个关系对应一张二维表,二维表名就是关系名。
(2)元组(Tuple):
表中的一行即为一个元组
(3)属性(Attribute):
表中的一列即为一个属性,给每一个属性起一个名字即属性名。
(4)分量(Component):
元组中的一个属性值
(5)主码(Key):
表中的某个属性组,它可以惟一确定一个元组。
(6)域(Domain):
属性的取值范围
第3章数据库系统设计的步骤和方法
1数据库系统设计概述
设计包括数据库设计和数据库应用系统设计两方面。
数据库设计是设计数据库结构特性,为特定应用环境构造出最优的数据模型;数据库应用系统设计是设计数据库的行为结构特性,建立能满足各种用户对数据库应用需求的功能模型。
2数据库系统设计步骤
1.需求分析阶段:
准确了解并分析用户对系统的需要和要求,弄清系统要达到的目标和实现的功能。
2.概念结构设计阶段:
对用户需求进行综合、归纳和抽象,形成一个独立于具体计算机和DBMS的概念模型。
3.逻辑结构设计阶段:
将概念结构转换为DBMS所支持的数据模型,并将其性能进行优化。
4.数据库物理设计阶段:
为逻辑数据模型选取一个最适合应用环境的物理结构,包括数据存储结构和存取方法。
5.数据库实施阶段:
运用DBMS提供的数据操作语言和宿主语言,根据数据库的逻辑设计和物理设计的结果建立数据库、编制与调试应用程序、组织数据入库并进行系统试运行。
6.数据库运行和维护阶段:
不断地对其结构性能进行评价、调整和修改。
3概念模型(E-R模型)向逻辑模型(关系模型)的转换(重点)
1实体集的转换规则
概念模型中的一个实体集转换为关系模型中的一个关系,实体的属性就是关系的属性,实体的码就是关系的码,关系的结构是关系模式。
2.实体集间联系的转换规则
(1)1:
1联系的转换方法
1)将1:
1联系转换为一个独立的关系:
与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,且每个实体的码均是该关系的候选码。
2)将1:
1联系与某一端实体集所对应的关系合并,则需要在被合并关系中增加属性,其新增的属性为联系本身的属性和与联系相关的另一个实体集的码。
(2)1:
n联系的转换方法
一种方法是将联系转换为一个独立的关系,其关系的属性由与该联系相连的各实体集的码以及联系本身的属性组成,而该关系的码为n端实体集的码;另一种方法是在n端实体集中增加新属性,新属性由联系对应的1端实体集的码和联系自身的属性构成,新增属性后原关系的码不变。
(3)m:
n联系的转换方法
在向关系模型转换时,一个m:
n联系转换为一个关系。
转换方法为:
与该联系相连的各实体集的码以及联系本身的属性均转换为关系的属性,新关系的码为两个相连实体码的组合(该码为多属性构成的组合码)。
第四章关系模型
4.1关系数据结构及形式化定义
理解由笛卡尔积推出关系定义的过程
4.2关系模型的数据结构
1.关系的基本名词
v关系:
一张满足某些约束条件的二维表。
v元组:
关系中的一行称为一个元组。
对应表中的一行,存放的是客观世界的一个实体。
v属性:
关系中的一列,称为一个属性。
对应表中的一列。
2.关系的性质
关系中每一属性都是最小的
关系中同一属性的所有属性值具有相同的数据类型。
关系中的属性名不能重复。
关系的属性位置从左到右出现的顺序无关紧要。
关系中任意两个元组不能完全相同。
关系中的元组从上到下出现的顺序无关紧要。
3.关系的候选键与主键
1表中某一列(或若干列的最小组合)的值能惟一标识一个行,称该列或列组为候选键。
对于一个表,可能有多个候选键。
2如果一个表有多个候选键,数据库设计者通常选择其中一个候选键作为区分行的惟一性标识符,称为主键(primarykey,PK)。
3.关系数据库
关系数据库是相互关联的表或者说关系的集合
4.3关系模型的数据完整性
1.实体完整性规则
主键值惟一且不能为空值。
实体完整性的作用:
一旦定义表的主键,RDBMS将自动地对该表中的每一行的主键值进行检查,若发现主键值为空或不惟一,RDBMS会给出错误信息,这样就能确保表中的每一行是惟一的,可以区分的。
2.参照完整性规则
v参照完整性规则是一个表的外键值可以为空值。
若不为空值,则必须等于另一个表中主键的某个值。
v外键(ForeignKey,FK):
若一个表R1中的一个列或列组对应另一个表R2的主键,那么该列或列组称为表R1的外键。
v参照完整性的作用:
在关系数据库系统中,一旦定义了表的外键,也即定义了外键与另一个表的主键的参照与被参照联系,RDBMS将根据外键的定义,自动检查表中的每一行,若发现外键值违反外键的规则,RDBMS会给出错误信息,要求用户纠正,这样能确保表之间的参照与被参照联系的正确性。
3.用户自定义完整性规则
v用户自定义完整性规则是表格设计者为了保证表中某些行、列的数据满足具体应用要求而自定义的一些规则。
v自定义规则往往根据实际的应用背景提出来。
4.4关系模型的数据操作——关系代数
v关系代数中,运算的对象是关系(表),运算的结果是一个新关系(表)。
v关系的运算包含两部分,即传统的集合运算和特殊的关系运算。
v传统的集合运算:
∪(并运算),-(差运算),∩(交运算),×(笛卡儿积运算)。
v4个特殊的关系运算:
σ(选择),π(投影),∞(连接),÷(除)。
1传统关系运算
2专门关系运算
1选择运算:
从指定的R表中选择某些满足条件的行构成一个新表。
记作бF(R)
v投影运算:
从指定的表R中选择某些列构成一个新表。
记作∏A(R)。
v连接运算:
从R与S的笛卡儿积R×S中选择满足连接条件的行。
记作:
重点内容,能根据题目具体要求,写出相应的关系代数。
第五章SQL语言概述
5.1SQL概述
1SQL有两种使用方式:
交互式和嵌入式
2SQL支持数据库的三级模式、二级映射机制数据库的三级模式,即外模式、概念模式、内模式。
在SQL中,视图对应外模式、基本表对应概念模式、存储文件对应于内模式,
3SQL语言分为三种子语言,分别是
数据定义语言(DDL)
数据操纵语言(DML)
数据控制语言(DCL)
5.2数据定义
5.2.1定义数据库
CREATEDATABASE<数据库名>[参数1,…参数n]
5.2.2定义表结构
CREATETABLE<表名>(
<列名><数据类型>[列级完整性约束][,…n]
[,…n]
[,表级完整性约束[,…n]])
5.2.2索引的定义和维护功能
1索引的分类
按照索引值的特点分类,可以将索引分为惟一索引和非惟一索引;按照索引结构的特点分类,可以将索引分为聚集索引和非聚集索引。
2创建索引语法如下:
CREATE[UNIQUE][CLUSTERED|NONCLUSTERED]
INDEX索引名ON表名(字段名[,…n])
[WITH[索引选项[,…n]]
[ON文件组]
5.3数据查询
v语法:
SELECT<目标列名表>
FROM<数据源表>
[WHERE<查询条件>]
[GROUPBY<分组列>]
[HAVING<组选择条件>]
[ORDERBY<排序列>]
重点,能根据要求写出相应查询语句。
5.6 数据更新(重点)
1插入数据
INSERT[INTO]<表名>[(<列名表>)]VALUES(<值表>)
功能:
向表添加一行数据。
也称单行插入语句。
INSERTINTO<表名>[(<列名表>)]<子查询>
功能:
将子查询的查询结果加入到<表名>指定的表中。
也称多行插入语句。
2修改数据
UPDATE<表名>SET<列名=常量值>[,…n]
[WHERE<查询条件>]
功能:
按查询条件找到表中满足条件的行并进行数据的修改。
3删除数据
DELETE[FROM]<表名>[WHERE<删除条件>]
功能:
删除表中满足条件的行。
5.7 视图的定义与维护
1.创建视图
CREATEVIEW<视图名>[<视图列名表>]AS<子查询>
第七章规范化
1什么是函数依赖、部分函数依赖、完全函数依赖、传递函数依赖。
设一个关系模式R(U),R是关系的名称,U是关系R的所有属性的集合,X和Y为属性集U上的子集。
若对于任一元组在X上的每一个值,都有Y上的一个唯一值与之对应,则称X函数决定Y,或称Y函数依赖于X,记作XY。
X称为这个函数依赖的决定因子。
函数依赖可以简单理解为:
如果知道属性X的值,就可以获得属性Y的值,那么属性X函数决定属性Y,或者说:
属性Y函数依赖于属性X,记作XY。
若X不函数决定Y,或Y不函数依赖于X记作:
部分函数依赖和完全函数依赖:
设一个关系R(U),R是关系的名称,U是关系R的所有属性的集合,X和Y为属性集U上的子集。
若XY,同时X的一个真子集X’且也能够函数决定Y,即存在X’Y,则称X部分函数决定Y,或Y部分函数依赖于X,记作:
。
否则若不存在一个真子集X’,使得X’也能够函数决定Y,则称X完全函数决定Y,或者Y完全函数依赖于X。
记作:
。
传递函数依赖:
设一个关系R(U),R是关系的名称,U是关系R的所有属性的集合,X、Y和Z为属性集U上的子集。
若XY,YZ,且
,
,则存在
,称X传递函数决定Z,或者说Z传递函数依赖于X。
2第一范式(INF)、第二范式(2NF)、第三范式(3NF)、BCNF范式。
第一范式(INF):
如果一个关系R的所有属性都是不可再分的基本数据项,则称关系R属于第一范式,记作R1NF。
第二范式(2NF):
如果关系R∈1NF,并且关系R的每一个非主属性不部分依赖于候选键,则R属于第二范式,记作:
R∈2NF
第三范式(3NF):
如果关系R∈2NF,且每一个非主属性都不传递依赖于候选键,则R属于第三范式,记作R∈3NF。
BCNF范式:
如果关系R∈1NF,且R中每一个决定因子都是候选键,则R属于BC范式,记作R∈BCNF。
3.仅满足1NF的关系存在哪些操作异常?
是什么原因引起的?
满足1NF的关系存在:
(1)数据冗余与更新异常
(2)插入异常
(3)删除异常
原因:
没有遵循“一事一地”存放的原则。
即一个关系模式描述一个实体或实体间的一种联系.
具体实例
4.设有一个教师任课的关系,其关系模式如下:
TDC(T#,TNAME,TITLE,D#,DNAME,DLOC,C#,CNAME,CREDIT)
其中各个属性分别表示:
教师编号、教师姓名、职称、系编号、系名称、系地址、课程号、课程名、学分。
假设:
一个教师有唯一的教师编号、一个系有唯一的系编号、一门课程有唯一的课程号,一个系有若干名教师,但一个教师只能属于一个系,一个教师可以担任多门课程的教学,同时任意一门课程可以由多名教师承担。
请问:
(1)写出该关系的函数依赖,分析是否存在部分依赖,是否存在传递依赖?
答:
主键为:
(T#,D#,C#)
T#TNAME,T#TITLE,T#D#
D#DNAME,D#DLOC
C#CNAME,C#CREDIT
存在很多部分依赖,也存在传递依赖
(2)该关系的设计是否合理?
存在哪些问题?
答:
不合理:
存在数据冗余:
一个教师上多门课程,教师信息、系信息、课程信息重复存储。
存在插入异常:
教师没有开课,不能插入,教师没有部门,不能插入
存在删除异常:
删除所有学生选课信息,则删除了所有教师与系的信息。
存在更新异常:
重复的信息,如果忘记修改某一个地方,则出现数据不一致
(3)对该关系进行规范化,使规范化后的关系属于3NF。
答:
Teacher(T#,TNAME,TITLE,D#)
Dept(D#,DNAME,DLOC)
Courses(C#,CNAME,CREDIT)
TC(T#,C#)
要求,在消化理解上述概念之后,能够解决实际问题,给定一个关系模式,分析并将其规范化。
第8章数据库保护及SQLServer的数据库保护技术
1数据库安全性控制的一般方法
用户标识和鉴别存取控制操作系统安全保护密码存储
2grant和revoke语句的使用(重点)
3.简单叙述SQLServer2000的安全认证过程。
答:
SQLServer2000中,系统用检查口令、设置角色、许可等手段来检查用户的身份及使用权限。
合法的用户才能进入数据库系统,当用户对数据库执行操作时,系统自动检查用户是否有权限执行这些操作。
一个用户如果要访问SQLServer数据库中的数据,他必须要经过三个认证过程。
(1)身份验证这时使用登录账号来标识用户,身份验证只验证用户是否具有连接到SQLServer数据库服务器的资格,即验证该用户是否具有连接到数据库服务器的“连接权”;
(2)访问验证当用户访问数据库时,必须具有对具体数据库的访问权,即验证用户是否是数据库的合法用户;
(3)操作验证当用户操作数据库中的数据或对象时,必须具有所要进行的操作的操作权,即验证用户是否具有操作许可。
4.通常情况下数据库的权限种类如何划分?
数据库中的用户按其操作权限可分为哪几类?
每一类的权限范围是什么?
答:
通常情况下,我们将数据库的中的权限划分为两类:
第一类是对数据库管理系统进行维护的权限;第二类是对数据库中的对象和数据进行操作的权限,这类权限又分为两种,一种是对数据库对象的权限,包括创建、删除和修改如表、视图等数据库对象;另一种是对数据库数据的操作权,包括对表、视图数据的增加、删除、修改、查看的权力。
数据库中的用户按其操作权限的大小可分为如下三类:
数据库系统管理员,具有一切权限;数据库对象拥有者,对其所拥有的对象具有一切权限;普通用户,只具有对数据库数据的增加、删除、修改、查看的权力。
5.SQLServer2000提供的安全身份认证有哪几种模式?
各自的含义是什么?
答:
SQLServer2000提供了两种确认用户的验证模式:
Windows验证模式和混合验证模式。
Windows验证模式利用了Windows本身具备的管理登录、验证用户合法性的能力,允许SQLServer用户登录时使用Windows的用户名和口令。
在这种模式下,用户只需要通过Windows的验证,就可以连接到SQLServer。
此时,系统从用户登录到Windows时提供的用户名和密码中查找当前用户的登录信息,从而来判断当前用户是否为合法用户。
混合验证模式接受Windows授权用户和SQL授权用户。
如果不是Windows操作系统的用户也希望使用SQLServer,那么应该选择混合验证模式。
在该认证模式下,用户连接SQLServer时必须提供登录名和登录密码,这些登录信息存储在系统表syslogins中,与操作系统的登录帐号无关。
SQLServer自行执行认证处理,如果输入的登录信息与系统表syslogins中的记录相匹配,则登录成功。
6.为什么要备份数据库?
SQLServer2000支持哪几种类型的数据库备份?
答:
在有些情况下,数据库自身的安全管理机制是无能为力的。
在实际应用环境中,计算机系统可能会受到各种各样的干扰和侵袭。
最为常见的有病毒破坏、计算机设备硬件故障及误操作等。
在这些情况发生时,很可能导致的数据的丢失和破坏。
为了能尽快恢复系统的正常工作并把损失降低到最低,必须对系统数据进行备份,以便在需要时能够及时恢复数据。
SQLServer2000支持四种形式的备份:
(1)数据库备份(完全数据库备份)(DatabaseBackups):
数据库备份是指对数据库的完整备份,包括所有的数据库对象、数据和事务日志中的事务。
(2)差异数据库备份(增量备份)(DifferentialDatabaseBackups):
差异备份是指将最近一次数据库备份(完全数据库备份)以来发生的数据变化备份起来,因此差异备份实际上是一种增量数据库备份。
(3)事务日志备份(TransactionLogBackup):
事务日志是对数据库发生的事务进行备份包括从上次事务日志备份、差异备份和完全数据库备份后,数据库已经执行完成的所有事务。
它可以在相应的数据库备份的基础上,将数据库恢复到特定的即时点或恢复到故障点时的状态。
(4)数据库文件和文件组备份(FileandFileGroupBackup):
文件或文件组备份是指对数据库文件或文件夹进行备份,但其不像完全数据库备份那样同时也进行事务日志备份。
使用该备份方法可提高数据库恢复的速度,因为其仅对遭到破坏的文件或文件组进行恢复。
7事务并发操作可能产生的数据不一致问题
(a)丢失数据(b)不可重复读(c)读“脏”数据
8锁的类型
(1)排它锁(ExclusiveLocks,简称X锁)。
(2)共享锁(ShareLocks,简称S锁)。
9封锁协议
(1)一级封锁协议。
一级封锁协议是事务T在修改数据之前必须先对其加X锁,直到事务结束才释放。
(2)二级封锁协议。
二级封锁协议是:
事务T对要修改数据必须先加X锁,直到事务结束才释放X锁;对要读取的数据必须先加S锁,读完后即可释放S锁。
(3)三级封锁协议。
三级封锁协议是事务T在读取数据之前必须先对其加S锁,在要修改数据之前必须先对其加X锁,直到事务结束后才释放所有锁。
10用封锁机制解决三种数据不一致性的例子
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 复习 串讲