《数据库原理》课程教学大纲
DatabasePrinciples
文/叶文珺
课程名称:数据库原理
英文名称:DatabasePrinciples
课程编号:
开课学期:第4或5学期
学时/学分:64学时/4学分
课程类型:专业必修课
开课专业:计算机学院所有专业
一、课程的目的和任务
数据库技术是计算机学科的一个重要分支,已经成为信息基础设施的核心技术和重要基础。数据库技术作为数据管理的最有效的手段,极大的促进了计算机应用的发展。本课程系统讲述数据库系统的基础理论、基本技术和基本方法,提供软件和应用开发人员必备的数据库知识。
通过本课程学习,使学生系统地掌握数据库系统的基本原理和基本技术。要求在掌握数据库系统基本概念的基础上,能熟练使用SQL语言在某一个数据库管理系统(如SQLServer、Oracle)上进行数据库操作;掌握数据库设计方法和步骤,具有设计数据库模式以及开发数据库应用系统的基本能力;通过具体案例了解数据库技术在电力企业信息化中的应用。
二、课程的基本要求和特点
通过本课程的学习,学生应掌握数据库系统的基本概念、基本原理、应用系统的设计方法和实现技术,具有初步分析实际数据库应用的能力。本课程培养学生分析问题、解决问题的基本能力,培养工程实践型人才,为其今后在相关领域开展工作打下坚实的基础。
本课程包括课堂教学与实践教学两大部分。
课堂教学主要内容:数据库系统基本概念、数据模型及概念模型、关系数据库、关系数据库标准语言、关系数据库理论、数据库设计、数据库安全、数据库保护以及数据库新技术介绍。
实践教学主要内容:通过SQLServerManagementStudio创建及管理数据库、通过SQL语句创建与管理数据表、单表查询、复杂查询、视图的创建与使用、存储过程、触发器、实现数据完整性、数据库安全、数据库索引、电网设备抢修物资管理数据库设计。
三、本课程与其它课程的联系
本课程的先修课程是高级语言程序设计(C)、C++或JAVA)、数据结构、离散数学,后续课程是《高级数据库技术》、大数据系列课程等。
四、课程的主要内容
下表列出了该课程的内容组织结构:
绪论
关系数据库
关系数据库标准语言SQL
数据库安全
存储过程、触发器及数据库完整性
基础篇
实验一通过SQLServerManagementStudio创建及管理数据库
实验二通过SQL语句创建与管理数据表
实验三单表查询
实验四复杂查询
实验五视图的创建与使用
实验六存储过程
实验七触发器
实验八实现数据完整性
实验九数据库安全
关系数据库设计理论
数据库设计
设计与
应用篇
实验十一电网设备抢修物资管理数据库设计
索引
数据库保护
系统篇
实验十索引
数据库新技术
新技术篇
每章要求及内容如下:
第一章绪论
教学要求:
了解:了解数据管理发展的历史、数据库系统的体系结构和数据库系统的功能,了解数据模型的基本概念。
掌握:掌握数据库系统三级模式和两层映像的体系结构,数据库系统的逻辑独立性和物理独立性,数据库、数据库管理系统、数据库系统的概念。
难点:本章的难点是需要掌握数据库领域大量的基本概念。有些概念一开始接触会感到比较抽象,但不要紧,随着学习的逐渐推进,在后续章节中,这些抽象的概念会逐渐变得清晰具体起来。此外,数据库系统的体系结构也是本章的难点。
教学要点:
1)数据管理技术的发展
2)数据库系统结构
3)数据库、数据库管理系统、数据库系统
4)数据库技术的发展
第二章:关系数据库
教学要求:
了解:关系演算的基本概念及运算
掌握:掌握关系数据结构及其定义;关系的三类完整性约束的概念;关系代数及关系代数中的各种运算。
难点:由于关系代数较为抽象,因此在学习的过程中一定要结合具体的实例进行学习。
教学要点:
1)关系模型(包括关系数据结构、关系操作集合、以及关系完整性约束三个组成部分)
2)关系代数及关系运算(包括并、交、差、选择、投影、连接、除、及广义笛卡尔积等)
第三章结构化查询语言SQL
教学要求:
了解:SQL语言的发展历史及特点,视图的功能。
理解:在使用具体的SQL语句时,能有意识地和关系代数进行比较,理解他们之间的联系及各自的特点。
掌握:熟练正确地使用SQL完成对数据库的定义、查询、插入、删除、更新、视图操作。
难点:用SQL语言正确完成复杂查询,掌握SQL语言强大的查询功能。
教学要点:关系数据库语言SQL,包括:
1)数据定义
2)数据查询
3)数据操纵
4)视图
第四章存储过程、触发器及数据完整性
教学要求:
了解:了解SQLServer中实现数据完整性的途径及方法,包括默认值约束、规则等。
理解:理解存储过程、触发器的概念及作用,进一步理解数据完整性的概念。
掌握:掌握在SQLServer中用SQL语句实现存储过程、触发器的过程,掌握DBMS完整性控制机制的三个方面,即完整性约束条件的定义、完整性约束条件的检查和违约反应。
难点:存储过程、触发器的实现。
教学要点:
1)SQLServer的编程结构
2)存储过程
3)触发器
4)数据完整性,包括约束、默认值、规则、用户定义的完整性
第五章关系数据库设计理论
教学要求:
理解:理解什么是一个"不好"的数据库模式,什么是模式的插入异常和删除异常,规范化理论的重要意义。
掌握:牢固掌握数据依赖的基本概念、范式的概念、从1NF到4NF的定义、规范化的含义和作用。需要举一反三的:四个范式的理解与应用,各个级别范式中存在的问题(插入异常、删除异常、数据冗余)和解决方法,无损且保持函数依赖地分解到第三范式的算法。
难点:能够根据应用语义,完整地写出关系模式的数据依赖集合,并能根据数据依赖分析某一个关系模式属于第几范式;各个级别范式的关系及其证明。
教学要点:
1)关系数据库逻辑设计可能出现的问题
2)数据依赖的基本概念(包括:函数依赖、平凡函数依赖、非平凡的函数依赖、部分函数依赖、完全函数依赖、传递函数依赖的概念;码、候选码、外码的概念和定义;多值依赖的概念)
3)范式的概念、1NF、2NF、3NF、BCNF、4NF的概念和判定方法
4)数据依赖的Armstrong公理系统
5)模式分解的算法
第六章索引
教学要求:
理解:索引的概念,包括聚集索引、非聚集索引,以及聚集索引和非聚集索引的不同结构,主键和索引的关系,DBMS在查询时应用索引的基本原理。
掌握:在SQLServer中索引操作的实现。
教学要点:
1)索引的概念
2)SQLServer中的索引结构及其实现
第七章数据库设计
教学要求:
理解:数据库设计的步骤及各步骤的设计目标、具体设计内容、设计描述、设计方法。
掌握:掌握数据库概念结构的设计和逻辑结构的设计,这是数据库设计过程中最重要的两个环节。牢固掌握用E-R图来表示概念模型的方法,掌握E-R图的设计,E-R图向关系模型的转换。
难点:技术上的难点是E-R图的设计和数据模型的优化,包括对现实世界进行抽象的能力,提取实体、属性、实体型之间的联系,正确划分实体与属性的能力。真正的难点是理论与实际的结合,同学们一般缺乏实际经验,缺乏对实际问题解决的能力,特别是缺乏应用领域的知识。而数据库设计需要设计人员对应用环境、专业业务有具体深入的了解,这样才能设计出符合具体领域要求的数据库及其应用系统。
教学要点:
1)数据库设计的概念及特点
2)数据库设计的基本步骤,数据库设计过程中数据字典的内容,数据库设计各个阶段的设计目标、具体设计内容、设计描述、设计方法。
第八章数据库安全
教学要求:
理解:理解数据库安全性的概念、安全性实现的基本途径和方法以及视图机制在数据库安全保护中的作用。
掌握:在SQLServer中实现安全性的方法,包括用户管理、角色管理、使用SQL中的GRANT语句和REVOKE语句来实现数据库的实现自主存取控制功能。
难点:SQLServer中数据库用户和登录用户的区别和联系。
教学要点:
1)数据库安全性的概念
2)存取控制技术、视图技术和审计技术
3)SQLServer中安全性的实现,包括数据库用户和登录用户的概念、用户管理、角色管理、权限管理、架构。
第九章数据库保护
教学要求:
理解:理解并发控制子系统和数据恢复子系统对DBMS的重要性,理解不同故障的类型及恢复方法。
掌握:牢固掌握事务的基本概念和事务的ACID性质,掌握用SQL语句实现事务定义、提交或回滚;掌握并发操作产生的数据不一致性(丢失修改、不可重复读、读“脏数据”)的确切含义;封锁协议与数据一致性的关系;并发调度的可串行性概念;掌握日志文件在数据库恢复中的重要作用;系统故障、介质故障的恢复技术及方法;掌握SQLServer提供的数据恢复技术和恢复方法;能正确制定系统的恢复策略,保证数据库系统在遇到故障时能及时恢复正常运行,提高抗故障抗灾难的能力。
难点:两段锁协议与串行性的关系、与死锁的关系。数据库的事务管理策略(数据库恢复策略、并发控制策略)和DBMS缓冲区管理策略、事务一致性级别密切相关。
教学要点:
1)事务的概念及定义
2)数据库并发控制的基本概念和实现技术,包括封锁技术、封锁协议、活锁和死锁的概念、并发调度的可串行性、冲突可串行化调度、两段锁协议、封锁的粒度、意向锁。
3)数据库恢复技术,包括存储器的结构、数据恢复的原则和实现方法、故障类型的类型及实现方法。
4)SQLServer数据库备份和恢复技术。
第十章数据库技术新进展
教学要求:
了解:了解数据仓库的概念、多维数据模型和设计方法,了解数据挖掘的概念、分析方法和常用技术,了解数据库技术的研究热点及发展方向。
教学要点:
1)数据仓库
2)数据挖掘
3)数据库技术的研究及发展
五、学时分配(64学时4学分其中讲课48学时、实验16学时)
章节
内容
讲课学时
实验学时
1
绪论
2
2
关系数据库
6
3
结构化查询语言SQL
6
11
4
存储过程、触发器和数据完整性
4
4
5
关系数据库设计理论
6
6
索引
2
1
7
数据库设计
6
6(课外完成)
8
数据库安全
2
9
数据库保护
6
10
数据库新技术
6
习题
2
合计
48
课内16,课外6
六、考核方式与评分办法
考核方式:闭卷考试;
评分方法:
1)书面作业、上机实验及考勤20%
2)期末闭卷笔试80%(其中,期末闭卷笔试占70%,机考占30%)。
《数据库原理》实验教学大纲
DatabasePrinciples
课程编号:
课程总学时:64课程总学分:4
实验总学时:16实验总学分:
适用专业:计算机科学与技术开出时间:3年级1学期
一、实验课的性质和目的
实验性质:专业课
课程性质:附属性课程
实验目的:
《数据库原理》是一门实践性很强的专业课。学习本实验课程的目的是使学生掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具和数据库管理系统软件,规范、科学地完成一个小型数据库的设计与实现。
本课程实验的主要任务:
1、通过学习,使学生加深对所学理论知识的理解,具备数据库设计和使用的基本技能。
2、将实际应用相关问题贯穿每个实验,着重培养学生的数据库设计能力和动手能力,培养良好的实验习惯。
3、通过验证实验,使学生熟悉并使用SQLSERVER数据库管理系统,掌握如何使用SQLServer建立数据库、关系表、数据完整性、索引、视图,进行数据查询、数据更新、用户权限管理、数据的备份和恢复等内容。通过综合设计性实验,使学生灵活应用所学知识,按给定要求实现图书管理系统数据库设计,基本掌握数据库系统分析、设计的基本方法;掌握使用一种面向对象程序设计语言开发数据库应用的过程。
4、初步掌握数据库应用系统分析设计的基本方法,使用学生掌握一种面向对象程序设计语言开发数据库应用的过程,进一步提高同学分析与解决问题的综合能力。
二、实验方法和手段
本实验课程以上机实验为主,每个学生独立完成每个实验。要求学生在实验之前认真预习实验内容及要求,在实验课上未完成的实验可以在课后在实验室或个人电脑上完成。每个实验都要求完成相应的实验报告。
三、实验项目汇总表
序号
实验项目
学时
实验
类型
每组
人数
实验要求
1
SQLServer的安装和配置
1
验证
1
选做
2
数据库的创建及管理
2
验证
1
必做
3
数据表的创建与管理
2
验证
1
必做
4
实现数据完整性与安全性
2
验证
1
必做
5
单表查询
2
验证
1
必做
6
复杂查询
2
验证
1
必做
7
视图的创建与使用
1
验证
1
必做
8
存储过程
2
验证
1
必做
9
触发器
2
验证
1
必做
10
索引与数据库安全
1
验证
1
必做
11
图书管理系统数据库设计
4
综合
1
选作
合计
16(必做)
(注:实验类型指:1.演示性实验、2.验证性实验、3.综合性实验、4.设计性实验)
(注:实验要求指:1.必做、2.选做)
四、实验内容
实验一SQLServer的安装
一、实验目的
(1)了解安装SQLServer的硬件和软件环境。
(2)掌握SQLServer的安装方法。
(3)掌握SQLServer服务器的使用方法。
二、实验内容
1、安装SQLServer的硬件要求、软件环境
2、SQLServer的安装
3、启动服务器方法
实验二数据库的创建及管理
一、实验目的
(1)熟悉企业管理器、查询分析器。
(2)灵活运用SQLSERVER数据库的创建方法。
(3)掌握数据库与物理文件的结构关系,理解数据文件分组的作用。
二、实验内容
1、用企业管理器创建数据库
2、用T-SQL语言创建数据库
3、修改数据库的属性
4、数据库的更名及删除
实验三数据表的创建与管理
一、实验目的
(1)掌握表的创建方法。
(2)掌握修改表结构的方法。
(3)掌握添加、修改、删除表数据的方法。
二、实验内容
1、在数据库中创建表
(1)使用企业管理器创建表
(2)使用T-SQL语句创建表
2、管理表
(1)添加和删除列
(2)表的重命名及删除
3对表添加、修改、删除数据
(1)插入数据简单操作
(2)修改数据简单操作。
(3)删除数据简单操作
4、复制表中的数据创建新表
实验四实现数据完整性
一、实验目的
1)实现数据完整性的概念及实施数据完整性的重要性。
2)掌握数据完整性的分类。
3)掌握完整性约束的添加、删除方法。
4)掌握通用默认值的创建、实施与删除方法。
5)掌握规则的创建、实施与删除方法。
6)掌握级联删除、级联修改方法。
二、实验内容
1、分别用企业管理器和T-SQL语句实现完整性约束的添加、删除
2、通用默认值的实施
3、规则的实施
实验五单表查询
一、实验目的
(1)掌握查询的概念和方法。
(2)掌握查询分析器的使用方法。
(3)熟练掌握单表查询的select语句。
(4)熟练掌握聚合函数的使用。
二、实验内容
1、基本查询
2、查询时改变列标题的显示
3、条件查询
4、基于IN子句的数据查询
5、基于Like子句的查询
6、使用top关键字查询
7、消除重复行
8、查询经过计算的值。
9、使用ORDERBY语句对查询的结果进行排序
10、使用Group子句进行查询
11、使用聚合函数
12、使用Compute和全国白癜风治疗专家简介白癜风治疗效果