数据库原理与应用【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 课程设计及项目报告模板
内容要点解析

SQL数据更新

SQL数据更新包括数据插入、修改和删除三种操作。

数据插入 insert

insert语句的基本语法结构:

insert into 表(列1,列2,...,列n) values(值1,值2,...,值n)

说明:

1、insert语句中列的顺序可以和表中列的顺序不一致。

2、values子句中的值一定要对应将要赋值的列。

3、允许为空的列可以不插入值,否则必须插入值。

4、种子增量列的值由数据库自动生成,无需插入。

5、日期和字符串类型的数据要加单引号包围。

insert语句的变化:

如果列的顺序和表中列的顺序是一致的,那么insert into子句中的列是可以省略的,比如:

insert into 表 values(值1,值2,...,值n)

提示:但更推荐第一种书写方式,因为当表中列发生变化的时候,比如插入新列,或列的顺序交换等,第一种书写方式能够完全兼容这些变化,而第二种书写方式则会发生异常。

【例1】在Student表中新增一位学生的信息:(980012,张倩,女,20,计科系)。

insert into Student(Sno,Sname,Ssex,Sage,Sdept) values(980012,'张倩','女',20,'计科系')

如果列的顺序与表中一致,上述SQL语句可简化为:

insert into Student values(980012,'张倩','女',20,'计科系')

插入子查询的结果(批量插入):当插入的数据来自于数据库中的另外一张表,或几张表时,可以通过子查询来批量插入数据。

insert into 表(列1,列2,...,列n)

select子查询

【例2】新建表Student_temp,现要求将Student表中所有计科系的学生数据插入到Student_temp中。

insert into Student_temp

  select * from Student where Sdept='计科系'

提示:最后需要说明的是一条insert语句只能向一张表中插入数据;如果插入的数据涉及多张表,则只能书写多条insert语句来实现。

数据修改 update

update语句的基本语法结构:

update  <表名> 

set <列名1>=<表达式1> [,<列名2>=<表达式2> …]

[where <条件>]

说明:

1、如果有where子句,则仅对符合查询条件的记录进行修改;否则对表中全部数据进行修改。

2、一条update语句只能对一张表中的数据进行修改;如果修改的数据涉及多张表,则对每张表均需使用单独的update语句进行修改。

3、如果修改的数据在一张表中,但查询条件字段涉及另一张或几张表,则可以使用子查询来配合筛选目标数据。

【例1】将每个学生的年龄增加1岁。

update Student set Sage=Sage+1

【例2】将张三的年龄改为20岁,系别改为’art’。

update Student set Sage=20,Sdept=‘art’where Sname=‘张三’

【例3】将张斌的成绩改为86分。

update SC set Grade=86

where Sno = (

   select Sno from Student where Sname=‘张斌’) 

数据删除 delete

delete语句的基本语法结构:

delete from  <表名>   [ where  <条件> ]

说明:

1、如果有where子句,则仅删除符合查询条件的记录;否则删除表中的所有数据,作用相当于清空表中数据,但不会删除表。

2、一条delete语句仅能对一张表中的数据进行删除;如果要删除的数据分布在多张表中,则只能通过多条delete语句来分别逐表删除。

3、和修改语句相同,如果删除的数据在一张表中,但查询条件字段涉及另一张或几张表,则可以使用子查询来配合筛选目标数据。

【例1】删除成绩在50以下的所有选课记录。

delete from SC where grade<50

【例2】删除“数据库”课程成绩在60至70分之间的所有选课记录。

delete from SC

where (Grade between 60 and 70) and Cno=(

  select Cno from Course where Cname=‘数据库’

)

提示:在有参照关系的表中,delete语句无法删除被参照的数据。如果要删除这些数据,而根据实际情况在以下三种方法中选择一种:

1、解除参照关系;

2、先删除参照数据,再删除被参照数据;

3、使用级联删除。(删除被参照数据时,数据库自动删除参照数据。)