计算机四级数据库原理 第3章 「关系数据库系统概述」

3.1

1. 关系语言的特点是高度非过程化, DBMS会自动帮用户选择存取路径,用户不需要依靠循环和递归完成数据的重复操作。关系操作的对象和结果都是集合

 

2. 关系数据语言可以分为三类:关系代数语言、关系演算语言以及兼具两者双重特点的语言

 

3. 数据库的数据完整性是指数据库中数据的正确性相容性一致性

 

3.2

1. 在一个二维表中,属性的个数成为关系的。二维表中的行,即对关系的描述称为关系模式, 关系模式和元祖的集合通称为关系

 

2. 选出一个属性或者属性的组合,如果这些属性的值能够唯一标识该关系的元祖,则称这些属性为关系的(举个例子,学生的姓名可以唯一标识一个学生,那么姓名就可以成为该关系的码;同样的,如果班里有重名的学生的话,使用学号和姓名才能唯一标识学生,所以学号+姓名就是一个称为码的属性组)

 

3. 超码(超键):如果对于一个属性组,如果移除某个属性,该属性组仍然还是关系的码,那么就称原来的属性组为超码, 所有属性的组合称为该关系的最大超码(比如学号+姓名+性别就是一个超码,因为把性别去掉之后仍然可以唯一标识该关系的元祖)

 

4. 候选码:只要不是超码的码就可以称作候选码,比如姓名+学号和姓名+身份证号都能唯一标识一个学生,那么这两个属性组都是候选码。包含在任何一个候选码中的属性都可以称为主属性

 

5. 主码:从候选码中指定一个属性或者属性组,可以作为该关系的主码或主键,比如就选定学号+姓名作为主码,它可以唯一标识某个学生,并且它不是超码

 

6. 全码:如果所有属性的组合可以作为候选码,则称该组合为全码或全键

 

7. 从数学观点定义关系:1.用集合论的观点定义关系 2.用值域的概念定义关系,关系是属性值域笛卡尔积的一个子集

 

3.3

1. 实体完整性:如果属性A是关系R的主属性,则属性A不能取空值

 

2. 参照完整性:若属性F是关系R的外码,它与关系S的主码K相对应,则对于R中每个元组上F的值要么为空,要么等于S中某个元组的主码值

 

3. 用户自定义完整性:主要包括域完整性约束和其他特殊约束,域完整性指的是对属性的取值的限制。域完整性约束较为广泛,与属性的含义和行为相关。域完整性还包括定义属性间的依赖关系,包括函数依赖和多值依赖

 

3.4

1. 并、差、笛卡尔积、投影、选择这五种操作称为基本的操作(注意这里面没有交)

 

2. 并、交、差必须满足相容性条件, 该条件指的是参与运算的两个关系具有相同的属性个数,并且对应的属性的域是相同的

 

3. 笛卡尔积:比如有表RS,简单来讲就是R关系的每一个元组分别与S关系的每个元组连接,然后形成一个新的表,这里拿百度百科一张图

比如R的第一行分别和S的123行连接, 其他行也是一样,然后形成一张大表,这里可以类比线性代数中矩阵的乘

 

4. 选择:类似sql中的where语句,选择满足选择条件的元组

 

5. 投影:选择制定的若干属性组成新的关系,与选择的区别是,选择是对于行来讲的,而投影是对于属性来讲的。投影还会消除重复元祖

 

6. 连接分为等值连接自然连接,等值连接是选取属性值相等的哪些元组。自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。如果两个关系没有公共属性,那么它们的自然连接就变为笛卡尔积

 

7. 外连接:分为左外连接和右外连接,即sql中的left join和right join,A 左外 B表示A的所有值都要保留,即使对应的B属性有空值, 写题的时候哪外连接,另一边的属性里面就有null,比如A 右外连接B,连接后的表中A包含的属性就会有null值

 

8. 半连接:R和S自然连接只保留R或S的属性就是半连接

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值