2022年数据库原理复习知识点 .pdf
读书之法 ,在循序而渐进 ,熟读而精思数据库原理复习知识点关系代数关系数据库的数据操作分为查询和更新两类。查询语句用于各种检索操作,更新操作用于插入、删除和修改等操作。关系查询语言根据其理论基础的不同分成两大类:1.关系代数语言:查询操作是以集合操作为基础运算的DML 语言。2.关系演算语言:查询操作是以谓词演算为基础运算的DML 语言。关系代数的五个基本运算关系代数是以关系为运算对象的一组高级运算的集合。关系定义为元数相同的元组的集合。集合中的元素为元组,关系代数中的操作可分为两类:传统的集合操作:并、差、交、笛卡尔积。扩充的关系操作:投影,选择,联接和自然联接,除。1.并设有两个关系R 和 S 具有相同的关系模式,R 和 S 的并是由属于R 和 S 的元组构成的集合,记为 R S. 注意: R 和 S 的元数相同。2.差设有两个关系R 和 S 具有相同的关系模式,R 和 S 的差是由属于R 但不属于S 的元组构成的集合,记为RS. 注意: R 和 S 的元数相同。3.笛卡尔积设关系 R 和 S 的元数分别为r 和 s.定义 R 和 S 的笛卡尔积是一个(r+s)元的元组集合,每个元组的前r 个分量(属性值)来自R 的一个元组,后s 个分量来自S 的一个元组,记为R S. 若 R 有 M 个元组, S 有 n 个元组,则R S 有 m n 个元组。4.选择精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 7 页读书之法 ,在循序而渐进 ,熟读而精思从关系中找出满足给定条件的所有元组称为选择。其中的条件是以逻辑表达式给出的,该逻辑表达式的值为真的元组被选取。这是从行的角度进行的运算,即水平方向抽取元组。经过选择运算得到的结果可以形成新的关系,其关系模式不变,但其中元组的数目小于或等于原来的关系中的元组的个数,它是原关系的一个子集。记为: F (R)tt 属于 RF(t)=true 5.投影从关系中挑选若干属性组成的新的关系称为投影。这是从列的角度进行运算。经过投影运算可以得到一个新关系,其关系所包含的属性个数往往比原关系少,或者属性的排列顺序不同。如果新关系中包含重复元组,则要删除重复元组。记为: A ( R)=tA t 属于 R ?A 为 R 中的属性列。例如: 3,1(R)关系代数的四个组合操作1.交关系 R 和 S 的交是由属于R 又属于 S的元组构成的集合,记为 R S.R 和 S 要求定义在相同的关系模式上。R Stt 属于 Rt 属于 S,R 和 S的元数相同。2.联接联接有两种:联接和 F 联接( 是算术比较符,F 是公式)。 联接联接是从关系R 和 S 的笛卡尔积中选取属性值满足某一操作的元组,记为:Ri jS,这里 i 和 j 分别是关系R 和 S 中第 i 个、第 j 个属性的序号。Ri jSi (r+j) (R S)如果 是等号 “=”,该联接操作称为“ 等值联接 ” 。 F 联接F 联接操作是从关系R 和 S 的笛卡尔积中选取属性值满足某一公式F 的元组,记为:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 7 页读书之法 ,在循序而渐进 ,熟读而精思R F S,这里的F 是形为 F1F2Fn 的公式,每一个f 都是形为i j的式子,而i和 j 分别是关系R 和 S 中第 i 个、第 j 个属性的序号。3.自然联接两个关系R 和 S的自然联接用R S 表示。具体计算过程如下:计算 R S 设 R 和 S 的公共属性是A1, ,Ak ,挑选 R S中满足 R .A1=S.A1 , ,R.Ak=S.Ak的那些元组去掉 S.A1, ,S.Ak 的这些列。如果两个关系中没有公共属性,那么其自然联接就转化为笛卡尔积操作。4.除法给定关系R(X,Y)和 S( Y,Z) ,其中 X,Y,Z 为属性组。 R 中的 Y 与 S 中的 Y 可以有不同的属性名,但必须出自相同的域集。R 与 S 的除运算得到一个新的关系P(X) ,P 是 R 中满足下列条件的元组在X 属性上的投影:元组在X 上分量值x 的象集 YX 包含 S 在 Y 上投影的集合。关系代数表达式及其应用实例在关系代数运算中,把由五个基本操作经过有限次复合的式子称为关系代数表达式。这种表达式的结果仍然是一个关系。可以使用关系代数表达式表示各种数据查询操作。例题:设教学库中有三个关系:学生关系S(S#,SNAME ,AGE ,SEX)?学习关系SC( S#,C#,GRADE )课程关系C(C#,CNAME ,TEACHER )下面用关系代数表达式表达各个查询语句1.检索学习课程号为C2 的学生学号与成绩。2.检索学习课程号为C2 的学生学号与姓名。3.检索选修课程名为MATHS 的学生学号与姓名。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 7 页读书之法 ,在循序而渐进 ,熟读而精思4.检索选修课程号为C2 或 C4 的学生学号。5.检索至少选修课程号为C2 或 C4 的学生学号。6.检索不学C2 课的学生姓名有年龄。7.检索学习全部课程的学生姓名。1. S# ,GRADE (C#= C2 (SC) )或 1,3(2=C2 (SC) )2. S# ,SNAME (C#= C2 (S SC) )3. S# ,SNAME (CNAME=MATHS(S SC C) )4. S# (C#= C2 C#= C4 (SC) )5. 1(1=4 2=C2 5=C4 (SC SC) )6. SNAME ,AGE(S) SNAME ,AGE(C#= C2 (S SC) )7.学生选课情况:S#,C#(SC)全部课程: C#(C)学了全部课程的学生的学号用除操作,结果是学号S#集:S#,C#(SC)C# (C)从 S#求学生姓名,可用自然联接和投影组合操作:SNAME (S ( S#,C#(SC)C# ( C) ) )关?系?模?型?关系模型是1970 年由 E.F.Codd 提出的。与层次、网状模型相比,它有以下特点:1.数据结构简单二维表格2.扎实的理论基础。a.关系运算理论精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 7 页读书之法 ,在循序而渐进 ,熟读而精思b.关系模式设计理论关系模型的基本概念?用二维表格结构表示实体,外键表示实体间联系的数据模型称为关系模型。?介绍二维表格中的术语,体系结构,完整性约束和关系模型的形式定义。?二维表格的基本术语1.二维表格关系模型中,字段称为属性,字段值称为属性值,记录类型称为关系模型。关系模式名是R.记录称为元组,元组的集合称为关系或实例。一般用大写字母A、B、C、 表示单个属性,用小写字母表示属性值。关系中属性的个数称为“ 元数 ” ,元组的个数称为“ 基数 ” 。例子的关系元数为 5,基数为2.有时也称关系为表格,元组为行,属性为列。2.键键由一个或几个属性组成,分为以下几种:a.超键:在关系中能惟一标识元组的属性集称为关系模式的超键。b.候选键: 不含多余属性的超键称为候选键。即在候选键中,若要再删除属性,就不是键了。c.主键:用户选作元组标识的一个候选键称为主键。一般情况下,键指主键。3.关系的定义和性质关系是一个元数为K(K=1 )的元组的集合。关系是一种规范化的表格,它有以下限制:a.关系中的每一个属性值都是不可分解的。b.关系中不允许出现相同的元组。c.关系中不考虑元组之间的顺序。d.元组中属性也是无序的。关系模式、关系子模式和存储模式关系模型中, 概念模式是关系模式的集合,外模式是关系子模式的集合,内模式是存储模式精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 7 页读书之法 ,在循序而渐进 ,熟读而精思的集合。1.关系模式关系模式实际就是记录类型,包括:模式名、属性名、值域名以及模式的主键。它不涉及物理存储方面的描述,只是对数据特性的描述。2.关系子模式子模式是用户所用到的那部分数据的描述。除了指出用户的数据外,还应指出模式与子模式之间的对应性。3.存储模式关系存储时的基本组织方式是文件,元组是文件中的记录。由于关系模式有键,因此存储一个关系可以用散列方法或索引方法实现。关系模型的三类完整性规则1.实体完整性规则这条规则要求关系中元组在组成主键的属性上不能有空值。如有空值, 那么主键值就起不了惟一标识元组的作用。2.参照完整性规则如果属性集K 是关系模式R1 的主键, K 也是关系模式R2 的外键, 那么在 R2 的关系中, K的取值只允许有两种可能,或为空值,或等于R1 关系中某个主键值。使用时应注意:a.外键和相对应的主键可以不同名,只要定义在相同的值域上即可。b.R1 和 R2 也可以是同一个关系模式,表示了属性之间的联系。c.外键值是否允许为空,应视具体问题而定。3.用户定义的完整性规则这是针对具体数据的约束条件,由应用环境而定。?关系模型的形式定义三个组成部分:数据结构、数据操作和完整性规则。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 7 页读书之法 ,在循序而渐进 ,熟读而精思1.关系模型的基本数据结构就是关系。2.关系运算分为关系代数和关系演算。3.关系模型的三类完整性规则。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 7 页