数据库原理与应用【2025-2026-2】

赵春、毛红霞、李驰、刘福刚、曾丽

目录

  • 1 两课设计
    • 1.1 教学大纲
    • 1.2 教案
      • 1.2.1 李驰老师-教案
        • 1.2.1.1 24级数媒4班-教案
      • 1.2.2 毛红霞老师-教案
        • 1.2.2.1 24级数字媒体2班教案
        • 1.2.2.2 24级数字媒体3班教案
    • 1.3 课堂反思
      • 1.3.1 李驰老师-课堂反思
        • 1.3.1.1 24数媒4班
          • 1.3.1.1.1 3月9日(第2周第1次课)
          • 1.3.1.1.2 3月16日(第4周第1次课)
      • 1.3.2 毛红霞老师-课堂反思
        • 1.3.2.1 24级数字媒体2班
          • 1.3.2.1.1 3月12号(第2周第2次课——除运算)
          • 1.3.2.1.2 3月18号(第3周第1次课——关系代数习题课)
        • 1.3.2.2 24级数字媒体3班
          • 1.3.2.2.1 3月12日(第2周第2次课——连接、除)
          • 1.3.2.2.2 3月17日(第3周第1次课——关系代数习题课)
    • 1.4 课程反思
      • 1.4.1 李驰老师-课程反思
      • 1.4.2 毛红霞老师-课程反思
    • 1.5 高阶课堂安排
    • 1.6 教材案例配套数据表
    • 1.7 实验数据库Northwind
    • 1.8 数据库软件安装
  • 2 数据库基本概念
    • 2.1 学习内容及要求
    • 2.2 课堂设计(教案)
    • 2.3 内容要点解析
    • 2.4 电子课件
    • 2.5 参考文献
  • 3 关系数据库
    • 3.1 学习内容及要求
    • 3.2 课堂设计(教案)
    • 3.3 内容要点解析
    • 3.4 电子课件
    • 3.5 参考文献
    • 3.6 微课视频
    • 3.7 翻转教学
      • 3.7.1 学习任务单
  • 4 关系代数
    • 4.1 学习内容及要求
    • 4.2 课堂设计(教案)
    • 4.3 内容要点解析
    • 4.4 电子课件
    • 4.5 参考文献
    • 4.6 微课视频
    • 4.7 翻转教学
      • 4.7.1 学习任务单
  • 5 关系代数(习题课)
    • 5.1 学习内容及要求
    • 5.2 课堂设计(教案)
    • 5.3 内容要点解析
    • 5.4 电子课件
    • 5.5 微课视频
  • 6 SQL数据类型与数据定义语句
    • 6.1 学习内容及要求
    • 6.2 课堂设计(教案)
    • 6.3 内容要点解析
    • 6.4 电子课件
    • 6.5 参考文献
    • 6.6 微课视频
    • 6.7 上机实验
    • 6.8 翻转教学1
      • 6.8.1 学习任务单
      • 6.8.2 翻转课件
      • 6.8.3 翻转视频
      • 6.8.4 讨论问题
    • 6.9 翻转教学2
      • 6.9.1 学习任务单
  • 7 SQL单表基本查询
    • 7.1 学习内容及要求
    • 7.2 课堂设计(教案)
    • 7.3 内容要点解析
    • 7.4 电子课件
    • 7.5 参考文献
    • 7.6 微课视频
      • 7.6.1 单表查询与聚合函数
      • 7.6.2 图形化单表查询
    • 7.7 上机实验
    • 7.8 翻转教学
      • 7.8.1 学习任务单
  • 8 SQL统计查询
    • 8.1 学习内容及要求
    • 8.2 课堂设计(教案)
    • 8.3 内容要点解析
    • 8.4 电子课件
    • 8.5 参考文献
    • 8.6 微课视频
    • 8.7 上机实验
    • 8.8 翻转教学
      • 8.8.1 学习任务单
  • 9 SQL多表查询
    • 9.1 学习内容及要求
    • 9.2 课堂设计(教案)
    • 9.3 内容要点解析
    • 9.4 电子课件
    • 9.5 参考文献
    • 9.6 微课视频
    • 9.7 上机实验
    • 9.8 翻转教学
      • 9.8.1 学习任务单
  • 10 SQL嵌套子查询
    • 10.1 学习内容及要求
    • 10.2 课堂设计(教案)
    • 10.3 内容要点解析
    • 10.4 电子课件
    • 10.5 参考文献
    • 10.6 微课视频
    • 10.7 上机实验
    • 10.8 翻转教学
      • 10.8.1 翻转视频
      • 10.8.2 翻转课任务分配
      • 10.8.3 翻转课流程安排
      • 10.8.4 学习任务单
      • 10.8.5 查询语句编写秘籍
  • 11 SQL数据更新
    • 11.1 学习内容及要求
    • 11.2 课堂设计(教案)
    • 11.3 内容要点解析
    • 11.4 电子课件
    • 11.5 参考文献
    • 11.6 微课视频
    • 11.7 上机实验
    • 11.8 SQL编程综合习题课(高阶翻转)
      • 11.8.1 翻转学习任务单
      • 11.8.2 翻转视频
      • 11.8.3 翻转课件
    • 11.9 备份资料
      • 11.9.1 学习任务单
  • 12 索引和视图
    • 12.1 学习内容及要求
    • 12.2 课堂设计(教案)
    • 12.3 内容要点解析
    • 12.4 电子课件
    • 12.5 参考文献
    • 12.6 微课视频
    • 12.7 上机实验
    • 12.8 翻转教学
      • 12.8.1 学习任务单
      • 12.8.2 翻转课件
  • 13 数据库设计
    • 13.1 学习内容及要求
    • 13.2 课堂设计(教案)
    • 13.3 内容要点解析
    • 13.4 电子课件
    • 13.5 参考文献
    • 13.6 微课视频
    • 13.7 上机实验
    • 13.8 数据库设计-翻转方案I(分班级实施)
      • 13.8.1 学习任务单
      • 13.8.2 翻转视频
      • 13.8.3 翻转课件
      • 13.8.4 课前作业及讨论
    • 13.9 数据库设计-翻转方案II(分班级实施)
      • 13.9.1 学习任务单
      • 13.9.2 翻转视频
      • 13.9.3 翻转课件
      • 13.9.4 问答总结
      • 13.9.5 技巧总结
      • 13.9.6 案例练习
  • 14 规范化理论-1
    • 14.1 学习内容及要求
    • 14.2 课堂设计(教案)
    • 14.3 内容要点解析
    • 14.4 电子课件
    • 14.5 参考文献
    • 14.6 翻转教学
      • 14.6.1 学习任务单
  • 15 规范化理论-2
    • 15.1 学习内容及要求
    • 15.2 课堂设计(教案)
    • 15.3 内容要点解析
    • 15.4 电子课件
    • 15.5 参考文献
    • 15.6 翻转视频
    • 15.7 上机实验
    • 15.8 翻转教学
      • 15.8.1 学习任务单
  • 16 事务、存储过程与触发器
    • 16.1 学习内容及要求
    • 16.2 课堂设计(教案)
    • 16.3 内容要点解析
    • 16.4 电子课件
    • 16.5 参考文献
    • 16.6 微课视频
    • 16.7 翻转教学
      • 16.7.1 学习任务单
  • 17 数据库高阶挑战性项目实践Ⅰ
    • 17.1 学习内容及要求
    • 17.2 实践任务
    • 17.3 课堂设计(教案)
    • 17.4 参考文献
    • 17.5 微课视频
  • 18 数据库高阶挑战性项目实践Ⅱ
    • 18.1 学习内容及要求
    • 18.2 实践任务
    • 18.3 课堂设计(教案)
    • 18.4 电子课件
    • 18.5 参考文献
    • 18.6 微课视频
    • 18.7 数据预处理总结
  • 19 课程扩展-数据备份与导入导出
    • 19.1 微课视频
    • 19.2 参考文献
  • 20 课程设计
    • 20.1 课堂设计(教案)
    • 20.2 课程设计及项目报告模板
内容要点解析
  • 1 关系的性质和完整...
  • 2 集合运算
  • 3 选择与投影
  • 4 连接
  • 5

关系的性质

◇ 列是同质的。

◇ 不同的列可以出自同一个域,其中每一列称为一个属性,要给予不同的属性名。

◇ 列和行的顺序没有限制。

◇ 任意两个元组不能完全相同。

◇ 所有属性值都是原子,不允许属性又是一个二维关系。

说明:

(1)“列是同质的”指的是同一列中数据的数据类型是一致的。

(2)“不同的列可以出自同一个域,其中每一列称为一个属性,要给予不同的属性名。”指的是不同的列可以具有相同的数据类型,比如学号可以是整型,年龄也可以是整型。在同一个关系中,绝对不允许有同名的属性;在不同的关系中,可以有相同的属性名,互不影响。

(3)“列和行的顺序没有限制。”指的是在关系中行是可以随意变更顺序的,第1行和第2行,第7行和第70行交换,不会带来任何影响;列的交换亦是如此。

(4)“任意两个元组不能完全相同。”指的是同一个关系中不能出现完全相同的两行数据。

(5)“所有属性值都是原子,不允许属性又是一个二维关系。”指的是关系中的每一个属性都必须是原子的,即不可拆分的。

【例1】下面的关系有无错误?


解析:在上面的关系中,元组1(数据行1)和元组4(数据行4)完全相同,这违反了关系的性质“任意两个元组不能完全相同”。另外元组3(数据行3)中的“名称”属性值是非原子的,可进一步拆分为“部门名称”(财务部)和“部门经理”(张三),违反了关系的性质“所有属性值都是原子,不允许属性又是一个二维关系”。

关系的完整性规则

1. 实体完整性规则

实体完整性规则是保证关系中的每个元组都是可识别的和唯一的,即所有的关系都必须有主码,主码的值不能为空,且不能重复。

【例2】下面的关系有无错误?

解析:在上表中,部门号是主码。但元组2(数据行2)和元组4(数据行4)的主码为空,违反了完整性规则。

2. 参照完整性规则

参照完整性规则:如果关系R2的外码X与关系R1的主码相对应,则外码X的每个值必须在关系R1主码的值中找到,或者为空值。

【例3】下面的关系有无错误?


解析:员工关系(左表)中的“部门”是外码,参考了部门关系(右表)中的主码“部门号”。这里引出一个概念:因为员工关系通过外码参照了部门关系,所以员工关系被称作“参照关系”,部门关系被称作“被参照关系”。员工关系中元组1的外码是“011”,在被参照关系的主码中可以找到,所以这个参照没有问题;元组2的主码为空,符合参照完整性规则,也没有问题;但元组4的外码为“545”,在被参照关系的主码中无法找到,所以违背了参照完整性规则,因此“545”是一个无效的外码。

3. 用户自定义完整性

用户对某一具体数据指定的约束条件进行检验。

【例4】下面的关系有无错误?


解析:用户自定义完整性的方式比较丰富,比如唯一性约束、check约束等等。上面的关系中我们将“电话”属性的数据类型定义为整型,这也属于一种自定义完整性。那么“abc”作为一个字符串,显然不符合“整型”的要求,所以违背了我们自定义的完整性规则。