课程编号:22010110 课程名称:数据库概论 英文名称:Introduction to Databases 前导课程:程序设计、离散数学、数据结构、操作系统 任课教师:胡伟 周讲课/实习时数:4/0 学分:3 课程简介 “数据库概论”是为南京大学计算机科学与技术系本科生开设的方向核心课 程,主要介绍数据库的基本概念与关系数据库系统的基本理论。通过对相关概念 和理论的学习,可以让学生掌握如何去设计、建立、操作和管理一个具体的数据 库系统,从而为以后的数据库理论研究、课程实践以及信息系统开发工作建立一 个良好的基础。 课程目的与要求 通过对该课程的学习使学生能够: 1)熟悉数据库领域内的一些专用名词术语,了解数据库的基本概念与思想 2)掌握数据库技术的基本理论一数据模型,了解三个不同层次上的数据模 型概念,掌握三种常用的概念数据模型一实体联系模型、扩充实体联系 模型和面向对象数据模型的建模方法 3)掌握关系模型的基本数学理论一关系代数,以及关系数据库的设计理论 一关系规范化理论 4)了解数据库的设计方法与设计过程,掌握关系数据库的逻辑数据模型的 设计方法 5)学会使用交互式SQL语言来建立和访问关系数据库中的数据,并定义系 统的数据完整性和访问控制要求 6)建立初步的数据库的数据交换概念,了解如何在应用程序中访问数据库 课程内容与学时分配: 第一章数据库系统概述(2学时) 1.1基本概念 ◆数据库、数据库管理系统、数据库系统、数据库管理员 1.2数据库系统的发展及趋势 1.3数据库系统的特点
课程编号:22010110 课程名称:数据库概论 英文名称:Introduction to Databases 前导课程:程序设计、离散数学、数据结构、操作系统 任课教师:胡伟 周讲课/实习时数:4/0 学分:3 课程简介 “数据库概论”是为南京大学计算机科学与技术系本科生开设的方向核心课 程,主要介绍数据库的基本概念与关系数据库系统的基本理论。通过对相关概念 和理论的学习,可以让学生掌握如何去设计、建立、操作和管理一个具体的数据 库系统,从而为以后的数据库理论研究、课程实践以及信息系统开发工作建立一 个良好的基础。 课程目的与要求 通过对该课程的学习使学生能够: 1) 熟悉数据库领域内的一些专用名词术语,了解数据库的基本概念与思想 2) 掌握数据库技术的基本理论—数据模型,了解三个不同层次上的数据模 型概念,掌握三种常用的概念数据模型—实体联系模型、扩充实体联系 模型和面向对象数据模型的建模方法 3) 掌握关系模型的基本数学理论—关系代数,以及关系数据库的设计理论 —关系规范化理论 4) 了解数据库的设计方法与设计过程,掌握关系数据库的逻辑数据模型的 设计方法 5) 学会使用交互式 SQL 语言来建立和访问关系数据库中的数据,并定义系 统的数据完整性和访问控制要求 6) 建立初步的数据库的数据交换概念,了解如何在应用程序中访问数据库 课程内容与学时分配: 第一章 数据库系统概述(2 学时) 1.1 基本概念 u 数据库、数据库管理系统、数据库系统、数据库管理员 1.2 数据库系统的发展及趋势 1.3 数据库系统的特点
◆数据集成化、数据独立性、数据共享、数据冗余、数据的安全性、完整 性和一致性、并发控制和故障恢复 1.4数据库内部结构体系 ◆数据库的三级结构:三级模式、二级映射 第二章数据模型(6学时) 2.1数据模型的基本概念 ◆概念数据模型、逻辑数据模型、物理数据模型 2.2数据模型的四个世界 2.3概念世界与概念模型 ◆ER模型与ER图:实体、属性、联系 ◆扩充E-R模型与扩充ER图:IS-A联系、弱实体 ◆面向对象模型:对象、对象标识符、类、方法、超类和子类、聚合和分 解、继承和合成、方法、消息、封装 2.4信息世界和逻辑模型 ◆关系模型:关系、属性、值域、元组、关系数据库、关键字 2.5计算机世界与物理模型 ◆磁盘组织与文件系统 ◆逻辑模型的物理存储:项、记录、文件、索引、集簇 第三章关系数据库系统(14学时) 3.1关系数据库系统概述 3.2关系数据库系统的衡量准则 ◆完全关系型的十二条衡量准则 ◆空值(NULL) 3.3关系模型数学理论一关系代数 3.3.0关系模型 ◆关系数据结构 ●表结构:表框架、表的元数与基数 ●关系:二维表的性质 ●关键字:候选关键字、主关键字、外关键字 ●关系数据库:关系子模式一视图(view) ◆关系操纵 ●数据查询:两个关系的合并、单个关系内的元组选择、单个关系内 的属性指定 ●数据删除、插入、修改 ●空值的处理
u 数据集成化、数据独立性、数据共享、数据冗余、数据的安全性、完整 性和一致性、并发控制和故障恢复 1.4 数据库内部结构体系 u 数据库的三级结构:三级模式、二级映射 第二章 数据模型 (6 学时) 2.1 数据模型的基本概念 u 概念数据模型、逻辑数据模型、物理数据模型 2.2 数据模型的四个世界 2.3 概念世界与概念模型 u E-R 模型与 E-R 图:实体、属性、联系 u 扩充 E-R 模型与扩充 E-R 图:IS-A 联系、弱实体 u 面向对象模型:对象、对象标识符、类、方法、超类和子类、聚合和分 解、继承和合成、方法、消息、封装 2.4 信息世界和逻辑模型 u 关系模型:关系、属性、值域、元组、关系数据库、关键字 2.5 计算机世界与物理模型 u 磁盘组织与文件系统 u 逻辑模型的物理存储:项、记录、文件、索引、集簇 第三章 关系数据库系统 (14 学时) 3.1 关系数据库系统概述 3.2 关系数据库系统的衡量准则 u 完全关系型的十二条衡量准则 u 空值(NULL) 3.3 关系模型数学理论—关系代数 3.3.0 关系模型 u 关系数据结构 l 表结构:表框架、表的元数与基数 l 关系:二维表的性质 l 关键字:候选关键字、主关键字、外关键字 l 关系数据库:关系子模式—视图(view) u 关系操纵 l 数据查询:两个关系的合并、单个关系内的元组选择、单个关系内 的属性指定 l 数据删除、插入、修改 l 空值的处理
◆关系中的数据约束 ●实体完整性约束、参照完整性约束、用户定义的完整性 3.3.1关系的表示 ◆关系的表示、迪卡尔乘积 3.3.2关系操纵的表示 ◆关系代数中的五种基本运算:选择、投影、笛卡儿积、并、差 ◆基本运算的应用实例 3.3.3关系模型与关系代数 3.3.4关系代数中的扩充运算 ◆交、除法、联接与自然联接、外联接 ◆扩充运算的应用实例 3.3.5关系代数实例 ◆综合的关系代数应用实例 34关系数据库语言SQL92 3.4.1SQL概貌 ◆SQL标准的发展历史、SQL的基本概念与使用方式、SQL功能简介 3.4.2SQL数据定义功能 ◆SQL中的数据类型、Oracle数据类型 ◆基本的表结构定义和修改命令 3.4.3SQL数据操纵功能 ◆SQL语言与关系代数的关系 ◆映像语句结构 ◆基本查询功能:LIKE、IS NULL谓词、表的联接查询与自联接查询、 ORDER BY子句的功能 ◆嵌套查询:IN、SOME/ANY/ALL,EXISTS等谓词、相关子查询与独立 子查询 ◆子查询的合并:UNION/INTERSECT/EXCEPT[ALL运算 ◆统计查询:统计与分组统计查询、空值与空集在统计函数中的处理方法 ◆复杂数据查询:两层的NOT EXISTS嵌套结构以实现关系代数中的除法 运算的查询功能 3.4.4SQL的更新功能 ◆删除功能 ◆插入功能:常量元组的插入、带子查询的元组插入 ◆修改功能 3.4.5视图
u 关系中的数据约束 l 实体完整性约束、参照完整性约束、用户定义的完整性 3.3.1 关系的表示 u 关系的表示、迪卡尔乘积 3.3.2 关系操纵的表示 u 关系代数中的五种基本运算:选择、投影、笛卡儿积、并、差 u 基本运算的应用实例 3.3.3 关系模型与关系代数 3.3.4 关系代数中的扩充运算 u 交、除法、联接与自然联接、外联接 u 扩充运算的应用实例 3.3.5 关系代数实例 u 综合的关系代数应用实例 3.4 关系数据库语言 SQL’92 3.4.1 SQL 概貌 u SQL 标准的发展历史、SQL 的基本概念与使用方式、SQL 功能简介 3.4.2 SQL 数据定义功能 u SQL 中的数据类型、Oracle 数据类型 u 基本的表结构定义和修改命令 3.4.3 SQL 数据操纵功能 u SQL 语言与关系代数的关系 u 映像语句结构 u 基本查询功能:LIKE、IS NULL 谓词、表的联接查询与自联接查询、 ORDER BY 子句的功能 u 嵌套查询:IN、SOME/ANY/ALL,EXISTS 等谓词、相关子查询与独立 子查询 u 子查询的合并:UNION / INTERSECT / EXCEPT [ALL]运算 u 统计查询:统计与分组统计查询、空值与空集在统计函数中的处理方法 u 复杂数据查询:两层的 NOT EXISTS 嵌套结构以实现关系代数中的除法 运算的查询功能 3.4.4 SQL 的更新功能 u 删除功能 u 插入功能:常量元组的插入、带子查询的元组插入 u 修改功能 3.4.5 视图
◆视图概念、视图与基表的区别 ◆视图的定义命令:嵌套定义功能 ◆视图的删除命令:视图删除中的连锁反应 ◆视图上的数据访问:可更新视图 ◆视图的优点 第四章数据库的安全性与完整性保护(6学时) 4.1数据库的安全性保护 ◆数据库的安全与安全数据库 ◆数据库安全的基本概念与内容:主体、客体、身份标识与鉴别、自主访 问控制、强制访问控制、隐蔽通道、审计 ◆数据库的安全标准:国标GB17859 ◆SQL对数据库安全的支持:SQL语言所提供的与数据库安全保护有关的 命令 4.2数据库的完整性保护 ◆数据库完整性保护的功能:目的与常用实现措施 ◆完整性规则的三个内容:实体完整性、参照完整性、用户定义完整性 ◆完整性约束的设置、检查与处理:在SQL语言的CREATE TABLE命令 中提供的完整性约束定义子句 ◆触发器 第五章事务处理、并发控制与故障恢复技术(10学时) 5.1事务处理 ◆事务的定义与ACID性质 ◆事务活动及其状态转换图 ◆事务控制及相关的参数设置语句:事务的提交与回滚、事务的读/写类型 与隔离级别 ◆事务的语句组成成分 5.2并发控制技术 ◆事务 ●事务的并发性、并发控制 ·调度、串行调度、可串行化调度、冲突与冲突可串行化、冲突可串 行化的判定方法 ●三种数据不一致现象:丢失修改、脏读、不可重复读 ◆封锁 ●共享锁、排它锁、所相容矩阵、合适事务
u 视图概念、视图与基表的区别 u 视图的定义命令:嵌套定义功能 u 视图的删除命令:视图删除中的连锁反应 u 视图上的数据访问:可更新视图 u 视图的优点 第四章 数据库的安全性与完整性保护(6 学时) 4.1 数据库的安全性保护 u 数据库的安全与安全数据库 u 数据库安全的基本概念与内容:主体、客体、身份标识与鉴别、自主访 问控制、强制访问控制、隐蔽通道、审计 u 数据库的安全标准:国标 GB17859 u SQL 对数据库安全的支持:SQL 语言所提供的与数据库安全保护有关的 命令 4.2 数据库的完整性保护 u 数据库完整性保护的功能:目的与常用实现措施 u 完整性规则的三个内容:实体完整性、参照完整性、用户定义完整性 u 完整性约束的设置、检查与处理:在 SQL 语言的 CREATE TABLE 命令 中提供的完整性约束定义子句 u 触发器 第五章 事务处理、并发控制与故障恢复技术(10 学时) 5.1 事务处理 u 事务的定义与 ACID 性质 u 事务活动及其状态转换图 u 事务控制及相关的参数设置语句:事务的提交与回滚、事务的读/写类型 与隔离级别 u 事务的语句组成成分 5.2 并发控制技术 u 事务 l 事务的并发性、并发控制 l 调度、串行调度、可串行化调度、冲突与冲突可串行化、冲突可串 行化的判定方法 l 三种数据不一致现象:丢失修改、脏读、不可重复读 u 封锁 l 共享锁、排它锁、所相容矩阵、合适事务
●基于封锁技术的并发控制实现方法 ●封锁协议:三级封锁协议、两阶段封锁协议 ●合法调度:两阶段封锁协议与冲突可串行化的关系 ●多粒度封锁:封锁粒度与多粒度封锁、意向锁及其锁相容矩阵、多 粒度封锁协议 ●死锁及其解决方法、活锁及其解决方法 5.3数据库恢复技术 ◆数据库恢复的含义、方法和常用措施 ◆数据库故障的分类 ◆数据库故障恢复三大技术 ·数据转储:静态转储/动态转储、海量转储/增量转储 。日志: -日志的内容、组成、作用与记载原则 -UNDO日志的记录格式、记载规则以及使用UNDO日志的恢复 过程、UNDO日志中的静止/非静止检查点的设置方法以及使用 带检查点的UNDO日志的恢复过程 REDO日志的记录格式、记载规则以及使用REDO日志的恢复 过程、REDO日志中的(非静止)检查点的设置方法以及使用 带检查点的REDO日志的恢复过程 -UNDO日志与REDO日志的区别与不足 -UNDO/REDO日志的记录格式、记载规则以及使用UNDO/ REDO日志的恢复过程、UNDO/REDO日志中的检查点的设置 方法以及使用带检查点的UNDO/REDO日志的恢复过程 ●事务的撤销(UNDO)与重做(REDO) ◆恢复策略:小型/中型/大型故障的恢复策略 ◆数据库镜像 第六章数据库中的数据交换(2学时) 6.1概述 ◆数据交换的五种方式 6.2数据交换的管理 ◆会话管理 ◆连接管理 ◆游标管理:游标的定义、打开、使用与关闭命令、可滚动游标的定义及 其在数据更新命令中的使用 ◆诊断管理
l 基于封锁技术的并发控制实现方法 l 封锁协议:三级封锁协议、两阶段封锁协议 l 合法调度:两阶段封锁协议与冲突可串行化的关系 l 多粒度封锁:封锁粒度与多粒度封锁、意向锁及其锁相容矩阵、多 粒度封锁协议 l 死锁及其解决方法、活锁及其解决方法 5.3 数据库恢复技术 u 数据库恢复的含义、方法和常用措施 u 数据库故障的分类 u 数据库故障恢复三大技术 l 数据转储:静态转储/动态转储、海量转储/增量转储 l 日志: – 日志的内容、组成、作用与记载原则 – UNDO 日志的记录格式、记载规则以及使用 UNDO 日志的恢复 过程、UNDO 日志中的静止/非静止检查点的设置方法以及使用 带检查点的 UNDO 日志的恢复过程 – REDO 日志的记录格式、记载规则以及使用 REDO 日志的恢复 过程、REDO 日志中的(非静止)检查点的设置方法以及使用 带检查点的 REDO 日志的恢复过程 – UNDO 日志与 REDO 日志的区别与不足 – UNDO/REDO 日志的记录格式、记载规则以及使用 UNDO/ REDO 日志的恢复过程、UNDO/REDO 日志中的检查点的设置 方法以及使用带检查点的 UNDO/REDO 日志的恢复过程 l 事务的撤销(UNDO)与重做(REDO) u 恢复策略:小型/中型/大型故障的恢复策略 u 数据库镜像 第六章 数据库中的数据交换(2 学时) 6.1 概述 u 数据交换的五种方式 6.2 数据交换的管理 u 会话管理 u 连接管理 u 游标管理:游标的定义、打开、使用与关闭命令、可滚动游标的定义及 其在数据更新命令中的使用 u 诊断管理