数据库原理及应用 陆鑫

数据库是任何信息系统重要的支撑基础。掌握数据库开发技术是打开通向各类信息系统、互联网信息服务、大数据技术应用之门的钥匙。

课程概述

《数据库原理及应用》是软件工程专业一门重要的学科基础课,该课程介绍数据库原理、数据库设计、数据库SQL语言、数据库管理、数据库应用编程、NoSQL数据库等方面知识与技术方法。同时该课程又是一门实践性强的基础课程,它在软件工程专业课程体系中,对建立学生数据库系统分析、数据库设计、数据库编程访问等专业能力具有重要作用。

考核要求

本课程考核评价环节组成:课程MOOC学习评价(占20%)、课程大作业评价(占20%)和期末考试评价(占 60%)三个环节。

预备知识

数据结构、程序设计、操作系统等先修课程知识

授课大纲

《数据库原理及应用》课程教学大纲

课程英文名称:Database Principle and Application

课程代码 G0900730         48     3

课程类型:学科基础课程               

适用学科专业:软件工程

先修课程:数据结构与算法、Java/C程序设计、操作系统基础、离散数学

  者:陆鑫   编写日期:20231 人:汤羽

 

一、课程简介(Course Introduction

《数据库原理及应用》是软件工程专业一门重要的学科基础课,该课程介绍数据库原理、数据库设计、数据库SQL语言、数据库管理、数据库应用编程、NoSQL数据库等方面知识与技术方法。同时该课程又是一门实践性强的基础课程,它在软件工程专业课程体系中,对建立学生数据库系统分析、数据库设计、数据库编程访问等专业能力具有重要作用。

This course is an important basic disciplinary course in software engineering. It introduces database theory, database design, database language SQL, database management, database application programmingNoSQL database knowledge and the technical method. At the same time, this course is also a basic course with strong practicality. In the software engineering course system, it plays an important role in the establishment of students’ database system analysis, database design, database access and other professional programming ability.

二、课程目标(Course Objectives

通过本课程理论知识学习和实践训练,使学生掌握数据库原理基础知识、数据库技术、以及数据库应用系统基本开发方法。同时,本课程培养学生具备数据库系统建模设计、数据库操作访问、数据库系统产品工具使用、数据库系统管理和数据库应用编程访问等专业能力。在软件工程专业的人才培养中,本课程还培养学生综合利用专业知识和技术解决复杂软件系统的数据架构设计、数据访问处理能力。

Through the course theoretical knowledge learning and practice training, the students will master the basic knowledge of database theory, database technology, as well as the basic development methods of database application system. This course will cultivate students' professional ability, such as database system modeling design, database operation access, database system product tool use, database system management and database application programming. In the training of software engineering professionals, this course also bears the ability to cultivate students' comprehensive utilization of professional knowledge and technology to solve the data structure design, data access and processing of complex software systems.

课程采用工程教育的基于学习成果教育模式(Outcomes Based EducationOBE)实施教学,其课程目标、课程模块、培养要求之间的关系见表1所示。

1 课程目标、课程模块、专业培养要求之间关系

课程目标

(CO)

CO1:掌握数据库系统基本概念、数据库模型原理、数据库编程语言、数据库系统管理、NoSQL数据库技术原理等基础知识。

CO2:掌握数据库建模设计技术,能够合理优化地给出数据库设计方案,培养数据库设计能力。

CO3:掌握数据库SQL操作访问和数据库管理实现技术方法,能够对实现结果给出合理性说明,从而培养数据库操作访问与数据库系统管理能力。

CO4:掌握基本的数据库应用编程技术方法及其开发工具使用,建立数据库应用编程能力,同时培养数据库应用编程的复杂工程问题解决能力。

课程模块

(CM)

CM1:数据库系统概述

    数据库、数据库管理系统、数据库系统的基本概念,数据库技术发展概况及趋势,数据库应用系统类型、应用结构、开发过程,NoSQL数据库概念、数据模型、基本应用。

CM2: 关系模型

    关系概念、关系的数学定义、关系模式表示,关系模型组成、关系模型操作、关系模型完整性。

CM3:结构化查询语言SQL

    SQL语言基础、数据库对象定义SQL语句、数据操纵SQL语句、数据查询SQL语句、数据控制SQL语句、视图SQL语句。

CM4:数据库设计

    数据库设计过程,数据库E-R模型,概念数据模型设计、逻辑数据模型设计、物理数据模型设计,数据模型转换方案,数据表规范化,设计工具应用。

CM5:数据库管理

    数据库管理概述,事务管理,并发控制,安全管理,数据库备份与恢复,管理工具应用。

CM6:数据库应用编程

数据库应用程序结构、开发方法、主流开发技术,数据库连接技术,WEB数据库系统技术,游标编程,存储过程编程,触发器编程,编程开发工具应用。

CM7:Nosql数据库技术

关系数据库局限,大型分布式数据处理要求,NoSQL数据库特点,NoSQL数据库类型,NoSQL数据库原理,NoSQL存储数据模型,NoSQL数据库访问方案

 

培养目标

毕业要求指标点

课程目标

课程模块

PO3/PO9

GR3.4:能够集成单元过程进行软件系统流程设计,对流程设计方案进行优选。

CO2

CM4

PO3/PO5

GR4.2能够对实现结果进行分析和解释,并通过信息综合得到合理有效的结论

CO3

CM3CM5

PO3/PO4/PO5

GR5.3选择相应的技术工具,针对软件工程及相关领域的复杂工程问题,进行预测和模拟

CO4

CM3CM6

 

本课程目标达成度评价方式见表2所示。

2 课程目标达成度评价

课程

目标

考核方式

考核

标准

权重系数

考核模块

考试

测验

作业

实验

其他

CO1

 

 

 

 

百分制

0.4

CM1CM2, CM3

CM4CM5CM6CM7  

CO2

 

 

 

 

百分制

0.1

CM4

CO3

 

 

 

百分制

0.35

CM3CM5

CO4

 

 

 

 

百分制

0.15

CM3CM6

达成度评价方式

CO1达成度

考试达到值/考试预期值

CO2达成度

考试达到值/考试预期值

CO3达成度

(考试达到值/考试预期值)*0.2 +(上机测评达到值/上机测评预期值)*0.8

CO4达成度

考试达到值/考试预期值

课程目标达成度

(CO1达成度)*0.4 + (CO2达成度)*0.1 + (CO3达成度)*0.35 + (CO4达成度)*0.15

 

本课程满足毕业要求指标点的达成度评价方式见表3所示。

3毕业要求指标点达成度评价

指标点

*权重

 系数

考核方式

考核模块

考试

测验

作业

实验

其他

GR3.4

0.20

 

 

 

 

CM4

GR4.2

0.40

 

 

 

CM3CM5

GR5.3

0.20

 

 

 

 

CM3CM6

达成度

评价方式

GR3.4达成度

CO2课程目标支撑与计算:(CO2达成度) * 1.0 

GR4.2达成度

CO3课程目标支撑与计算:(CO3达成度) * 1.0

GR5.3达成度

CO4课程目标支撑与计算:(CO4达成度) * 1. 0

 

三、课程内容安排和要求

(一)教学内容、要求及教学方法

本课程共48学时,课堂讲授40学时,上机实践8学时,课后MOOC学习48学时。课程采用“翻转课堂教学”方式实施课堂教学。课程内容由如下章节组成:

第一章 数据库系统概论(CM1) 3学时

教学内容:数据库及特点,数据模型,数据库系统组成,数据库管理系统;数据库技术发展,数据库新技术(对象-关系数据库、领域数据库、数据仓库、数据挖掘、商业智能、大数据分析);数据库应用系统类型,数据库应用系统结构,数据库应用系统生命周期,数据库开发阶段活动;典型关系数据库管理系统,DBMS系统类型;PostgreSQL系统简介。在讲解数据库技术发展过程内容时,加入课程思政内容,如工程伦理、职业道德、国家信息安全等因素分析培养学生应具有良好的社会责任、职业道德同时鼓励学生立志研发自主知识产权数据库技术,在核心系统软件领域发展国产数据库软件技术,确保国家在信息技术领域的安全

重点: 数据库概念,数据库模型分类,数据库内部对象组成,数据库系统组成,数据库管理系统功能作用;数据库应用系统结构,数据库应用系统开发阶段,DBMS系统类型。

难点:数据库管理系统功能,数据库元数据;数据库应用系统结构;数据库应用系统开发阶段活动。

教学要求:通过课程教学,使学生了解数据库是什么、数据库功能作用、数据库系统组成、数据库技术发展概况、典型关系数据库管理系统技术特点。理解数据库的基本概念,如数据库、数据模型、数据库系统、数据库管理系统、关系数据库、数据库系统组成等基本知识概念。领会数据库元数据、数据库系统的数据模型、数据库系统应用结构、数据库应用系统开发过程。

教学方法:采用翻转课堂教学方法,安排学生通过Mooc课视频预习。在课堂内,针对重点及难点进行探讨与讲解。首先引出信息系统面临解决的数据存储、数据访问、数据管理问题,分析为什么需要使用数据库。同时提出一些数据库管理需要解决的问题,启发学生进一步思考。在讲解数据库基础知识过程中,同时还采用案例教学方法,以先进的对象-关系数据库管理系统PostgreSQL为例,讲解数据库软件组成部件和基本工具应用,使学生能直观理解数据库系统应用方法。

第二章 数据库关系模型(CM2) 4学时

教学内容:实体概念,关系概念,关系数学描述,关系模式表示,主键,候选键,复合键;关系模型组成,关系模型操作,关系运算,实体完整性,外键,参照完整性;PostgreSQL数据库关系表应用。

重点: 关系模型,关系表,主键,外键,复合键,实体完整性,参照完整性。

难点:关系运算,关系参照完整性。

教学要求:通过课程教学,使学生了解数据库关系模型的数学基础。理解关系表、非关系表、关系模型、主键、外键、复合键等基本数据库概念;领会关系特征、关系运算、实体完整性、参照完整性等原理方法;掌握关系表定义、关系运算、多表关联应用方法。

教学方法:采用翻转课堂教学方法,安排学生通过Mooc课视频预习。在课堂内,针对重点及难点进行探讨与讲解。首先对关系的数学运算方法进行分析,研讨关系模型的操作原理。然后采用案例教学方法,以实例说明关系模型的数据操作原理。以典型数据库DBMS系统(如PostgreSQL)为例,讲解数据库关系表、主键、外键、参照完整性约束等概念和创建方法,进一步理解关系模型。

实践能力培养:在课程教学中,通过案例导引”、“做中学教学方法训练学生对主流开源数据库管理系统PostgreSQL的基本操作应用。通过课堂案例讲解和课后实践作业,培养学生掌握数据库系统中的关系模型应用能力。

第三章 数据库操作SQL语言(CM3) 8学时

教学内容:SQL语言特点,SQL语句类型,SQL数据类型;DDL语句操作,数据库对象定义SQL语句,数据库表定义SQL语句,数据索引对象定义SQL语句DML语句操作,数据插入SQL语句,数据更新SQL语句,数据删除SQL语句;DQL语句操作,单表指定行列查询,查询结果排序,内置函数应用,查询结果分组,子查询应用,多表关联查询,外连接查询;DCL语句操作,授权SQL语句,权限回收SQL语句,权限拒绝SQL语句;视图SQL语句,视图创建,视图应用;PostgreSQL数据库SQL项目实践

重点:关系表创建CRATE TABLE语句操作;插入数据到表INSERT INTO语句操作;数据查询SELECT语句操作;数据修改UPDATE语句操作;数据删除DELETE语句操作。

难点:使用表约束定义主键、外键、列约束、缺省等;查询SELECT语句的内置函数和分组统计;多表关联查询;SQL视图操作与应用。

教学要求:通过课程教学,使学生了解SQL是什么?它如何被执行?如何创建数据库?如何操纵数据库?理解SQL语言体系结构、数据库访问思想、各类SQL语句作用;掌握数据库访问操作的基本SQL编程方法。

教学方法:采用翻转课堂教学方法,安排学生通过Mooc课视频预习。在课堂内,针对重点及难点进行探讨与讲解。采用案例教学和做中学教学方法,以PostgreSQL数据库系统操作访问为基础,边讲解SQL语句边实践操作。使学生理解数据库操作访问方法,并掌握基本的数据库操作访问SQL方法。

实践能力培养:在课程教学中,通过案例导引”、“做中学教学方法,训练学生掌握主流开源数据库管理系统PostgreSQLSQL语言操作实践。通过课堂案例实践和课后实践作业,培养学生具有数据库SQL语言编程和数据库访问能力。

第四章 数据库设计与实现(CM4)  8学时

教学内容:数据库设计方案,数据库设计过程,数据库设计策略,设计模型类型,设计工具;E-R模型要素,实体联系类型,强弱实体,标识符依赖弱实体,非标识符依赖弱实体,E-R模型图;概念数据模型设计,逻辑数据模型设计,物理数据模型设计,数据模型转换方案;非规范数据库设计问题,函数依赖理论,规范化设计范式,逆规范化设计处理;数据库设计模型SQL实现;Power Designer项目实践,CDM/LDM/PDM设计,设计模型检查,数据库SQL实现。

重点:数据库模型设计方法,概念数据模型设计,CDM/LDM/PDM数据模型转换设计,数据库设计模型SQL实现。

难点:数据库模型设计方法,数据库设计规范化处理,数据库设计性能优化。

教学要求:通过课程学习,使学生了解数据库设计开发过程。掌握数据库设计建模方法,并熟练运用设计工具完成数据库模型设计。具体使学生掌握数据库概念数据模型、逻辑数据模型和物理数据模型之间转换设计,并掌握数据库设计模型的物理实现方法。同时,需要掌握如何设计一个规范的、高效的数据库系统,并能对设计模型进行验证。

教学方法:采用翻转课堂教学方法,安排学生通过Mooc课视频预习。在课堂内,针对重点及难点进行探讨与讲解。首先讲解数据库系统数据建模过程,重点给出实体-关系模型的原理方法和应用模式探讨,引导学生对数据库分析与设计建模知识了解,并掌握基本的系统概念模型数据模型设计、逻辑数据模型设计、物理数据模型设计方法。培养学生如何进行不同数据模型之间的转换、如何规范化数据库设计、如何对数据库应用系统进行反向工程。采用项目案例教学方式,结合数据库设计工具Power Designer和PostgreSQL数据库系统,培养学生理解数据库设计建模与数据库实现方法,并掌握利用建模工具如何进行数据库开发。

实践能力培养:在课程教学中,还采用案例导引”、“做中学教学方法,训练学生掌握主流数据库设计建模工具Power Designer的应用。通过课堂案例实践和课后实践作业,培养学生掌握系统数据模型设计方法,具有基本的数据库设计能力。

第五章 数据库系统管理(CM5) 6学时

教学内容:数据库系统管理目标与内容,数据库系统管理工具,DBMS管理功能,DBMS系统结构;事务概念,事务特性,事务并发执行,事务SQL程序;数据库并发控制问题,并发事务调度,数据库锁机制,并发控制协议,两阶段锁协议,并发事务死锁解决,事务隔离级别;数据库安全问题,数据库安全模型,用户管理,权限管理,角色管理;数据库备份,数据库恢复;PostgreSQL数据库管理项目实践。

重点:数据库系统管理功能,事务机制,并发控制机制,数据库安全模型。

难点:数据库并发控制,数据库安全机制,数据库备份与恢复。

教学要求:通过课程学习,使学生了解数据库管理系统管理目标与内容、典型DBMS数据库系统结构、管理功能结构。理解数据库事务、并发控制、事务调度、基于锁的共享数据访问、锁协议、事务隔离级别。掌握数据库管理的基本操作,如数据库维护、数据库用户管理、角色管理、权限管理、数据库备份、数据库恢复等。

教学方法:采用翻转课堂教学方法,安排学生通过Mooc课视频预习。在课堂内,针对重点及难点进行探讨与讲解。首先使学生理解数据库管理系统功能结构、数据库管理对象、数据库管理实现原理、数据库管理实现方法等核心知识,培养学生掌握典型数据库DBMS的管理实现方法。采用案例教学方式,以PostgreSQL数据库系统为案例,培养学生掌握数据库对象、数据库角色、数据库用户、数据库权限、数据库备份、数据库恢复等要素的管理方法。

实践能力培养:在课程教学中,还采用案例导引”、“做中学教学方法,训练学生对主流数据库DBMS进行系统管理。通过课堂案例实践和课后实践作业,培养学生掌握数据库管理方法,具有数据库系统运行与维护管理能力。

第六章 数据库应用编程(CM6)    7学时

教学内容:数据库ODBC连接技术,数据库JDBC连接技术;Java WEB数据库应用编程,Servlet技术,JSP技术,JavaBean技术MyBatis框架;存储过程编程,存储过程应用;触发器编程,触发器应用;游标编程,游标应用;嵌入式SQL编程,嵌入式SQL应用。

重点:数据库游标编程应用,存储过程编程应用,触发器编程应用。

难点:数据库连接技术,Servlet技术,JSP技术,JavaBean技术MyBatis框架。

教学要求:通过课程学习,使学生了解数据库应用编程方法。掌握数据库存储过程、触发器、游标编程方法和数据库连接技术方法。了解Java WEB数据库应用编程技术。掌握Java WEB数据库应用编程工具与开发过程。

教学方法:采用翻转课堂教学方法,安排学生通过Mooc课视频预习。在课堂内,针对重点及难点进行探讨与讲解。以PostgreSQL数据库应用编程开发案例,引导学生对数据库应用编程技术了解,并掌握基本的存储过程、触发器、游标编程访问方法。

实践能力培养:在课程教学中,还采用案例导引”、“做中学教学方法,训练学生掌握数据库应用系统的基本编程访问。通过课堂案例实践和课后实践作业,培养深入运用数据库系统工程方法和应用编程技术,建立数据库应用编程的复杂工程问题解决能力。

第七章 Nosql数据库(CM7)    4学时

教学内容:关系数据库局限,大型分布式数据处理要求,NoSQL数据库特点,NoSQL数据库类型;列存储数据模型、HBase数据库实现技术,键值对存储数据模型、Redis数据库实现技术,文档型数据模型、MongoDB数据库实现技术,图形数据模型、Neo4j数据库实现技术。

重点:NoSQL数据库原理,NoSQL存储数据模型,NoSQL数据库访问方案。

难点:HBase数据库实现技术, Redis数据库实现技术, MongoDB数据库实现技术, Neo4j数据库实现技术。

教学要求:通过课程学习,使学生了解NoSQL数据库应用方案。理解列存储数据库、键值对数据库、文档型数据库、图形数据库技术原理。领会NoSQL数据库应用编程技术、NoSQL数据库应用编程工具与开发过程。

教学方法:采用翻转课堂教学方法,安排学生通过Mooc课视频预习。在课堂内,针对重点及难点进行探讨与讲解。以NoSQL数据库应用开发案例,引导学生对NoSQL数据库技术了解,并掌握基本的NoSQL数据库编程访问方法。

实践能力培养:在课堂教学中,还采用案例导引”、“做中学教学方法,训练学生掌握NoSQL数据库的基本编程访问。通过课堂案例实践和课后实践作业,培养学生基本的数据库编程访问方法,具有基本的NoSQL数据库应用编程能力。

(二)自学内容和要求

针对典型数据库产品软件和开发工具,在教师对这些软件工具进行基本介绍后,要求学生对这些软件工具技术资料进行自学,主要包括PostgreSQLPower DesignerEclipseHBaseRedisMongoDBNeo4j。了解这些软件的技术特点、软件功能操作、工具使用方法。能够运用这些软件工具进行数据库应用系统开发。

(三)实践性教学环节和要求

本课程8个学时的实验教学。该环节针对图书销售管理系统数据库的SQL编程访问与数据库管理的工程能力进行实践训练。通过本课程实验,加深对数据库系统原理的认识,掌握数据库操作访问与系统管理方法,培养数据库应用开发能力。

实验一:图书销售管理系统数据库SQL应用编程    5学时

针对图书销售管理系统数据库开发,掌握DDL、DML、DQL类型SQL语句在数据库编程访问中的应用方法,完成图书销售管理数据库SQL编程操作,培养学生数据库SQL应用编程的复杂工程问题解决能力

实验二:图书销售管理系统数据库安全管理     3学时

针对图书销售管理系统数据库开发,掌握使用PostgreSQL数据库管理工具及DCL类型SQL语句在数据库管理中的应用方法,完成图书销售管理数据库管理操作,如角色管理、用户管理、权限管理等系统管理操作。通过实践培养学生数据库安全管理能力。

四、课程考核评价方式

本课程考核评价环节组成:课程MOOC学习评价(占20%)、课程大作业评价(占10%)、课程实验报告评价(占5%)、上机实践测评(占15%)和期末考试评价(占 50%)五个环节。

课程MOOC学习评价由学堂在线平台对学生的课程学习进行考核评价,评价内容针对课程目标CO1设计,考核学生掌握数据库专业知识与理解能力。

课程大作业考核评价依据学生完成课程作业的正确性、合理性、针对性、规范性情况给出成绩。若学生缺勤、缺课程讨论分别在课程作业成绩中扣负分(缺1次扣1分)。课程大作业评价内容针对本单元所属课程目标设计。评价标准见本课程作业评分细则。

课程上机实践评价依据学生上机实践测评内容正确性给出评价成绩,实验报告评价依据学生报告规范性、正确性和完整性给出评价成绩课程实验评价内容针对课程目标CO3设计。评价标准见本课程上机测评评分细则。

期末考试评价依据学生回答期末试题的正确性,给出期末成绩。期末考试评价内容针对课程目标CO2、CO3CO4设计。评价标准见本课程期末试卷评分细则。

五、建议教材及参考资料

(一)教材 

数据库系统原理、设计及编程,陆鑫,张凤荔,陈安龙编著,人民邮电出版社,2019.3

(二)参考资料

1. PostgreSQL实战,谭峰,张文升 著,机械出版社,2018.7

2. PostgreSQL技术内幕:查询优化深度探索,张树杰 著,电子工业出版社,2018.6

3. Power Designer 16 从入门到精通,李波,孙宪丽,关颖 著,清华大学出版社,2016.1

4. NoSQL权威指南,[美] 乔·塞科著,王春生,范东来 译,人民邮电出版社,2016.7

参考资料

(一)教材 

数据库系统原理、设计及编程,陆鑫,张凤荔,陈安龙编著,人民邮电出版社,2019.3

(二)参考资料

1. PostgreSQL实战,谭峰,张文升 著,机械出版社,2018.7

2. PostgreSQL技术内幕:查询优化深度探索,张树杰 著,电子工业出版社,2018.6

3. Power Designer 16 从入门到精通,李波,孙宪丽,关颖 著,清华大学出版社,2016.1

4. NoSQL权威指南,[美] 乔·塞科著,王春生,范东来 译,人民邮电出版社,2016.7

开课信息
2023-2024-2学期
学生名单 自动生成
课程已进行至
12/20周
开课:2024年02月26日 00:00:00
结束:2024年07月14日 00:00:00
课程信息
课程时长: 48
课程负载: 40学时课堂+8学时实验
内容类型: 视频,文档,随堂测试,富文本,讨论
课程分类: 工程技术
选课学生
学期学期类别选课人数
2023-2024-2学期 自动生成 152
2022-2023-2学期 自动生成 175
2022-2023-1学期 自动生成 3
2021-2022-2学期 自动生成 202
2020-2021-2学期 自动生成 359
信息中心

成都市高新区(西区)西源大道2006号

沙河校区:成都市建设北路二段四号

028-61831184

info.uestc.edu.cn

教育技术部

成都市高新区(西区)西源大道2006号

沙河校区:成都市建设北路二段四号

028-61831186

info.uestc.edu.cn