《数据库原理与应用》课程教学大纲
一.适用对象
适用于高校相关专业学生。
二.课程性质
数据库是数据管理的最新技术,是计算机科学的重要分支,作为信息系统核心和基础的数据库技术在各级部门和企事业单位中得到广泛的应用。数据库原理与应用是计算机科学与技术专业、软件工程专业的专业必修课,也是电子信息工程、通信工程、电子商务等非计算机专业本、专科学生的必修课程之一。
Oracle数据库是由Oracle公司开发的支持关系对象模型的分布式数据库产品,是当前主流关系数据库管理系统之一,它是一个功能全面整合的数据平台,为企业提供企业级数据管理和数据仓库、数据挖掘和联机分析处理等商业智能工具,在电子商务和数据库解决方案等应用中起着重要的核心作用,为企业的数据管理提供了强大的支持。
本课程以数据库原理为基础,以Oracle公司最新推出的Oracle 12c作为平台,以学生成绩数据库为主线,内容包括数据库概论、关系数据库系统模型、关系数据库设计理论、数据库设计、Oracle数据库、创建数据库和创建表、PL/SQL基础、高级查询、视图和索引、数据完整性、PL/SQL程序设计、函数和游标、存储过程和触发器、事务和锁、安全管理、备份和恢复等内容。学生将对数据库技术的基本概念、原理、方法和技术有较深刻的理解,掌握SQL语言查询和编程的基本技术,掌握数据库系统安装、配置、管理和维护的基本技能,具备管理和开发简单数据库应用系统的能力。
前序课程:计算机基础、C语言。
三.教学目的
1. 掌握数据库技术的基本概念、原理、方法和技术。 2. 掌握SQL语言查询和编程的基本技术,具备SQL语言编程能力 3. 掌握数据库系统安装、配置和数据库管理和维护的基本技能。 4. 掌握设计数据库的理论和基本方法,具备数据库设计的能力 5. 了解数据库技术的最新发展。四.教材及学时安排
学时安排:讲课32学时,实验32学时,共计64学时序号 | 教学内容 | 讲课 | 实验 |
1 | 第1章 概论 | 2 | |
2 | 第2章 关系数据库系统模型 | 2 | 2 |
3 | 第3章 关系数据库设计理论 | 2 | 2 |
4 | 第4章 数据库设计 | 2 | 2 |
5 | 第5章 Oracle数据库,第6章 创建数据库和创建表 | 2 | 2 |
6 | 第7章 PL/SQL基础 | 2 | 6 |
7 | 第8章 高级查询 | 2 | 2 |
8 | 第9章 视图和索引 | 2 | 2 |
9 | 第10章 数据完整性 | 2 | 2 |
10 | 第11章 PL/SQL程序设计 | 2 | 2 |
11 | 第12章 函数和游标 | 2 | 2 |
12 | 第13章 存储过程和触发器,第14章 事务和锁 | 4 | 4 |
13 | 第15章 安全管理 | 2 | 2 |
14 | 第16章 备份和恢复 | 2 | 2 |
15 | 总复习 | 2 | |
合 计 | 32 | 32 |
五.教学要求(按章节详细阐述)
第 1 章 概论 教学要求:理解数据库和数据库系统的概念;
掌握数据库系统的组成,掌握数据库管理系统的功能和组成;
掌握数据模型的概念和数据模型的类型;
掌握关系模型的数据结构、关系的完整性以及关系操作等;
掌握关系代数的运算规则;
理解关系演算的运算规则;
了解SQL语言的特点。
理解关系数据库设计理论三个方面的内容:函数依赖、范式和模式设计。
理解函数依赖,包括完全函数依赖、部分函数依赖和传递函数依赖等概念;
理解范式的概念,理解1NF、2NF、3NF、BCNF、4NF和5NF等概念。
掌握关系模式规范化的目的、原则和方法。
理解数据依赖的公理系统;
掌握设计数据库的基本方法,具备数据库设计的能力;
掌握依据需求分析进行概念设计和逻辑设计的技术和方法,具备根据需求分析阶段收集到的信息画出E-R图,并将E-R图转化为关系模式的能力。
了解物理结构设计、数据库实施、数据库运行和维护
了解Oracle 12c数据库的特性;
掌握Oracle 12c数据库安装过程;
掌握Oracle数据库开发工具:图形界面的SQL Developer和命令行的SQL*Plus使用技能。
掌握Oracle数据库卸载
理解Oracle 数据库的体系结构;
掌握删除数据库和创建数据库。
掌握表的基本概念;
掌握Oracle常用的数据类型和表结构设计;
掌握使用SQL Developer创建、修改和删除表;
掌握表数据的插入、删除和修改。
理解SQL语言和PL/SQL语言的基本概念及其特点;
掌握数据定义语言中的CREATE DATABASE、ALTER DATABASE、DROP DATABAS等语句,具备使用PL/SQL语句创建、修改、删除数据库的能力;
掌握数据定义语言中的CREATE TABLESPACE、ALTER TABLESPACE、DROP TABLESPACE等语句,具备使用PL/SQL语句创建、修改、删除表空间的能力;
掌握数据定义语言中的CREATE TABLE、ALTER TABLE、DROPTABLE等语句,具备使用PL/SQL语句创建、修改、删除表的能力;
掌握数数据操纵语言中的INSERT、UPDATE、DELETE等语句,具备使用PL/SQL语句对表中的数据进行增加、修改、删除的能力;
掌握数据查询语言中的SELECT子句、FROM子句、WHERE子句、GROUP BY子句、HAVING子句、ORDER BY子句,具备使用PL/SQL语句进行投影查询、选择查询、分组查询和统计计算、排序查询、连接查询、子查询和查询结果的集合运算的能力。
掌握使用连接谓词进行连接和使用JOIN关键字进行连接,具备使用连接查询的能力。
掌握集合查询操作符,具备使用集合查询的能力。
掌握IN子查询、比较子查询、EXISTS子查询,具备使用子查询的能力。
理解视图的概念;
掌握使用图形界面和PL/SQL语句创建、修改和删除视图;
掌握可更新视图。
理解索引的概念;
掌握使用图形界面和PL/SQL语句创建、修改和删除索引。
理解完整性的概念;
在域完整性中,掌握使用图形界面和PL/SQL语句创建和删除CHECK约束(检查约束)、DEFALUT约束(默认约束);
在实体完整性中,掌握使用图形界面和PL/SQL语句创建和删除PRIMARY KEY 约束(主键约束)、UNIQUE 约束(唯一性约束);
在参照完整性中,掌握使用图形界面和PL/SQL语句创建和删除FOREIGN KEY约束(外键约束);
理解PL/SQL编程的概念;
掌握PL/SQL字符集;
掌握数据类型、标识符、常量、变量、运算符与表达式的使用;
掌握PL/SQL基本结构和控制语句,具备使用流程控制语句的能力;
掌握系统内置函数,具备使用系统内置函数的能力;
掌握用户定义函数的创建、调用和删除,具备创建用户定义函数解决应用问题的能力;
掌握显式游标、隐式游标、游标FOR循环和游标变量等操作,具备使用游标解决应用问题的能力。
掌握包的创建、调用和删除。
理解存储过程的概念;
掌握使用图形界面和PL/SQL语句创建和调用存储过程,具备创建存储过程解决应用问题的能力;
掌握存储过程中参数的使用。
理解触发器的概念;
掌握使用图形界面和PL/SQL语句创建触发器,具备创建DML触发器、INSTEAD OF发器和系统触发器解决应用问题的能力;
掌握触发器的管理。
理解事务和锁的概念;
掌握事务处理语句的编写。
理解安全管理的概念;
理解用户的概念,掌握创建用户、修改用户、删除用户、查询用户信息等操作,具备用户管理的能力;
理解权限的概念,掌握系统权限和对象权限的授予和收回,掌握权限查询,具备权限管理的能力;
理解角色的概念,掌握创建角色、修改角色、删除角色、授予角色权限和收回权限、将角色授予用户等操作,具备角色管理的能力;
理解备份和恢复的概念;
理解逻辑备份与恢复的概念,掌握使用Export和Import进行导出和导入,使用新的数据泵技术EXPDP和IMPDP进行导出和导入;
理解脱机备份的概念,掌握脱机备份和恢复;
理解联机备份与恢复的概念;
掌握查询闪回、表闪回、删除闪回等闪回技术。
教学进度表
课程名称数据库原理与应用. 学期: 学年第 学期
使用班级 课程性质:
课次 | 教学内容 | 教学时数 | 重点、难点 | 作业、实验 | ||
讲课 | 习题 | 实验 | ||||
1 | 第1章 概论 1.1:数据库系统概述 1.2:数据库系统结构 1.3:数据模型 | 2 | 理解数据库和数据库系统的概念, 掌握数据库系统的结构和数据模型 | |||
2 | 第2章 关系数据库系统模型 2.1:关系模型 2.2:关系代数 2.3:关系演算 2.4:SQL简介 | 2 | 掌握关系模型的数据结构、关系的完整性以及关系操作等; 掌握关系代数的运算规则; 理解关系演算的运算规则; 了解SQL语言的特点。 | |||
3 | 2 | 2.6:关系代数应用实验 | ||||
4 | 第3章 关系数据库设计理论 3.1:关系数据库设计理论概述 3.2:规范化 3.3:数据依赖的公理系统 | 2 | 范式分析是本课程的重点之一。 理解关系数据库设计理论三个方面的内容:函数依赖、范式和模式设计。 掌握关系模式规范化的目的、原则和方法。 理解数据依赖的公理系统; | |||
5 | 2 | 3.5:规范化理解与应用实验 | ||||
6 | 第4章 数据库设计 4.1:数据库设计概述 4.2:需求分析 4.3:概念结构设计 4.4:逻辑结构设计 4.5:物理结构设计 4.6:数据库实施、 4.7:数据库运行和维护 | 数据库设计是本课程的重点之一。 掌握设计数据库的基本方法,具备数据库设计的能力; 掌握依据需求分析进行概念设计和逻辑设计的技术和方法,具备根据需求分析阶段收集到的信息画出E-R图,并将E-R图转化为关系模式的能力。 了解物理结构设计、数据库实施、数据库运行和维护 | ||||
7 | 2 | 4.9:E-R图画法与概念模型向逻辑模型的转换实验 | ||||
8 | 第5章 Oracle数据库,第6章 创建数据库和创建表 5.1:Oracle 12c数据库的特性 5.2:Oracle 12c数据库安装过程 5.3:Oracle数据库开发工具: 5.4:Oracle数据库卸载 6.1:Oracle 数据库的体系结构 6.2:创建和删除数据库 6.3:表的基本概念,数据类型,表结构设计 6.4:使用SQL Developer 创建、修改和删除表 6.5:操作表数据 | 2 | 了解Oracle 12c数据库的特性; 掌握Oracle 12c数据库安装过程; 掌握Oracle数据库开发工具: 掌握Oracle数据库卸载; 理解Oracle 数据库的体系结构; 掌握删除数据库和创建数据库。 掌握表的基本概念; 掌握Oracle常用的数据类型和表结构设计; 掌握使用SQL Developer创建、修改和删除表; 掌握表数据的插入、删除和修改。 | |||
9 | 2 | 6.7:创建数据库(使用DBCA)和创建表实验(使用SQL Developer) | ||||
10 | 第7章 PL/SQL基础 7.1:SQL和PL/SQL 7.2:在PL/SQL中的数据定义语言 7.3:在PL/SQL中的数据操纵语言 7.4:在PL/SQL中的数据查询语言 | 2 | 数据查询是本课程的又一重点。 理解SQL语言和PL/SQL语言的基本概念及其特点; 掌握数据定义语言中语句,具备使用PL/SQL语句创建、修改、删除数据库和表的能力; 掌握数数据操纵语言中的语句,具备使用PL/SQL语句对表中的数据进行增加、修改、删除的能力; 掌握数据查询语言中的语句,具备使用PL/SQL语句进行查询的能力。 | |||
11 | 2 | 7.6:创建表实验(使用PL/SQL语句) | ||||
12 | 2 | 7.7:表数据的插入、修改和删除实验 | ||||
13 | 2 | 7.8:查询实验 | ||||
14 | 第8章 高级查询 8.1:连接查询 8.2:集合查询 8.3:子查询 | 2 | 掌握使用连接谓词进行连接和使用JOIN关键字进行连接,具备使用连接查询的能力。 掌握集合查询操作符,具备使用集合查询的能力。 掌握IN子查询、比较子查询、EXISTS子查询,具备使用子查询的能力。 | |||
15 | 2 | 8.5:高级查询实验 | ||||
16 | 第9章 视图和索引 9.1:视图概述 9.2:创建视图、修改视图和删除视图 9.3:更新视图 9.4:索引概述 9.5:创建索引、修改索引和删除索引 | 2 | 理解视图的概念; 掌握使用图形界面和PL/SQL语句创建、修改和删除视图; 掌握可更新视图。 理解索引的概念; 掌握使用图形界面和PL/SQL语句创建、修改和删除索引。 | |||
17 | 2 | 9.7:视图实验 9.8:索引实验 | ||||
18 | 第10章 数据完整性 10.1:数据完整性概述 10.2:域完整性 10.3:实体完整性 10.4:参照完整性 | 2 | 在域完整性中,掌握使创建和删除CHECK约束(检查约束)、DEFALUT约束(默认约束); 在实体完整性中,掌握创建和删除PRIMARY KEY 约束(主键约束)、UNIQUE 约束(唯一性约束); 在参照完整性中,掌握创建和删除FOREIGN KEY约束(外键约束); | |||
19 | 2 | 10.6:数据完整性实验 | ||||
20 | 第11章 PL/SQL程序设计 11.1:PL/SQL编程 11.2:PL/SQL字符集 11.3:数据类型 11.4:标识符、常量、变量 11.5:运算符和表达式 11.6:PL/SQL基本结构和控制语句 | 2 | 数据库程序设计是本课程的重点之一。 理解PL/SQL编程的概念; 掌握PL/SQL字符集; 掌握数据类型、标识符、常量、变量、运算符与表达式的使用; 掌握PL/SQL基本结构和控制语句,具备使用流程控制语句的能力; | |||
21 | 2 | 11.8:PL/SQL编程实验 | ||||
22 | 第12章 函数和游标 12.1:系统内置函数 12.2:用户定义函数 12.3:游标 | 2 | 掌握系统内置函数,具备使用系统内置函数的能力; 掌握用户定义函数的创建、调用和删除,具备创建用户定义函数解决应用问题的能力; 掌握显式游标、隐式游标、游标FOR循环和游标变量等操作,具备使用游标解决应用问题的能力。 | |||
23 | 2 | 12.5:函数和游标实验 | ||||
24 | 第13章 存储过程和触发器 13.1:存储过程概述 13.2:存储过程的创建和调用 13.3:存储过程的参数 | 2 | 理解存储过程的概念; 掌握使用图形界面和PL/SQL语句创建和调用存储过程,具备创建存储过程解决应用问题的能力; 掌握存储过程中参数的使用。 | |||
25 | 2 | 13.8:存储过程实验 | ||||
26 | 第13章 存储过程和触发器 13.4:触发器概述 13.5:创建触发器 13.6:触发器的管理 第14章 事务和锁 14.1:事务的基本概念 14.2:事务处理 14.3:并发事务和锁 | 2 | 理解触发器的概念; 掌握使用图形界面和PL/SQL语句创建触发器,具备创建DML触发器、INSTEAD OF触发器和系统触发器解决应用问题的能力; 掌握触发器的管理。 理解事务和锁的概念; 掌握事务处理语句的编写。 | |||
27 | 2 | 13.9:触发器实验 | ||||
28 | 第15章 安全管理 15.1:安全管理概述 15.2:用户管理 15.3:权限管理 15.4:角色管理 | 2 | 理解安全管理的概念; 理解用户的概念,掌握创建用户、修改用户、删除用户、查询用户信息等操作,具备用户管理的能力; 理解权限的概念,掌握系统权限和对象权限的授予和收回,掌握权限查询,具备权限管理的能力; 理解角色的概念,掌握创建角色、修改角色、删除角色、授予角色权限和收回权限、将角色授予用户等操作,具备角色管理的能力; | |||
29 | 2 | 15.6: 安全管理实验 | ||||
30 | 第16章 备份和恢复 16.1:备份和恢复概述 16.2:逻辑备份与恢复 16.3:脱机备份与恢复 16.4:联机备份与恢复 16.5:闪回技术 | 2 | 理解备份和恢复的概念; 理解逻辑备份与恢复的概念,掌握使用Export和Import进行导出和导入,使用新的数据泵技术EXPDP和IMPDP进行导出和导入; 理解脱机备份的概念,掌握脱机备份和恢复; 理解联机备份与恢复的概念; 掌握查询闪回、表闪回、删除闪回等闪回技术。 | |||
31 | 2 | 16.7:备份和恢复实验 | ||||
32 | 总复习 |
教研室主任: 拟定教师: 拟定日期: 年 月 日
学年 学期 实验教学进度表
课程名称: 数据库原理与应用 实验类别: □基础 □专业基础
实验班级: 各班人数: 分组实验每组人数:
序号 | 实验项目名称 | 实验要求 | 实验 类型 | 预 约 时 间 | 实验室 | 耗材(元) | 计划 时数 |
1 | 实验1 关系代数应用实验 | 第1周 | 2 | ||||
2 | 实验2 规范化理解与应用实验 | 第2周 | 2 | ||||
3 | 实验3 E-R图画法与概念模型向逻辑模型的转换实验 | 第3周 | 2 | ||||
4 | 实验4 创建数据库(使用DBCA)和创建表实验(使用SQL Developer) | 第4周 | 2 | ||||
5 | 实验5 创建表实验(使用PL/SQL语句) | 第5周 | 2 | ||||
6 | 实验6 表数据的插入、修改和删除实验 | 第6周 | 2 | ||||
7 | 实验7 查询实验 | 第7周 | 2 | ||||
8 | 实验8 高级查询实验 | 第8周 | 2 | ||||
9 | 实验9 视图实验、索引实验 | 第9周 | 2 | ||||
10 | 实验10 数据完整性实验 | 第10周 | 2 | ||||
11 | 实验11 PL/SQL编程实验 | 第11周 | 2 | ||||
12 | 实验12 函数和游标实验 | 第12周 | 2 | ||||
13 | 实验13 存储过程实验 | 第13周 | 2 | ||||
14 | 实验 14 触发器实验 | 第14周 | 2 | ||||
15 | 实验 15 安全管理实验 | 第15周 | 2 | ||||
16 | 实验 16备份和恢复实验 | 第16周 | 2 | ||||
合 计 | 32 |
拟定教师: 年 月 日
实验指导教师: 、
扫描优惠购书