数据库原理与应用【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 SQLServer安全管理

“转账”是我们生活中一件时常发生的事情。众所周知,“转账”就是从一个人(甲)的账户中转出指定金额到另一个人(乙)的账户中。注意哦!这里其实包含两个动作:

动作1:从甲的账户中取出指定金额;

动作2:将指定金额存入乙的账户。

在我们的常识中,一次转账应该包含这两个动作。这不是重点,重点是这两个动作必须作为一个整体来执行,即要么都完成,要么都不完成。至于先后顺序倒在其次。一般来讲,这没什么问题。但在某些特殊的情况下,如果导致其中一个动作完成,而另一个动作没有完成,这就尴尬了!这会造成数据库中数据的不一致。比如甲乙原本的金额之和为10000元,不管你怎么转账,甲乙金额的总和应该不变吧!但经过这次失败的转账,导致甲乙的金额总和多出1000元,或少了1000元(假定转账金额为1000元)。显然这是不可接受的。

因此必须有一种机制能够保证类似的操作能够顺利完成,即能够保证多个单独的数据库操作作为一个整体来执行,要么都不完成,要么全部完成。而这种机制就是数据库中的事务。

事务的概念

事务是数据库处理的单个的逻辑单元,一个事务内的所有SQL语句作为一个整体执行,要么全部执行,要么都不执行。

事务的特征

原子性:要么全部执行,要么都不执行;

一致性:事务在完成时,必须保证所有的数据都保持一致性状态;

隔离性:由并发事务所做的修改必须与任何其它并发事务所做的修改隔离;

持久性:事务完成之后,它对于系统的影响是永久的。

事务的分类

显式事务:用户定义的事务,可以显式地启动和结束事务;

自动提交事务:SQL Server默认的事务管理模式,每个SQL语句在完成时,都被自动提交或回滚;

隐性事务:SQL Server将在提交或回滚当前事务后自动启动新事务。无须描述事务的开始,只需提交

   或回滚每个事务。隐性事务模式生成连续的事务链。 

显式事务

◎ 启动事务     begin tran[saction]

该命令将会手动地启动一个显式事务。处于该命令之后的SQL操作将会被放到一个事务中作为一个整体来执行。

◎ 结束(提交)事务     commit tran[saction]

该命令将会导致事务中的所有更新被持久化到磁盘。

◎ 回滚事务     rollback tran[saction]

该命令其实是一种“反悔”机制。当你发现当前事务中的某些操作有误时,你可以通过此命令撤销该事务中包含的所有SQL操作的执行,将数据库恢复为未执行该事务之前的状态。

【例1】

begin transaction 

insert into student values(100,’Scott’,’male’,’1976/03/05’)

insert into student values(200,’Jetty’,’female’,’1980/08/12’)

commit transaction

说明:处于begin transaction和commit transaction之间的SQL操作将会被放到一个事务中,作为一个整体来执行。

事务保存点

保存点提供了一种机制,用于回滚部分事务。 

begin transaction mytran

insert into student values(100,’Scott’,’male’,’1976/03/05’)

save transaction mytran

insert into student values(200,’Jetty’,’female’,’1980/08/12’)

rollback transaction mytran

commit transaction

说明:此处通过在“begin transaction”后加变量,实现了给事务命名的作用,后面的操作就可以通过事务的名称来引用这个事务。命令“save transaction mytran”在第1条insert语句之后设置了一个保存点,因此命令“rollback transaction mytran”只会撤销第2条inert语句的修改,最后的命令“commit transaction”将会将第1条insert语句的插入结果持久化到磁盘。