第2章 关系数据库

1、关系数据库概述

1.1 关系数据库的产生历史

2、关系数据模型

2.1 组成要素

关系数据结构;关系操作集合;关系完整性约束

2.2 关系数据结构

2.2.1 表(Table)

2.2.2 关系(Relation)

2.2.3 关系的三种类型

2.2.4 列

  • 表名必须唯一
  • 字段名必须唯一
  • 不同表中可以出现相同的字段名

2.2.5 属性

2.2.6 行

2.2.7 分量

2.2.8 码或键(key)

2.2.9 超码或超键

2.2.10 候选码或候选键

单个属性的码一定是候选码

2.2.11 主属性或非主属性

2.2.12 主码或主键

2.2.13 全码或全键

2.2.14 外码或外键

2.2.15 参照关系与被参照关系

主码:也叫做主关系或被参照关系

外码:也叫做从关系或参照关系

2.2.16 域

2.2.17 概要

在关系的一个码或键中,不能从中移去任何一个属性,否则它就不是这个关系的码或键,称这样的码或键为该关系的( 候选码或候选键 )。

一个关系的候选码或候选键是这个关系的( 最小 )超码或超键。

在数据库中,关系中包含在任何一个候选码中的属性称为(主属性或码属性

2.2.18 数据类型

2.2.19 关系模型

2.2.20 关系数据库

2.2.21 关系数据库应用

2.2.22 简答:关系数据库对关系的限定有哪些具体要求?

在关系中,任意两行数据是允许重复的.

在关系中,如果设置了候选码,则任意两行数据是不允许重复的.

2.3 关系操作

2.3.1 概要

2.3.2 查询

2.3.3 特点

说明:关系操作是通过关系语言实现的.

2.4 关系数据语言

2.4.1 关系代数语言

2.4.2 结构化查询语言(SQL)

2.4.3 关系演算语言

  • 元组关系演算
  • 域关系演算

共同特点:具有完备的表达能力,是非过程化的集合操作语言,功能强,能够独立使用也可以嵌入高级语言中使用。

2.5 运算符

2.5.1 三大要素

2.6 传统的集合运算

2.6.1 并差交笛卡尔积

2.6.2 并

2.6.3 差

2.6.4 交

2.6.5 笛卡尔积

2.7 专门的关系运算

2.7.1 选择

2.7.2 投影

πA(R)中的A指的是属性序列.

2.7.3 连接

select * from r inner join s where s.b = r.b;

2.7.4 除

2.8 简答

解析:

  没有选修B5 =  所有 — 有B5

  学生姓名 =  π姓名(S)

    检索  =  选择 σ

2.9 关系的完整性约束

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

2.9.2 实体完整性约束

2.9.3 参照完整性约束

参照完整性约束只针对于外码进行约束,不会针对主码而言。

解析:学生安排了某门专业的课程(如:语、数、外),进行学修。学生想早点拿到学分,就需要报名专业的课程(语、数、外)去考试,或者这一次没把握,这次不报名。但学生就没法去报名某门专业的课程(如:语、数、外)之外的课程去拿到相对于的学分。

2.9.4 用户定义完整性约束User-defined Integrity Constraint

        域完整性约束(针对某一应用环境的完整性约束)、其他

2.9.5 应用情景

  • 执行插入操作

  • 执行删除操作

  • 执行更新操作(上述两种情况的综合)

3、关系数据库的规范化理论

3.1 关系模式中可能存在的冗余和异常问题

3.1.1 数据冗余

  • 指同一数据被反复存储的情况

3.1.2 更新异常

  • 数据冗余造成的,多个内容更改使操作错误

3.1.3 插入异常

  • 不能正常的执行插入操作

3.1.4 删除异常

  • 不应该删除的数据会出现被删除的情况

3.2 函数依赖与关键字

3.2.1 X—>Y

3.2.2 函数依赖

定义:关系中属性间的对应关系

3.2.2.1 完全函数依赖

可知:完全函数依赖中X为候选码.

3.2.2.2 部分函数依赖

可知:部分函数依赖中X为超码.

3.2.2.3 传递函数依赖

X决定Y,Y不决定X,Y决定Z,则有X—>Z,称为Z传递依赖于X.

简答:完全函数依赖,部分函数依赖,传递函数依赖

3.2.3 关键字

3.3 范式与关系规划化过程

3.3.1 简答:关系规范化过程

3.3.2 第一范式1NF

第一范式综合应用

原因:
GRADE完全函数依赖于(SNO,CNO);
CTITLE、INAME、IPLACE都只函数依赖于CNO,即它们与(SNO,CNO)为部分函数依赖.

3.3.3 第二范式2NF

第一范式变为第二范式的过程,找表当中的部分函数依赖,然后拆开,即为第二范式.

第二范式综合应用

3.3.4 第三范式3NF

第二范式变为第三范式第过程,找表中的传递函数依赖,然后拆开,即为第三范式.

第三范式综合应用

3.3.5 第三范式的改进形式BCNF

3.3.6 概要

作者:岁月星空
出处:https://www.cnblogs.com/syxk
^_^如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,您的“推荐” 将是我最大的写作动力^_^。
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/SyXk/p/13920428.html