课程概述

数据库技术是计算机科学中发展最快应用最广的技术之一,它已成为计算机信息系统及其应用系统的核心技术和重要基础。本课程是计算机科学与技术、网络工程和物联网工程等专业的核心课程,它综合了前期软件课程的内容,在计算机软件诸课程中起着承前启后的重要作用。

证书要求

成绩≥60为合格,成绩≥85为优秀

成绩构成:

课程考勤20%,按照教学大纲自学部分占10%

章节作业10%,章节作业成绩,包括教师作业评价和互评成绩

阶段测试15%,章节测试成绩

实验考核20%,实验完成情况考核

期末测试35%,期末考试成绩

预备知识

计算机操作系统,数据结构,C语言程序设计



授课大纲

第一章 绪论

1、教学目标

理解数据库、数据库系统及数据库管理系统等基本概念、数据库系统的组成。了解数据库技术的产生和发展过程、数据库系统的优点和好处、数据库技术的主要研究领域。掌握数据库系统的核心和基础——数据模型,包括数据模型的三要素、概念模型。掌握数据库系统三级模式和两层映像。

2、教学内容

【线上自学】数据库系统原理简介

【线上自学】数据库基本概念

【线上自学】数据管理技术的产生和发展

【线上自学】数据模型的组成要素

【线上预习,线下强化】概念模型

【线上自学】层次模型、网状模型、关系模型

【线上预习,线下强化】数据库系统模式的概念

【线上预习,线下强化】数据库系统的三级模式结构

【线上预习,线下强化】数据库的两级映像功能与数据独立性

第二章 关系数据库

1、教学目标

了解关系数据库理论产生和发展的过程、元组关系演算、域关系演算。掌握关系代数中的各种运算、关系代数表达查询、关系数据库的重要概念,包括关系模型的数据结构、关系的完整性以及关系操作。

2、教学内容:

【线上预习,线下强化】关系,关系模式

【线上预习,线下强化】关系数据库

【线上自学】基本的关系操作

【线上自学】关系数据语言的分类

【线上预习,线下强化】数据的完整性

【线上预习,线下强化】关系集合运算

【线上预习,线下强化】专门的关系运算

第三章 关系数据库标准语言SQL

1、教学目标

在理解SQL语言的基础上进一步加深对关系数据库系统的基本概念的理解,使这些概念更加具体、丰富。理解视图的概念。掌握SQL语言在数据定义、数据查询、数据更新、数据控制方面的功能、使用嵌入式SQL。

2、教学内容

【线上自学】SQL语言的基本概念、学生课程数据库

【线上自学】模式的定义与删除

【线上预习,线下强化】基本表的定义、删除与修改

【线上预习,线下强化】索引的建立与删除

【教学重点:线上预习,线下强化】单表查询

【教学重点、难点:线上预习,线下强化】连接查询

【教学难点:线上预习,线下强化】嵌套查询

【教学重点:线上预习,线下强化】集合查询

【线上预习,线下强化】视图、授权

【线上自学】SELECT语句的一般格式

【线上预习,线下强化】插入数据

【线上预习,线下强化】修改数据

【线上预习,线下强化】删除数据与空值处理

【线上预习,线下强化】定义与查询视图

【线上自学】更新视图与视图的作用

3、实验内容

实验一 数据库定义与操作语言

第四章 数据库安全性

1、教学目标

了解实现数据库系统安全性的技术和方法。掌握使用SQL语言中的GRANT和REVOKE语句实现自主存取控制。

2、教学内容

【线上自学】数据库安全性概述

【线上自学】用户身份鉴别

【线上预习,线下强化】存取控制

【教学重点、难点:线上预习,线下强化】自主存取控制方法(DAC)

【线上预习,线下强化】授权与回收

【线上预习,线下强化】数据库角色

【线上预习,线下强化】强制存取控制方法(MAC)

【线上自学】审计与加密

【线上自学】其它安全保护

3、实验内容

实验二 安全性语言

第五章 数据库完整性

1、教学目标

了解数据库的完整性约束条件、完整性约束条件的分类。理解DBMS完整性实现的机制,包括完整性约束定义机制、完整性检查机制和违背完整性约束条件时DBMS应采取的动作。掌握用SQL语言定义关系模式的完整性约束条件。

2、教学内容

【重点:线上预习,线下强化】实体完整性

【线上预习,线下强化】参照完整性

【线上预习,线下强化】用户定义完整性

【线上预习,线下强化】完整性约束命名子句

【线上预习,线下强化】触发器

3、实验内容

实验三 完整性语言

实验四 触发器

第六章 关系数据理论

1、教学目标

了解关系规范理论的重要意义、什么是“不好”的模式、什么是插入异常和删除异常。

理解关系的形式化定义、数据依赖的基本概念(函数依赖、多值依赖、部分函数依赖、码、候选码、外码等)、范式的概念、1NF-4NF的定义。

掌握1NF-4NF的应用,各个级别范式中存在的问题和解决方法、根据语义写出数据依赖集合、判断某一关系模式属于第几范式。

2、教学内容

【线上自学】规范化

【线上预习,线下强化】函数依赖

【重点、难点:线上预习,线下强化】范式、1NF、2NF、3NF

【线上预习,线下强化】多值依赖、BCNF、4NF

第七章 数据库设计

1、教学目标

了解数据库设计的特点、数据库物理设计的内容和评价、数据库的实施和维护。理解数据库设计的基本步骤、数据库设计各个阶段的具体设计内容。掌握概念结构的设计(E-R图)和逻辑结构的设计(E-R图向关系模型的转换)。

2、教学内容

【线上自学】数据库设计概述

【线上预习,线下强化】需求分析

【重点、难点:线上预习,线下强化】逻辑结构设计

【重点、难点:线上预习,线下强化】概念结构设计

【线上自学】物理结构设计

【线上自学】数据库实施与维护

3、实验内容

实验五 数据库设计

第八章 数据库编程

1、教学目标

了解应用系统中如何使用编程方法对数据库进行操纵的技术,掌握嵌入式SQL编程、ODBC编程

2、教学内容

【线上预习,线下强化】嵌入式SQL

【线上预习,线下强化】过程化SQL

【线上预习,线下强化】存储过程与函数

【线上自学】ODBC编程

3、实验内容

实验六 存储过程

实验七 数据库应用开发

第九章 关系查询处理和查询优化

1、教学目标

了解关系系统的分类、全关系系统的十二条基本准则;理解关系系统的定义;掌握能关系代数表达式的优化算法,画出查询的语法树以及优化后的语法树。

2、教学内容

【线上自学】查询分析、查询处理

【线上预习,线下强化】查询树、代数优化

【线上自学】物理优化

【线上预习,线下强化】关系系统的查询优化

第十章 数据库恢复技术

1、教学目标

了解数据库的一致性状态、故障的种类、数据库镜像。理解事物的基本概念、事务的ACID特性、恢复实现技术、日志文件的内容及作用、登记日至文件遵循的原则。掌握恢复的基本原理、针对不同故障的恢复的策略和方法。

2、教学内容

【线上自学】事务的基本概念

【线上自学】数据库恢复概述与故障的种类

【线上预习,线下强化】恢复的实现技术

【线上预习,线下强化】恢复策略

【线上预习,线下强化】具有检查点的恢复与数据库镜像

3、实验内容

实验八 数据库备份与还原

第十一章 并发控制

1、教学目标

了解数据库并发技术的必要性、活锁和死锁的概念。理解并发操作可能产生的数据不一致性、封锁的类型、封锁粒度的概念、多粒度封锁方法。掌握三级封锁协议、封锁协议与数据不一致性的关系、并发调度、两段锁协议。

2、教学内容

【线上自学】并发控制概述、封锁

【线上预习,线下强化】三级封锁协议

【线上预习,线下强化】活锁和死锁

【线上预习,线下强化】发调度的可串行性

【线上预习,线下强化】两段锁协议

【线上自学】封锁的粒度

参考资料

课程教材:

数据库系统概论(第5版),王珊、萨师煊著,高等教育出版社

 

参考书:

(1)《数据库处理基础、设计和实现》  David  M.Kroenke  著,师伯乐等编译。电子工业出版社;

(2)《数据库系统原理》  师伯乐编著。高等教育出版社;

(3)《数据库系统基础》Ramez  ElmasriShamkant  B.Navathe著,邵佩英、张坤龙灯译;

(4)《数据库系统概论(5)实验指导》  王珊,  张俊  高等教育出版社,2008


参考网络教学资源:

https://otn.orcale.com/products/orcale9i/content.html

https://www-3.ibm.com/software/data/db2/udb/features.html

https://msdn.microsoft.com/library

https://www.chinadb.org

https://abook.hep.com.cn/187532