数据库原理及应用——SQL Server 2012的教与学

  授课教师可以在“书圈”免费申请样书

  

提供PPT课件,答案,教学大纲,题库。8小时微课视频,236个经典实例,100道习题,15个上机实验,2个课程设计

本书是为高等院校应用型本科计算机专业或相关专业精心编写的一本数据库课程教学用书,它以SQL Server 2012为核心系统,较完整地论述了数据库系统的基本概念、基本原理和SQL Server的应用技术。

本书分为3个部分,共12章。第1~3章为第1部分,讲述了数据库的基本理论知识及数据库设计的相关技术,其内容主要包括数据库系统概述、数据模型、关系数据库的基本理论、关系模式的规范化以及数据库设计思想和方法;第4~11章为第2部分,讲述了SQL Server 2012数据库基础、数据库与表管理、SELECT数据查询、视图与索引、存储过程与触发器及用户自定义函数、数据库并发控制、数据库安全管理及数据库的备份与恢复等内容。第12章为第3部分,介绍了ADO.NET访问SQL Server数据库的简单应用。

数据库原理及应用

  课程编号: 1311090

  学时/学分:56/3.5

  1本课程的性质及适用专业

  本课程是一门专业核心课,适用于计算机科学与技术、软件工程等专业。

  2 对先修课程的要求

  数据结构、C++程序设计

  3 课程支撑的毕业要求及具体指标点

  支持毕业要求1.2:掌握计算机应用系统基础知识和基本工作原理。具体指标为:了解数据模型的类型、关系型数据库的系统结构等相关概念。掌握关系模型的规范化及关系分解理论,掌握数据库设计的相关理论及方法。

  支持毕业要求3.1:掌握程序设计理论与方法,具备软件开发技能。具体指标为:掌握SQL Server数据库的创建、数据的管理,掌握T-SQL数据查询语句、游标的使用,视图和索引的创建和使用,存储过程、触发器和用户定义函数的创建及引用。掌握数据库的安全管理和数据库的备份与恢复。

  支持毕业要求3.2:具备在他人指导下进行系统设计和开发能力。具体指标为:掌握对实际问题需求分析的步骤和方法,掌握系统设计的步骤和方法。掌握一种编程语言,如C++C#JAVA等,并能够利用一种语言进行程序设计。

  支持毕业要求4.2:在他人指导下,根据系统需求规格,进行计算机应用系统的组成、模块和过程的设计,且有能力对结果进行测试与评估。具体指标为:根据问题的需求进行环境设计,具有系统模块和过程设计的能力,具有进行单元测试、集成测试的能力。掌握对系统评价的方法。

  4 本课程教学内容对毕业要求及指标点的支撑

  4.1 理论教学安排

  章节或知识模块

  支持毕业要求的细化指标

教学内容

学时分配

学生任务

  第一章

  数据库系统概述

  了解数据库系统的基本概念、数据库模型的概念,深刻理解数据库三级结构和两级映像的体系结构。

  1.数据管理技术发展的三个阶段;

  2.DB、DBMS、DBS的概念;

  3.数据模型;

  4.数据库的体系结构三级模式两级映射;

  4.分布式数据库简介。

2

  作业要求:

  掌握数据系统的专业术语。

  自学要求:

  自学数据库系统的组成,新型数据库。

  讨论:

  讨论数据库的应用领域。

  第二章

  关系数据库的基本理论

  理解关系型数据库规范化理论,掌握关系模型分解的理论和方法。

  1. 关系代数;

  2.关系的范式及规范化;

  3. 关系模式的分解。

4

  作业要求:

  掌握规范化理论和关系模式3NF分解方法。

  自学要求:函数依赖的概念、无损分解与函数依赖分解。

  讨论:

  讨论函数依赖在关系规范化中的作用。

  第三章

  数据库设计

  了解数据库设计的基本概念和专业术语,熟悉数据设计的基本步骤和方法。

  1.数据库设计概述;

  2.需求分析;

  3.概念结构设计;

  4. 逻辑结构设计;

  5. 物理结构设计;

  6. 数据库实施、运行及维护。

6

  作业要求:

  掌握数据库设计的方法及步骤。

  自学要求:

  自学数据流图、数据字典及ER图的概念。

  讨论:

  讨论局部ER模型合并为全局ER模型时要解决的冲突。

  第四章

  SQL Server系统概述

  了解SQL Server所需环境、主要系统数据库,掌握T-SQL流程控制语句,了解SQL Server存储机制。

  1. SQL Server系统简介;

  2. Transact-SQL简介;

  3. Transact-SQL流程控制语句;

  4. SQL Server存储机制。

2

  作业要求:

  掌握T-SQL数据类型,利用T-SQL流程控制语句编程。

  自学要求:

  T-SQL数据类型、T-SQL控制流程语句。

  讨论:

  SQL Server所需环境等。

  第五章

  数据库与数据表管理

  了解数据库文件类型;熟悉创建数据库和数据表的基本语句格式;掌握成批数据操作的方法。

  1. SQL Server数据库概述;

  2.SQL Server数据库创建和维护;

  3. SQL Server数据表的创建与管理;

  4. 利用INSERTDELETUPDATE对数据表中成批数据操作

2

  作业要求:

  SQL Server环境中创建数据库和数据表,对数据表中数据进行操作。

  自学要求:

  SQL Server数据库和数据表的操作命令、语句格式。

  讨论:

  多表关联关系与数据约束

  第六章

  数据查询

  掌握数据查询的基本语句、多表查询的连接语句、自查询语句、联合查询语句的格式、应用。

  1. SELECT查询语句的结构;

  2. 多表查询;

  3. 利用游标处理查询结果。

4

  作业要求:

  运用各种类型查询语句进行实际问题的数据查询。

  自学要求:

  基本查询语句的语句格式。

  讨论:

  EXISTS语句与一般子查询语句的区别。

  第七章

  视图与索引

  了解视图与索引的基本概念,理解使用视图和索引的意义,掌握创建视图和索引的方法。

  1.视图的创建和使用;

  2.索引的创建和使用。

4

  作业要求:

  根据实际问题创建、使用视图和索引。

  自学要求

  视图和索引的概念,创建视图和索引的语句格式。

  讨论:

  利用视图能对数据库进行哪些操作?为什么要使用索引?

  第八章

  存储过程、触发器和用户定义函数

  理解掌握存储过程、触发器和用户定义函数的意义及创建和调用方法。

  1.存储过程的创建、调用和管理;

  2.触发器的创建、调用和管理;

  3. 用户定义函数的创建、调用和管理。

4

  作业要求:

  创建、调用和管理存储过程、触发器和用户定义函数。

  自学要求:

  存储过程、触发器和用户定义函数的语句格式。

  讨论:

  带输出参数存储过程的调用和触发器中如何调用存储过程?

  第九章

  数据库并发控制

  理解事务的概念,了解并发操作引起的问题,掌握并发数据处理和管理的方法。

  1. 事务的定义、提交;

  2. 并发事务访问管理;

  3. 封锁机制。

2

  作业要求:

  定义、提交和回滚事务。

  自学要求:

  事务的概念、定义事务的语句格式。

  讨论:

  为什么要引入封锁机制?

  第十章

  数据库安全管理

  掌握身份验证的方法、登录名、数据库用户的创建与管理,角色的创建与管理。

  1. 身份验证模式的概念及设置;

  2. 登录名和数据库用户的创建及管理;

  3. 角色的创建与管理;

  4. 权限管理。

4

  作业要求:

  创建与管理登录名、数据库用户和角色。

  自学要求:

  身份验证模式,登录名、数据库用户和角色创建的语句格式。

  讨论:

  登录名、数据库用户、角色、权限之间有什么关系?

  第十一章

  数据库备份与恢复

  了解数据库备份与恢复的重要性,掌握数据库备份与恢复的方法。

  1. 数据库备份与回复的概念;

  2. 分离和附加数据库;

  3. 数据库的备份;

  4. 数据库的恢复。

4

  作业要求:

  创建备份设备、进行数据库的完全备份、差异备份、事务日志备份,数据库恢复。

  自学要求:

  利用图形界面方式备份数据库,再进行数据库恢复。

  讨论:

  选择备份方式与数据库恢复方式有什么关系?

  第十二章

  使用ADO.NET访问SQL Server

  掌握用高级语言连接SQL Server的方法,掌握用该机语言调用SQL语句和存储过程的方法。

  1. 数据库访问技术ADO.NET

  2. 数据库的连接;

  3. 存储过程的调用;

  4. 事务的运用;

  5. 简单系统的编写。

2

  作业要求:

  高级语言访问数据库,编写数据管理界面,调用存储过程。

  自学要求:

  数据库连接,登录界面编写,简单系统设计。

  讨论:

  系统设计中如何使用存储过程、触发器及用户定义函数?

  4.2 实践教学安排

序号

项目名称

  支持毕业要求的细化指标

学时分配

类型

每组人数

学生任务

1

  数据库定义实验

  1.了解并掌握SQL Server Management Studio界面及菜单功能、创建数据库、数据表;

  2.了解并掌握利用SQL语句创建数据库及数据表、修改表结构的方法。

2

设计型

1

  1.SQL Server Management Studio创建数据库、数据表、修改表结构;

  1. SQL语言创建数据库、数据表、修改表结构;

  3.向数据表输入相关数据。

  4. 撰写实验报告。

2

  简单查询和连接查询实验

  1. 掌握SQL语句查询的基本格式;

  2. 掌握SQL语言进行单表或多表查询的方法。

2

设计型

1

  1. 利用T-SQL语句进行单表查询;

  2.利用T-SQL语句进行多表连接查询(内连接、外连接);

  3. 撰写实验报告。

3

  嵌套查询和统计查询实验

  1.了解SQL嵌套查询的意义;

  2. 掌握父查询和子查询的执行顺序;

  4. 利用统计函数进行组合查询和统计查询。

2

  设计型

1

  1. 利用SQL语言进行单表嵌套查询;

  2. 利用SQL语言进行多表嵌套查询;

  3. 利用SQL语言进行多层嵌套查询。

  4.利用SQL语言进行组合查询和统计查询查询实验;

  5. 撰写实验报告。

4

  游标使用实验

  1. 了解游标在数据库访问中的重要性;

  2. 掌握游标的设计、使用方法。

2

  设计型

1

  1. SQL语句定义游标;

  2. 使用游标修改和删除数据。

  3. 撰写实验报告。

5

  视图、索引与数据库关系图实验

  1. 了解视图、索引在数据库设计中的作用;

  2. 利用SQL Server Management StudioSQL语言创建视图、索引文件。

2

  设计型

1

  1.利用SQL Server Management StudioSQL语言创建视图文件;

  2.利用SQL Server Management StudioSQL语言创建索引文件。

  3. 撰写实验报告。

6

  存储过程创建与应用实验

  1. 理解存储过程的概念;

  2. 掌握存储过程的创建和调用;

  3. 掌握存储过程的查看、修改和删除。

2

  设计型

1

  1. 创建存储过程;

  2. 调用存储过程;

  3. 管理存储过程;

  4. 撰写实验报告

7

  使用触发器实现数据完整性实验

  1. 了解触发器的重要性及触发条件;

  2. 掌握触发器的创建和管理方法;

  3. 掌握调用触发器的方法。

2

  设计型

1

  1. 创建触发器的方法;

  2. 管理触发器的方法;

  3. 撰写实验报告。

8

  事务的创建与管理实验

  1. 加深对数据库并发控制、封锁机制和事务概念的理解;

  2. 掌握事务的定义、使用方法。

2

  设计型

1

  1. 完成事务创建、管理;

  2. 使用事务进行数据库的并发操作;

  3. 撰写实验报告。

  5 本课程考核方式及成绩评定方式

  该课程的考核采用综合考核方式。总成绩由平时成绩(30%)、阶段考试成绩(20%)、期末考试成绩(50%)构成。平时成绩由考勤、平时作业(10%)、实验报告(10%)和期末考试资格作业(第4章至第12章例题运行结果截图,10%)构成;阶段考试分为两次,阶段I考查第1章至第3章数据库理论方面的内容,占10%,阶段II考查第4章至第9章数据库技术应用方面的知识,占10%;期末考试考第1章至第12章的全部内容,占50%

  课程强调学生的自主学习能力,针对需要继续加强对知识布置自主学习任务。并把自主学习知识点纳入课程的学习过程中。

  6 课程评价与改进

  课程考核结束后,任课教师遵循学院教学委员会通过的课程达成度评价机制和评价方法,对本课程的毕业要求达成度进行自我评价。此外,学院的教学委员会将指派专门的教师,依据学生的考试成绩和平时成绩等资料,对本课程的达成度进行评价,并出具达成度评价报告。教师根据评价结果,改进其教学方法和教学内容,以便更好地支撑学生毕业要求的达成。

  7本课程学时分配

序号

内容

讲课

习题课

实验

小计

1

  数据库系统概述

4

4

2

  关系数据库基本理论

4

4

3

  数据库设计

6

6

4

  SQL Server 2008概述

2

2

5

  数据库与数据表管理

2

2

4

6

  数据查询

4

6

10

7

  视图与索引

2

2

4

8

  存储过程、触发器和用户定义函数

4

4

8

9

  数据库并发控制

2

2

4

10

  数据库安全管理

4

4

11

  数据库备份与恢复

4

6

12

  12ADO.NET访问SQL Server 2008数据库

2

2

合计

40

16

56

实验教学进度表

序号

实验项目名称

实验

类型

课时

实验要求

  7

  数据库定义实验

设计

2

1

7

09-10

  要求分别用SQL Server Management StudioT-SQL语句进行数据库和数据表的定义实验。参照试验二、三,完成实验报告。

  2

  简单查询和连接查询实验

验证

2

1

8

09-10

  要求利用T-SQL语句进行单表和多表的简单查询和链接查询实验。参照实验五,完成实验报告。

  3

  嵌套查询和统计查询实验

设计

2

1

9

09-10

  要求利用T-SQL语句进行单表和多表的嵌套查询实验。参照实验五,完成实验报告。

  4

  游标使用实验

设计

2

1

10

09-10

  要求完成游标的定义、使用方法及使用游标修改和删除数据的方法。参照实验六,完成实验报告。

  5

  视图、索引与数据库关系图实验

设计

2

1

11

09-10

  要求创建、查看、修改和删除视图;创建、删除索引文件;创建数据库关系图。参照试验七,完成实验报告。

  6

  事务的创建与管理实验

设计

2

1

12

09-10

  要求完成事务创建、管理,使用事务进行数据库的并发操作。参照实验十,完成实验报告。

  7

  存储过程创建与应用实验

设计

2

1

13

09-10

  要求完成SQL Server中存储过程的创建与管理,并能进行简单的应用。参照实验七,完成实验报告。

  8

  使用触发器实现数据完整性实验

设计

2

1

14

09-10

  要求完成利用SQL Server中创建和管理触发器,并能进行简单的应用。参照实验八,完成试验报告。

数据库应用实习

  课程编号: 5147160

  学时/学分:32/2

  1本课程的性质及适用专业

  本课程是一门专业课,适用于计算机科学与技术和软件工程专业。

  2 对先修课程的要求

  建议先修数据库原理及应用、软件工程、C#程序设计或Java程序设计等课程。

  3 课程支撑的毕业要求及具体指标点

  支持毕业要求1.3:掌握软件工程的基本理论和方法。具体指标点为:掌握数据库项目的基本概念和术语;掌握数据库系统生命周期管理的基本理论和方法;掌握数据库系统开发计划制定、需求管理、配置管理、团队管理、项目跟踪控制、项目收尾等基本理论和方法。

  支持毕业要求3.2:具备在他人指导下进行系统设计和开发能力。课程具体指标为:针对给定一个数据库应用项目,要求同学和其团队完成项目实施方案的制定,选择合适的开发平台,完成数据库项目开发的实践。

  支持毕业要求4.2:在他人指导下,根据系统需求规格,进行计算机应用系统的组成、模块和过程的设计,且有能力对结果进行测试与评估。课程具体指标为:根据数据库应用项目的实际要求,掌握如何使用相关高级语言进行系统设计、指导学学进行界面总体布局和美化,掌握使用高级语言与数据库进行数据交互功能,指导学生完成“肥服务器”和“瘦客户端”的理念。并掌握系统设计的一些技巧。

  4 本课程教学内容对毕业要求及指标点的支撑

  4.1 理论教学安排

  章节或知识模块

  支持毕业要求的细化指标

教学内容

学时分配

学生任务

  第一章

  基于数据库应用项目管理概述

  掌握数据库项目的基本概念和术语

  1.项目和软件的基本概念;

  2.数据库项目的组成要素;

  3.数据库项目管理的概念和特点;

  5.数据库项目的生命周期与管理过程;

  6.数据库项目管理涉及的相关概念和术语。

2

  作业要求:

  掌握数据库项目管理的概念,能辨别哪些是项目,掌握数据库项目生命周期和管理过程。

  自学要求:

  自己列举3个任务活动,辨析哪些是项目,说明原因。

  讨论:

  讨论数据库项目管理的生命周期,讨论数据库项目管理的重点和主要环节在哪?

  第二章

  数据库项目需求规格说明书

  1.掌握数据库应用项目系统需求分析说明书的格式规范;

  2.掌握数据库应用项目需求分析的方法;

  3.掌握数据流图的设计规范

  4.掌握数据字典的撰写格式。

  1.数据库应用项目系统需求分析说明书的规范;

  2.数据库应用项目的综合分析、局部范围确定;

  3.数据流图的设计规范,数据字典的撰写规范。

4

  作业要求:

  根据具体问题,撰写项目系统需求分析说明书。

  自学要求:

  系统需求分析说明书的撰写规范。

  讨论:

  1.如何确定子项目的范围?一般遵循哪些原则?

  2.项目任务分解中重点关注那些内容?

  第三章

  数据库应用项目的概念设计、逻辑设计

  1. 掌握数据库应用项目概念设计的思想、方法;

  2. 掌握局部概念设计的方法;

  3. 掌握全局概念设计的方法;

  4. 掌握将全局ER模型转换为关系模式的原则。

  1.依据系统需求规格说明书划分为个子系统;

  2.设计局部ER模型;

  3.设计全局ER模型;

  4.设计数据库应用项目的关系模式。

4

  作业要求:

  根据具体问题,设计局部ER图,设计全局ER图,设计关系模式。

  自学要求:

  ER图的概念,设计ER图的方法、注意事项等知识。

  讨论:

  1.将局部ER模型合并成全局ER模型时需要解决有几类冲突?

  第四章

  数据库应用项目程序设计

  (1)根据系统需求规格说明书的要求,用计算机算法语言实现解题的步骤。

  (2)编写代码,用程序设计语言编制程序;

  (3)进行模块内功能的测试、单元测试。

  (1)选择适合的语言;(2)编写满足具有确切功能要求的程序代码;(3)编写处理效率高的代码;

  (4)设计操作方便,用户界面友好的程序;

  (5)程序代码的要求可读性好,函数、变量标识符合规范;

  (5)编写的程序要求扩充性、维护性好。

2

  作业要求:

  掌握代码编写的命名规范,如names -pace的命名、Class的命名、局部变量的命名、Static 变量的命名、参数的命名等;代码编写格式,如缩进、换行、括号、初始化、布局、简单语句、返回语句、if-else语句等。程序编写规范,如异常、final 类等。

  自学要求:

  利用C#JAVA编程

  讨论:

  1. 在写代码的时候是否应该优化性能?

  2.程序代码编写的技巧掌握了哪些?

  第五章

  数据库应用项目的系统测试

  (1)掌握测试方案设计;

  (2)掌握测试方案文档编写方法;

  (3)掌握测试报告编写的方法;

  (4)掌握用户对测试结果进行的评价。

  (1)黑盒法和白盒法;

  (2)大型软件系统测试的基本步骤:

  ①模块测试;

   ②子系统测试;

   ③系统测试;

   ④验收测试。

2

  作业要求:

  1.理解黑盒、白盒测试原理,并掌握该方法;

  2.编写测试文档和测试报告。

  自学要求:

  自学使用其他的系统测试方法

  讨论:

  1.何时用黑盒测试、何时用白盒测试?

  2.系统测试的关键点是什么?

  第六章

  数据库应用项目的运行和维护

  (1)掌握数据库系统的维护方法;

  (2)掌握数据库系统运行过程中硬件常见故障和排除方法;

  (3)掌握数据库系统运行过程中软件常见故障和排除方法。

  (1)数据库系统的常用维护方法;

  (2)掌握数据库系统运行过程中常见故障和排除方法。

2

  作业要求:

  1.掌握数据库系统运行过程中常用的维护方法;

  2.数据库系统运行过程中常用故障排除方法。

  自学要求:

  数据库系统运行过程中应注意的问题。

  讨论:

  1.数据库系统完成一个生命周期的条件是什么?

  2.数据库系统运行过程中如何保证数据的安全性?

  4.2 实践教学安排

序号

项目名称

  支持毕业要求的细化指标

学时分配

类型

每组人数

学生任务

1

  数据库应用项目启动

  1.在数据库项目开发过程中,从项目构思、技术路线、实施计划等综合考虑项目开发所带来的经济效益、以及对环境、法律、安全等的影响因素。

  2.按照标准文档格式模板,撰写相关文档(例如项目建议书)

2

验证型

3-5

  项目初期,根据用户要求的内容和技术手段,编写项目建议书。

2

  数据库应用项目需求分析

  1. 确定系统的目的、范围、定义和功能时所要做的所有工作;

  2. 系统分析及软件建模;

  3. 系统需求分析的步骤方法。

2

设计型

3-5

  明确项目组织形式,建立项目团队和人员职责分工,确定项目范围。撰写系统需求分析说明书。

3

  数据库应用项目概念设计、逻辑设计

  1. 确定范围设计局部模型;

  2.将局部模型综合程全局模型;

  3. 设计优化的逻辑关系模型。

2

  根据数据流图,选择合适的层次,确定自系统的范围,一次设计局部、全局概念模型,最后优化为应用项目的关系模式。

4

  数据库应用项目系统设计

  1. 掌握一定的编程语言,掌握程序设计的规范,培养程序设计能力;

  2. 增加团队合作的意识;

  3. 界面设计、交互设计及程序开发

6

设计型

3-5

  明确各模块分工,建立相应的团队,进行程序设计。

5

  项目测试与跟踪

  掌握测试测试环境的设定;掌握测试进度并能及时跟踪、及时调整测试环境;掌握测试用例构建

  5. 系统测试和文档编写

4

设计型

3-5

  测试环境一定要与需求规格相符;随时增加新的测试用例进行跟踪维护。

  5 本课程考核方式及成绩评定方式

  该课程的考核采用综合考核方式。总成绩分为:项目答辩(40%)、过程成绩(45%)、实验成绩(15%:可行性报告5%、项目范围分析和团队建立5%、系统设计和系统测试5%)。过程成绩主要包括平时考勤(5%)、平时作业成绩(5%)以及学习结束后的(35%)。

  本课程设置4个实验。每个实验提前1周布置给学生,要求学生通过课外进行实验预习,根据实验内容,对实验进行初步分析设计,在课程上分组讨论形成文档。拟制演示文稿(PPT)进行汇报,老师视情参与讨论并给出意见,以保证课程实验的效果。教师在实验课上监督实验进行情况。在分组讨论中参加,检查项目的设计构想和方案,对关键实验内容的考核采用现场分组答辩形式,最终实验成绩由每次实验报告成绩以及关键实验答辩成绩构成。现场检查课内实验,加强学生软件工程问题的可行性分析、软件范围核实、团队组织建设、软件开发计划和项目跟踪控制等软件工程相关知识和技能完成实验设计与实施,并对实验结构进行分析的能力。

  课程强调学生的自主学习能力,针对需要继续加强对知识布置自主学习任务。并把自主学习知识点纳入过程测试和系统答辩。

  6 课程评价与改进

  课程考核结束后,任课教师遵循学院教学委员会通过的课程达成度评价机制和评价方法,对本课程的毕业要求达成度进行自我评价。此外,学院的教学委员会将指派专门的教师,依据学生的考试成绩和平时成绩等资料,对本课程的达成度进行评价,并出具达成度评价报告。教师根据评价结果,改进其教学方法和教学内容,以便更好地支撑学生毕业要求的达成。

  7本课程学时分配

序号

内容

讲课

习题课

实验

小计

1

  基于数据库应用项目管理概述

2

2

4

2

  数据库项目需求规格说明书

4

2

6

3

  数据库应用项目的概念设计、逻辑设计

4

2

6

4

  数据库应用项目程序设计

2

6

8

5

  数据库应用系统设计规范

2

2

4

6

  数据库应用项目的运行和维护

2

2

4

合计

16

16

32

声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
推荐阅读