数据库开发技术
数据库开发技术
1000+ 人选课
更新日期:2025/09/27
开课平台爱课程(中国大学MOOC)
开课高校南京大学
开课教师刘嘉
学科专业工学计算机类
开课时间2025/08/20 - 2026/01/12
课程周期21 周
开课状态开课中
每周学时-
课程简介

数据库是软件工程专业的核心技术。在云计算、大数据、人工智能等技术的加持下,数据的价值越来越受到重视。数据库作为数据存储的重要软件,其开发技术是如今软件开发人员必备的技能。


软件工程专业同学在对数据库原理有了学习和了解后,可以完成基本的数据库设计。然而,这些设计在真实的生产应用中往往面临着意想不到的问题,特别是性能问题。因此,与现有的数据库课程不同,本课程并不会过多地阐述数据库设计的基本原理和应用,也不会专注于某一种特定的数据库实例来进行技术的讲解。本课程从性能出发,围绕软件开发人员在项目开发中最容易遇到的问题,适度增加核心知识点的深度,讲解了数据库的索引、数据类型、连接模式、查询优化、层次结构、并发、数据库设计等方面的问题。


为了帮助国产化软件技术的人才培养,在具体的案例分析中,除了结合经典的MySQL、Oracle等经典数据库进行案例讲解之外,本课程案例中还结合了对阿里巴巴开发的OceanBase数据库的介绍与比较分析。


课程优势及创新点:

1. 直面项目开发过程中的问题,面向问题进行课程知识结构编排

2. 大量案例分析,避免枯燥空洞的理论教学,增加学习的趣味性

3. 推动国产软件的人才培养,在课程内容中引入国产数据库实例

4. 主讲教师长期从事数据库专业课程教学,具有丰富的教学经验


本课程基于主讲教师在相关课程长期教学的积累结合企业开发实际,本课程希望能够强化软件工程专业的同学对于数据库开发设计的理解,实现数据库设计能力的提升。

课程大纲
开发中的数据库问题
1.1 黑盒的问题
1.2 不同数据库的差异——并发控制
1.3 对程序员的影响
1.4 为性能而设计
数据库索引及物理组织形式
2.1 B树索引的结构和应用
2.2 让索引发挥作用
2.3 哈希索引和函数索引
2.4 位图索引和位图连接索引
2.5 索引使用的典型问题
2.6 数据表的物理实现
2.7 分区的介绍
2.8 分区的方式和应用
SQL实例解析及连接模式
3.1 SQL实例解析-字符串处理
3.2 SQL实例解析-数值处理
3.3 SQL实例解析-日期处理
3.4 常见SQL连接模式
SQL查询优化
4.1 关系代数
4.2 查询优化器
4.3 使用SQL需要考虑的因素
4.4 查询的过滤条件
4.5 高效过滤条件举例
4.6 SQL优化的其它问题-SQL连接
层次结构处理及反范式
5.1 处理层次结构
5.2 层次结构自顶向下查询
5.3 层次结构自底向上查询
5.4 聚合来自树的值
5.5 对冗余的控制(反范式)介绍
5.6 对冗余的控制(反范式)实现方式
数据库并发问题
6.1 处理并发和大数据量-并发读取
6.2 并发修改数据-加锁
6.3 并发修改数据-资源竞争
6.4 事务的隔离级别
6.5 数据量增加的不同影响
6.6 大数据量的一些处理逻辑
高性能数据库开发的原则
7.1 规范化设计
7.2 字段设计--地址和空值处理
7.3 字段设计--布尔类型和历史数据
7.4 数据的处理模式和存储设计
大尺度的问题
8.1 大尺度的问题