1、个人收集整理 勿做商业用途数据库原理及应用课程授课目的、内容、方法、重点、难点及学时分配一、 课程的性质、目的与任务:1 本课程的性质:数据库原理及应用是信息管理专业开设的专业基础必修课之一。2 本课程的目的:本课程的主要目的是使学生掌握数据库的基本原理,应用规范化的方法进行数据库的开发和设计,并和具体的一种大型数据库管理系统相结合,熟练掌握数据库管理系统的管理、操作和开发方法。3 本课程的任务:通过本课程的学习,学生应能针对具体的案例进行数据调查分析、数据库逻辑结构设计、关系规范化及数据库物理结构设计,并能使用高级语言进行数据库应用程序开发。二、 基本教学要求了解数据库的基本概念、发展、结构
2、体系及数据库新技术的发展方向等。理解数据库的安全性、完整性、并发控制及数据恢复等概念。掌握数据库的查询语言、关系理论及数据库的设计方法,掌握对数据库的安全性、完整性、并发控制及数据恢复的应用.三、 教学内容:(一)绪论4学时1、 数据库系统概述(1) 数据库的地位:数据库在信息领域的作用和地位(2) 四个基本概念:数据、数据库、数据库管理系统、数据库系统四个概念及相互间的关系。(3) 据管理技术的产生和发展:数据管理技术发展的三个阶段及每个阶段的环境、特点。2、 数据模型(1) 数据模型的组成要素:数据结构、数据操作、数据的约束条件(2) 概念模型:信息世界中的基本概念、实体之间的联系、概念模
3、型的表示方法ER图。(3) 常用数据模型:层次模型、网状模型、关系模型,每种模型从数据结构、完整性结束、数据存储、优缺点及典型的数据库系统几个方面介绍。3、 数据库系统结构数据库系统内部的模式结构:模式结构的概念、三级模式结构、二级映象功能及数据独立性4、 数据库系统的组成(1) 硬件平台:数据库平台对硬件平台的要求。(2) 软件:DBMS、操作系统、高级语言、开发工具及应用系统。(3) 人员:数据库管理员、系统分析员、数据库设计人员、程序员、最终用户。5、 数据库技术的研究领域数据库管理系统软件的研制、数据库设计及数据库理论。(二)关系数据库4学时1、关系模型概述(1) 关系数据结构:关系、
4、二维表.(2) 关系操作集合:常用关系操作、关系操作特点、关系数据语言的种类及特点。2、 系数据结构(1) 关系:域、笛卡积、关系、基本关系性质。(2) 关系模式:关系模式、定义关系模式、关系模式与关系.3、 关系的完整性(1) 实体完整性.(2) 参照完整性:关系间的引用、外码、参照完整性规则。(3) 用户定义的完整性。4、 关系代数(1) 概述:关系运算的要素、关系代数的运算符、表记符号。(2) 传统的集合运算:并、交、差、笛卡积。(3) 专门的关系运算:选择、投影、连接、除法。5、 关系演算元组关系演算、域关系演算语言.(三)关系系统及其查询2学时1、 关系系统:关系系统的定义、分类.2
5、、 关系系统的查询优化(1) 查询优化概述:查询优化的必要性、可能性、由DBMS进行查询优化的好处、查询优化的目标、代价模型。(2) 查询优化的必要性:对查询的几种执行策略比较。(3) 查询优化的一般准则、步骤。(四) 关系数据理论6学时1、 问题的提出(1) 关系模型的形式化定义。(2) 数据依赖:什么是数据依赖、数据依赖的类型。(3) 存在的问题:数据冗余太大、更新异常。2、 规范化(1) 函数依赖:函数依赖的定义、类型.(2) 码:候选码、主码、外部码。(3) 范式:1NF、2NF、3NF、BCNF、多值依赖及4NF。3、 数据依赖的公理系统(1) Armstrong公理系统:定义、定律
6、、推论及证明、导出规则。(2) 函数依赖闭包:闭包、闭包的引理、求闭包的算法、函数依赖的等价。(3) 极小化:最小依赖集、依赖集极小化算法。(4)4、 关系模式的分解(1) 关系模式分解的标准:无损联接性、依赖保持性。(2) 分解算法:3NF的无损联接性、依赖保持性分解算法及BCNF范式的无损联接性算法。5、 候选关键字的求解关系模式属性的分类、候选关键字的求解算法。(五) 数据库设计8学时1、 据库设计概述(1) 数据库和信息系统(2) 数据库设计的特点:数据库设计与应用系统设计相结合、与硬件相结合、结构和行为设计相结合.2、 需求分析(1) 需求分析的任务:任务、重点、难点.(2) 需求分
7、析的方法:调查与初步分析的用户需求、常用调查方法、进一步分析和表达用户的需求。(3) 数据字典:数据字典的用途、内容。3、 概念结构设计(1) 概念结构设计概述:什么是概念结构设计、概念结构设计的特点、描述概念模型的工具。(2) 概念结构设计的四种方法:自顶向下、自底向上、逐步扩张、混合策略。(3) 局部视图设计:数据抽象方法、选择局部应用、逐一设计局部ER图。(4) 视图集成:合并ER图、消除冲突、修改与重构、验证整体概念结构4、 逻辑结构设计(1) ER图向关系模型转换:转换内容、转换原则。(2) 数据模型的优化:确定数据依赖、数据依赖极小化、关系模式分解。(3) 设计用户子模式:考虑用户
8、的习惯。5、 数据库的物理设计(1) 数据库物理设计的内容和方法:准备工作、数据库物理设计所需参数、设计内容.(2) 关系模式存取方法选择:索引存取方法的选择、聚簇存取方法的选择、HASH存取方法的选择。(3) 确定数据库存储结构:确定数据的存储结构和存放位置、确定系统配置(4) 评价物理结构:存取空间、时间及维护代价。6、 数据库实施(1) 定义数据库结构(2) 数据装载.(3) 编制与调试应用程序。(4) 数据库试运行。7、 数据库运行与维护数据库的转储与恢复、安全性与完整性控制、数据库性能的监督与改进、数据库的重组织与重构(六) 数据库的恢复技术2学时1、事务的概念 (1) 事务:事务的
9、概念(2) 事务的特性:原子性、隔离性、持续性、一致性2、 常见的故障种类、恢复的实现技术 (1) 事务故障:什么是事务故障、常见原因、故障恢复(2) 系统故障:什么是系统故障、常见原因、故障恢复(3) 介质故障:什么是介质故障、常见原因、故障恢复(4) 数据转储技术:什么是转储、转储的用途及方法(5) 日志文件:日志文件的内容、用途、登记日志文件的原则3、 恢复策略 (1) 事务故障的恢复:恢复步骤(2) 系统故障的恢复:恢复步骤(3) 介质故障的恢复:恢复步骤4、具有检查点的恢复技术及数据库镜像 (1) 检查点技术(2) 利用检查点的恢复策略(3) 数据库镜像(七) 并发控制3学时1、 并
10、发控制概述 (1) 多事务的执行方式:串行执行、交叉并行执行、同时并发执行(2) 并发操作带来的操作不一致性:丢失修改、不可重复读、读“脏”数据2、 封锁 (1) 什么是封锁(2) 基本封锁类型:排它锁、共享锁(3) 基本锁的相容矩阵3、 封锁协议:三级封锁协议 4、 并发调度的可串行性及两段封锁协议 (1) 什么样的并发操作调度是正确的:准则(2) 如何保证并发操作调度是正确的:方法(3) 两段封锁协议:协议内容、保证调度正确5、 封锁的粒度、活锁及死锁 (1) 封锁粒度:粒度、原则(2) 多粒度封锁:封锁协议(3) 意向锁:意向锁的类型、相容矩阵(4) 活锁:活锁的产生、如何避免活锁(5)
11、 死锁:死锁的产生、如何预防及解决死锁、死锁检测(八) 数据库安全性1学时1、 计算机三类安全性问题 (1) 计算机系统三类安全性问题:技术安全类、管理安全类、政策法律类(2) 可信计算机系统评测标准2、 数据库安全性控制 (1) 用户标识与鉴别:用户名/口令、每个用户预先约定好一个计算过程或者函数(2) 存取控制:定义存取权限、检查存取权限(3) 强制存取控制:强制存取控制规则、强制存取控制的特点(4) 视图机制(5) 审计(6) 数据加密:加密方法(九) 数据库完整性1。5学时1、 完整性约束条件 (1) 完整性约束对象:列、元组、关系(2) 六类完整性约束条件2、 完整性控制 (1) D
12、BMS完整性控制机制:定义功能、检查功能、违约反应(2) 完整性的实现:拒绝、级联、受限、置空(十) SQL SERVER 2000概述 1学时1、 SQL SERVER 2000特点 (1) SQL SERVER发展简史(2) SQL SERVER 2000新增功能2、 SQL SERVER 2000工具 (1) 服务管理器:启动、停止、暂停各种服务器(2) 企业管理器:熟悉界面(3) 查询分析器:启动、对象浏览器、编辑和执行SQL语句、使用模板(十一) SQL SERVER 2000数据类型0。5学时1、 字符数据类型:char、varchar、text2、 数值型数据类型bigint、i
13、nt、tinyint、decimal、numeric、real、float3、 货币型数据类型:money、smallmoney4、 时间/日期型数据类型:datetime、smalldatetime5、 Unicode数据类型:nchar、nvarchar、ntext6、 二进制数据类型:binary、varbinary7、 图像文本数据类型:image8、 Sql_variant数据类型9、 Table数据类型10、 自定义数据类型(十二) 创建及管理数据库2学时1、 创建SQL SERVER 2000数据库(1) 使用企业管理器创建数据库(2) 使用TransactSQL语句创建数据库2
14、、 设置数据库选项(1) 在企业管理器中设置:访问区、故障还原区、设置区(2) 在查询分析器中设置:查看、设置数据库选项、自动选项、游标选项、恢复选项、SQL选项、状态选项3、 修改数据库(1) 更改数据库名称(2) 修改数据库文件大小:增大、减小(3) 修改数据库结构:使用企业管理器、使用alter database语句4、 删除数据库(1) 在企业管理器中删除(2) 使用Transact-SQL语句删除(十三) 表的创建和管理2学时1、 使用企业管理器创建和管理表(1) 创建表:定义数据表字段、保存表格(2) 设置约束:主键约束、唯一性约束、外键约束、CHECK约束、NULL约束和DEFA
15、ULT约束(3) 创建规则(4) 使用默认值(5) 修改数据表:更改、添加、删除字段、修改表格属性(6) 删除表2、 使用SQL语句创建和管理表(1) 使用CREATETABLE创建表(2) 创建约束:主键约束、唯一性约束、外键约束、CHECK约束、NULL约束和DEFAULT约束(3) 创建规则(4) 创建默认值(5) 使用ALTERTABLE修改表:更改、添加、删除字段、修改表格属性(6) 使用DROPTABLE删除表(十四) SQL技术3.5学时1、 SELECT语句(1) SELECT语句基本语法(2) WHERE条件语句及谓词:IN、BETWEENAND、LIKE、比较运算符、逻辑运
16、算符(3) GROUPBY子句:HAVING、ALL、CUBE(4) ORDERBY子句(5) COMPUTE和COMPUTEBY子句(6) UNION子句(7) 使用数据表别名(8) 使用汇总函数:SUM、AVG、MAX、MIN、COUNT(*)(9) 用联接进行多表查询:外联接、内联接、全联接、交叉联接(10) 嵌套查询2、 数据更新语句(1) INSERT语句(2) UPDATE语句(3) DELETE语句(十五) Transact SQL程序设计2。5学时1、 变量(1) 全局变量(2) 局部变量:声明、赋值2、 SQLSERVER函数(1) 系统函数(2) 日期函数(3) 字符串函数
17、(4) 数学函数3、 程序流程控制(1) BEGINAND语句块(2) IFELSE语句(3) WHILE语句(4) RETURN语句(5) WAITFOR语句(6) GOTO语句4、 使用游标和批处理(1) 声明游标(2) 打开和使用游标(3) 关闭和释放游标(4) 使用批处理(十六) 视图 1。5学时1、 使用企业管理器管理视图 (1) 创建视图(2) 修改视图(3) 重命名视图(4) 删除视图2、 使用TransactSQL语言管理视图 (1) 创建视图:使用CREATE VIEW语句创建视图、指定字段别名、对视图进行加密(2) 修改视图(3) 删除视图3、 使用视图操作表数据 (1)
18、使用视图检索数据(2) 通过视图添加数据(3) 更新视图中的数据(4) 删除视图中的数据(十七) 索引 1.5学时1、 索引的概念和类型(1) 索引的概念(2) 索引的类型:聚集索引和非聚集索引、唯一索引和组合索引2、 创建索引(1) 系统自动创建索引:唯一约束字段、主键约束字段(2) 使用向导创建索引(3) 使用企业管理器创建索引(4) 使用CREATE INDEX语句创建索引3、 删除索引(十八) 触发器 2学时1、 触发器简介(1) 触发器的功能(2) 触发器类型和触发操作2、 使用企业管理器管理触发器(1) 创建触发器(2) 修改触发器(3) 删除触发器3、 使用Transact-SQ
19、L语言管理触发器(1) 创建触发器(2) 查看触发器数据(3) 修改触发器(4) 删除触发器(十九) 存储过程 2学时1、 存储过程简介2、 使用企业管理器管理存储过程(1) 创建存储过程(2) 查看和修改存储过程(3) 删除存储过程3、 使用TransactSQL语言管理存储过程(1) 创建存储过程(2) 查看和修改存储过程(3) 删除存储过程(4) 存储过程的参数(二十) 安全性管理 1学时1、 SQL SETVER 2000的身份验证(1) Windows和SQL Server身份验证:Windows身份验证、SQL Server身份验证、两种方式比较(2) 选择身份验证模式2、 创建和
20、管理用户登录(1) 使用企业管理器(2) 使用Transact-SQL语句(3) 使用系统存储过程(4) 数据库角色(5) 创建数据库角色3、 权限(1) 权限分类:对象权限、语句权限(2) 管理对象权限(3) 管理语句权限(二十一) 数据库的备份与恢复 1学时1、 执行数据库备份(1) 使用备份向导(2) 使用企业管理器(3) 使用Transact-SQL语句2、 恢复数据库(1) 使用企业管理器(2) 使用Transact-SQL语句 (二十二) 课内上机 12学时学时安排:1、数据库创建、修改与删除 2学时2、表的创建、修改与删除及约束管理 2学时3、SQL查询 2学时4、TransactSQL程序设计 2学时5、触发器练习 2学时6、存储过程 2学时