《数据库系统原理》知识点概念0809.docx
- 文档编号:11357699
- 上传时间:2023-02-28
- 格式:DOCX
- 页数:68
- 大小:55.85KB
《数据库系统原理》知识点概念0809.docx
《《数据库系统原理》知识点概念0809.docx》由会员分享,可在线阅读,更多相关《《数据库系统原理》知识点概念0809.docx(68页珍藏版)》请在冰豆网上搜索。
《数据库系统原理》知识点概念0809
《数据库系统原理》知识点(含技能点)
Term1_CH01
知识点
所在
章节
链接/参考答案
数据库(DB)数据库管理系统(DBMS)
1.1.2
数据库管理系统(databasemanagementsystem,DBMS)是由一个相互关联的数据的集合和一组用以访问、管理和控制这些数据的程序组成。
这个相互关联的数据集合称为数据库(database,DB)。
数据独立
1.1.2
数据独立是指数据的使用(即应用程序)与数据的说明(即数据的组织结构与存储方式)分离,使应用程序只考虑如何使用数据,而无须关心它们是如何构造和存储的,因而各方(在一定范围内)的变更互不影响。
数据独立性
1.1.2
数据独立性是用来描述应用程序与数据结构之间的依赖程度,包括数据的物理独立性和数据的逻辑独立性,依赖程度越低则独立性越高。
逻辑独立性是指用户的应用程序与数据库中数据的逻辑结构是相互独立的。
数据逻辑独立性
1.1.2
数据物理独立性
1.1.2
物理独立性是指用户的应用程序与数据库中数据的物理结构是相互独立的。
数据模型
1.2
数据模型是一个描述数据结构、数据操作以及数据约束的数学形式体系(即概念及其符号表示系统)。
其中,数据结构用于刻画数据、数据语义以及数据与数据之间的联系;数据约束是对数据结构和数据操作的一致性、完整性约束,亦称为数据完整性约束。
数据模型的组成要素
1.2.2
数据模型通常由数据结构、数据操作和数据完整性约束3部分组成。
(1)数据结构描述数据库的组成对象(实体)以及对象之间的联系。
(2)数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作集合,包括操作及有关的操作规则。
(3)数据完整性约束是一组数据完整性规则。
数据完整性规则是数据、数据语义和数据联系所具有的制约和依存规则,包括数据结构完整性规则和数据操作完整性规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容。
数据模型的要求
1.2.1
数据模型应满足3方面的要求:
(1)能够比较真实地模拟现实世界;
(2)容易被人所理解;(3)便于在计算机上实现。
概念模型
1.2.1
概念层次的数据模型称为概念数据模型,简称为概念模型,它按用户的观点或认识对现实世界的数据和信息进行建模,主要用于数据库设计。
逻辑模型
1.2.1
逻辑层是数据抽象的中间层,用于描述数据库数据的整体逻辑结构,是现实世界的第二层抽象。
该层的数据抽象称为逻辑数据模型(简称为逻辑模型)。
物理模型
1.2.1
物理层是数据抽象的最低层,用来描述数据的物理存储结构和存取方法。
这一层的数据抽象称为物理数据模型。
关系模型
1.2.5
关系模型由一组关系组成,每个关系的数据结构是一张规范化的二维表。
关系
1.2.5
关系(relation):
一个关系对应一张二维表,每一个关系有一个名称即关系名。
元组
1.2.5
元组(tuple):
表中的一行称为一个元组。
属性
1.2.5
属性(attribute):
表中的一列称为一个属性,每一个属性有一个名称即属性名。
码
1.2.5
码(key):
也称为码键。
表中的某个属性或属性组,它可以唯一地标识表中的一行。
域
1.2.5
域(domain):
属性的取值范围。
分量
1.2.5
分量(component):
元组中的一个属性值。
外码
1.2.5
外码(foreignkey):
表中的某个属性或属性组,用来描述本关系中的元组(实体)与另一个关系中的元组(实体)之间的联系,因此,外码的取值范围对应于另一个关系的码的取值范围的子集。
关系模式
1.2.5
关系模式(relationalschema):
通过关系名和属性名列表对关系进行描述,相当于二维表的表头部分(即表格的描述部分)。
关系模型的优缺点
1.2.5
关系模型的主要优点:
①关系模型建立在严格的数学概念的基础之上,有关系代数作为语言模型,有关系数据理论作为理论基础;②关系模型的概念单一,无论实体还是实体之间的联系都是用关系来表示,对数据(关系)的操作(查询和更新)结果还是关系,所以其数据结构简单、清晰,用户易懂易用;③关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作,提高了软件的开发和维护效率。
关系模型的主要缺点:
由于存取路径对用户透明,查询效率往往不如非关系数据模型。
数据库三级模式
1.3
数据库的三级模式结构是指数据库管理系统提供的外模式、模式和内模式3个不同抽象级别观察数据库中数据的角度,它是对数据的3个级别的抽象,它将数据的具体组织留给DBMS管理,使用户能够逻辑地、抽象地看待和处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。
模式
1.3
模式也称为逻辑模式,对应于逻辑层数据抽象,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
外模式
1.3
外模式也称子模式或用户模式,对应于视图层数据抽象,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一具体应用有关的数据的逻辑表示。
内模式
1.3
内模式也称存储模式,对应于物理层数据抽象,它是数据的物理结构和存储方式的描述,是数据在数据库内部的表示方式。
数据库两层映像
1.3
为了能够在系统内部实现数据库中3个抽象层次的数据之间的联系和转换,DBMS在外模式、模式和内模式之间提供了两层映像:
外模式/模式映像、模式/内模式映像。
正是这两层映像保证了数据库管理系统中的数据能够具有较高的逻辑独立性和物理独立性。
数据库系统
(DBS)
1.4
数据库系统(databasesystem,DBS)是指在计算机系统中引入数据库后的系统。
Term1_CH02
知识点
所在
章节
链接/参考答案
关系
2.1.1
关系模型的数据结构就是二维表,亦称为关系,每个表(关系)有唯一的名字,即关系名。
表中一行代表的是若干值之间的关联,即表的一行是由有关联的若干值构成。
关系数据库
2.1.1
关系数据库是表的集合,即关系的集合。
在一个给定的应用领域中,所有实体以及实体之间的联系所对应的关系的集合就构成一个关系数据库。
域
2.1.1
域是一组具有相同数据类型的值的集合。
空值
2.1.1
空值(用null表示)是所有可能的域的一个取值,表明值未知或不存在。
笛卡尔积
2.1.1
给定一组域D1,D2,…,Dn,它们之中可以有相同的域。
D1,D2,…,Dn的笛卡尔积为:
D1×D2×…×Dn={(d1,d2,…,dn)∣di∈Di,i=1,2,…,n},其中,集合中的每一个元素(d1,d2,…,dn)称为一个n元组,简称为元组;元素中的每一个值di称为一个分量。
关系模式
2.1.1
关系的描述称为关系模式。
它可以形式化地表示为:
r(U,D,DOM,F),其中,r为关系名,U为组成该关系的属性名的集合,D为属性集U中所有属性所来自的域的集合,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合(即体现一个元组的各属性取值之间的“关联”性)。
超码
2.1.1
对于关系r的一个或多个属性的集合A,如果属性集A可以唯一地标识关系r中的一个元组,则称属性集A为关系r的一个超码。
候选码
2.1.1
对于关系r的一个或多个属性的集合A,如果属性集A是关系r的超码,且属性集A的任意真子集都不能成为关系r的超码,则称属性集A为候选码。
主码
2.1.1
若一个关系有多个候选码,则可以选定其中的一个候选码作为该关系的主码。
外码
2.1.1
设F是关系r的一个属性(或属性集),Ks是关系s的主码。
如果F与Ks相对应(即关系r中属性F的取值范围对应于关系s中主码Ks的取值范围的子集),则称F是关系r参照关系s的外码。
关系数据库模式
2.1.1
关系数据库也有型和值之分,关系数据库的型就是关系数据库模式,关系数据库模式就是它所包含的所有关系模式的集合,是对关系数据库的描述;关系数据库的值就是这些关系模式在某一时刻所对应的关系的集合,通常就称为关系数据库实例。
关系完整性约束
2.1.2
关系模式中有3类数据完整性约束:
实体完整性、参照完整性和用户自定义完整性。
实体完整性
2.1.2
若属性集A是关系r的主码,则A不能取空值null。
参照完整性
2.1.2
若关系r的外码F参照关系s的主码,则对于关系r中的每一个元组在属性F上的取值,要么为空值null,要么等于关系s中某个元组的主码值。
数据库模式导航图
2.1.2
两个关系之间的多对一(或一对一)联系或一个关系内部的多对一(或一对一)联系通过有向连线来表示,且连线由多的一方指向一的一方,即由外码指向主码。
这种带有有向连线的数据库模式图称为数据库模式导航图,它有利于理解一个关系数据库中各关系之间的有机联系。
用户自定义完整性
2.1.2
用户自定义完整性就是针对不同应用业务的语义而由用户自己定义的一些完整性约束条件。
关系操作
2.1.3
关系模型中的关系操作有查询操作和更新操作(包括插入、删除和修改)两大类。
关系操作的特点是集合操作方式,即操作的对象和结果都是集合。
抽象层次上的关系查询语言有关系代数、关系演算和SQL语言等。
关系代数
2.2
关系代数是通过关系代数运算来构造查询表达式。
基本的关系代数运算有选择、投影、集合并、集合差、笛卡尔积和更名等。
在这些基本运算之外,还有一些其他运算,即集合交、自然连接、除和赋值等。
并运算
2.2.1
r∪s={t∣tr∨ts}
交运算
2.2.1
r∩s={t∣tr∧ts}
差运算
2.2.1
r-s={t∣tr∧ts}
笛卡尔积运算
2.2.1
r×s={tr·ts∣trr∧tss}
选择运算
2.2.2
σP(r)={t∣tr∧P(t)},其中P表示谓词(即选择条件),它是一个逻辑表达式,取值为“真”或“假”。
简单谓词的形式为:
XopY,其中op为比较运算符,包括<、<=、>、>=、=和!
=(或<>);运算对象X、Y可以是属性名、常量或简单函数等。
通过非()、与(∧)、或(∨)等逻辑运算符可以将多个简单谓词连接起来构成更复杂的谓词。
投影运算
2.2.2
∏A(r)={t[A]∣tr},其中:
A为关系r的属性集合。
连接运算
2.2.2
r⋈θs={tr·ts∣trr∧tss∧(r.Aops.B)},θ连接运算就是从关系r和s的笛卡尔积r×s中,选取r关系在A属性集上的值与s关系在B属性集上的值满足连接谓词θ的所有元组,即r⋈θs=
自然连接运算
2.2.2
r⋈s={tr·ts∣trr∧tss∧(r.A1=s.A1∧r.A2=s.A2∧…∧r.Ak=s.Ak)}
除运算
2.2.2
设关系r(R)和s(S),属性集S是R的子集,即SR,则关系r÷s是关系r中满足下列条件的元组在属性集R-S上的投影:
trr,记x=tr[R-S],则关系r中属性集R-S的取值x的象集Sx包含关系s。
记作
r÷s={tr[R-S]∣trr∧sSx}
象集
2.2.2
给定一关系r(A,B),A和B为属性集。
tr,记t[A]=x,则在关系r中属性集A的某个取值x的象集定义为:
Bx={t[B]∣tr,t[A]=x},它表示关系r中属性集A上取值为x的所有元组在属性集B上的投影。
Term1_CH03
知识点
所在
章节
链接/参考答案
视图
3.1
视图是指从一个或几个基本表(或视图)导出的表,是虚表,只存放视图的定义而不存放对应的数据。
查询表
3.1
查询表是指查询结果对应的表。
SQL查询
3.2~
3.7
SQL查询语句SELECT共有6个子句,其中SELECT和FROM是必须的,其它是可选项,它们必须严格按照如下顺序排列:
SELECT[ALL|DISTINCT]<目标列表达式>[AS][<别名>][,<目标列表达式>[AS][<别名>]...]
FROM{<表名>|<视图名>|<查询表>}[AS][<别名>][,{<表名>|<视图名>|<查询表>}[AS][<别名>]...]
[WHERE<条件表达式>]
[GROUPBY<列名1>[,<列名2>...]
[HAVING<条件表达式>]]
[ORDERBY<列名表达式>[ASC|DESC][,<列名表达式>[ASC|DESC]...]]
投影运算
3.2
SELECT子句对应于关系代数中的投影运算,用来指定查询结果中所需要的属性或表达式。
笛卡尔积
3.2
FROM子句对应于关系代数中的笛卡尔积,用来给出查询所涉及的表,表可以是基本表、视图或查询表。
选择运算
3.2
WHERE子句对应于关系代数中的选择运算,用来指定查询结果元组所需要满足的选择条件。
WHERE子句中常用的查询条件有:
比较运算(>、>=、<、<=、=、<>)、范围运算(BETWEEN...AND)、集合运算(IN)、空值判别运算(ISnull)、字符匹配运算(LIKE)和逻辑运算(AND、OR、NOT)。
排序运算
3.2
ORDERBY子句实现排序运算,可以实现按指定属性、函数或表达式进行排序,ASC(可缺省)指定按升序排序;DESC指定按降序排序。
连接运算
3.3
通过在WHERE子句中加入连接多个关系的连接条件实现多表之间的连接运算,连接谓词中的属性称为连接属性,连接属性之间必须具有可比性。
因此,SQL查询的连接运算可以理解为笛卡尔积(FROM子句)基础上的选择运算(WHERE子句)。
连接运算是关系数据库中使用最广泛的一种运算,包括等值连接、自然连接、非等值连接、自表连接和外连接等。
分组聚合运算
3.4
在SQL查询中,往往需要对数据进行分类聚合运算(即分组聚合运算),分组聚合运算的目的是为了细化聚合函数的作用对象,SELECT语句中通过使用GROUPBY和HAVING子句来实现分组聚合运算。
SQL查询提供的聚合函数主要包括:
元组计数函数count、计算元组属性值的总和函数sum、计算元组属性值的平均值函数avg、求元组属性值的最大值函数max、求元组属性值的最小值函数min。
嵌套子查询
3.5
在SQL查询中,一个SELECT-FROM-WHERE查询语句称为一个查询块,将一个查询块嵌入到另一个查询块的WHERE子句或HAVING子句中,称为嵌套子查询(简称为子查询)。
可分为非相关子查询和相关子查询。
嵌套子查询可通过使用元素与集合之间的IN运算符、元素与集合之间的比较运算符(如>ANY、<=ALL等)、谓词[NOT]EXISTS等方式来构造。
SQL查询允许多层嵌套子查询,但是在子查询中,不允许使用ORDERBY子句,该子句仅用于最后的输出结果排序。
非相关子查询
3.5.1
3.5.2
非相关子查询是指子查询的结果不依赖于上层查询。
相关子查询
3.5.3
相关子查询是指当上层查询的元组发生变化时,其子查询必须重新执行。
SQL数据定义语言
3.8
数据库中的关系集合必须由数据定义语言DDL来定义,包括:
数据库模式、关系模式(含每个属性的名称、值域等)、关系完整性约束、每个关系的索引集合和关系的物理存储结构等。
定义数据库
3.8.1
定义数据库操作的语法为:
CREATEDATABASE
[ON[
[LOGON{
定义基本表
3.8.2
创建基本表操作的语法为:
CREATETABLE
[CONSTRAINT
(
[CONSTRAINT
FOREIGNKEY(
[REFERENCE[
(
索引
3.8.3
索引通常是由指针构成的记录,索引中的记录按照索引码值进行排序,但不改变表中记录的物理顺序。
建立索引后,系统存取数据时会自动选择合适的索引作为存取路径。
索引是加快数据检索的一种工具,一张表可以建立多个索引,可从不同的角度加快查询速度,但是如果索引建立得较多,会给数据维护带来较大的系统开销。
定义索引
3.8.3
建立索引操作的语法为:
CREATE[UNIQUE][CLUSTERED|NONCLUSTERED]
INDEX
ON
[ON
SQL数据更新语言
3.9
SQL数据更新语句包括3条:
插入INSERT、删除DELETE和修改UPDATE。
插入
3.9
INSERTINTO
VALUES(
删除
3.9
DELETEFROM
修改
3.9
UPDATE
SET
[FROM
[,
[WHERE
定义视图
3.10
CREATEVIEW
AS
[WITHCHECKOPTION]
Term1_CH04
知识点
所在
章节
链接/参考答案
数据库设计
4.1
数据库设计就是根据各种应用处理的要求、硬件环境及操作系统的特性等,将现实世界中的数据进行合理组织,并利用已有的数据库管理系统(DBMS)来建立数据库系统的过程。
具体地说,是对于一个给定的应用环境,构造出最优的数据库逻辑模式和物理模式,并以此来建立数据库及其应用系统,使之能够有效地存储和管理数据,满足用户的信息要求和处理要求。
数据库设计过程
4.1
数据库设计过程通常可分为如下6个步骤:
需求分析、概念设计、逻辑设计、模式求精、物理设计、应用与安全设计。
需求分析
4.1
该步骤是了解和分析系统将要提供的功能及未来数据库用户的数据需求。
例如,分析系统具有哪些功能需求,哪些数据要存储在数据库中,使用数据的业务规则是什么,数据之间有什么联系及约束,哪些数据会被频繁访问,有哪些性能需求等等,即了解用户真正希望从数据库中得到什么。
概念设计
4.1
根据需求分析中得到的信息,选择适当的工具将这些需求转化为数据库的概念模型。
本书主要介绍基于E-R模型的数据库概念设计,其目的是通过实体、联系、属性等概念和工具精确地描述系统的数据需求、数据联系及约束规则。
逻辑设计
4.1
本步骤是将数据库的概念设计转化为所选择的数据库管理系统支持的逻辑数据模型,即数据库模式。
由于本书只讨论关系数据库,因此逻辑数据库设计的任务是将E-R模型转化为关系数据库模式。
模式求精
4.1
以关系数据理论做指导,对已得到的关系数据库模式进行分析,找出潜在的问题并加以改进和优化,如减少数据冗余,消除更新、插入与删除异常等。
需求分析与概念设计显得比较主观,而模式求精则是基于完善的关系数据理论进行的。
实体
4.2.1
实体是客观世界中可区别于其他事物的“事物”或“对象”。
实体集
4.2.1
实体集是指具有相同类型及相同性质(或属性)的实体集合。
属性
4.2.2
实体是通过一组属性来描述的,属性是实体集中每个实体都具有的特征描述。
简单属性
4.2.2
简单属性是指不能再分为更小部分的属性。
复合属性
4.2.2
复合属性是指可以进一步划分为更小部分的属性。
单值属性
4.2.2
如果某属性对一个特定实体任何时候都只能有单独的一个值,则称该属性为单值属性,否则为多值属性。
多值属性
4.2.2
派生属性
4.2.2
如果某属性的值可以从其它相关属性或实体(集)派生出来,则该属性称为派生属性。
多值属性的变换
4.2.2
多值属性的一个可选的建模方案是:
将多值属性转换为多个单值属性进行表示。
多值属性的另一个可选建模方案是:
将多值属性单独建模为一个弱实体集,它依赖于原实体集而存在。
联系
4.2.3
联系是指多个实体间的相互关联,联系集是同类联系的集合。
如果El,E2,…,En为n个实体集,那么联系集R是{(e1,e2,…,en)︱e1∈E1,e2∈E2,…,en∈En}的一个子集,而(e1,e2,…,en)是一个联系。
联系集
4.2.3
多联系
4.2.3
给定的各实体之间可以有多种不同的联系,即多个不同的联系集可以定义在一些相同的实体集上,我们称之为实体之间的多联系。
联系集的度
4.2.3
参与联系集的实体集的数目称为联系集的度。
E-R模型
4.1
4.2
E-R模型(亦称为E-R图)是通过实体、联系、属性等概念和工具精确地描述系统的数据需求、数据联系及约束规则,用于数据库概念建模。
在E-R图中,实体集用矩形表示;属性用椭圆表示,多值属性用双椭圆表示,派生属性用虚线椭圆表示;联系集用菱形表示;属性与实体集、联系集之间用连线表示,实体集与联系集之间也用连线表示。
完整性约束
4.3
E-R模型可以定义一些实体集(或联系集)中的实体(或联系)必须满足的完整性约束,主要包括映射基数约束、码约束、依赖约束及参与约束等。
其中,码约束体现了实体完整性的要求,映射基数约束、依赖约束及参与约束体现了参
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库系统原理 数据库 系统 原理 知识点 概念 0809