SQL Server 2008数据库技术实用教程
2011-6
清华大学
高云 编
前言 为适应高职院校应用型人才培养迅速发展的趋势,培养以就业市场为导向的、具备“职业化”特征的高级应用型人才,“任务驱动、项目导向”已成为高职院校主流的教学模式。本书以Microsoft SQL Server 2008(以下一般简称为SQL Server 2008)为数据库管理系统,通过完成一个完整的学生管理系统,引导学生掌握SQL Server 2008的使用和管理。 本书特色 本书采用最新的“工作过程导向”编写模式,以“工作场景导入”→“知识讲解”→“回到工作场景”→“工作实训”→“课后练习”为主线推进学习进程。每一章针对数据库设计和实施中的一个工作过程环节来传授相关的课程内容,实现实践技能与理论知识的整合,将工作环境与学习环境有机地结合在一起。本书内容简明扼要,结构清晰,通过工作过程的讲解将关系数据库的理论知识和SQL Server 2008的使用方法有机结合在一起,示例众多,步骤明确,讲解细致,突出可操作性和实用性。再辅以丰富的实训和课后练习,使学生得到充足的训练,具备使用SQL Server 2008解决实际问题的能力。 本书由高职院校的优秀教师编写,是在其现有教学成果基础上整合编写而成的,作者拥有丰富的开发案例和教学经验。 本书主要内容 本书共分14章,需要授课60个课时,用一学期进行学习。 第1章介绍学生管理数据库的设计。通过本章任务的完成,主要学习数据库的基本概念、发展历史、系统结构,数据库的需求分析、概念模型设计、逻辑模型设计、物理模型设计,了解SQL Server 2008组件,为后面使用SQL Server 2008做好准备。 第2章讲解如何创建学生管理数据库。通过本章任务的完成,主要掌握SQL Server数据库的分类和组成的文件,了解SQL Server数据库中数据的存储方式,掌握创建数据库的方法,掌握文件组的概念、作用和创建的方法。 第3章介绍如何创建学生管理数据库中的五个表,设置表的数据完整性,并在表中录入记录。通过本章任务的完成,掌握使用SQL Server系统数据类型和创建用户定义数据类型的方法,创建、修改、删除表的方法,在表中录入记录的方法,以及数据完整性的概念、分类和具体实施方法。 第4章通过在学生管理数据库的表中使用T-SQL语句插入、更新和删除记录,学习插入单个记录和多个记录的方法、更新记录(包括根据子查询更新记录)的方法、删除记录(包括根据子查询删除记录)的方法、清空表的方法。 第5章讲解如何查询学生管理数据库中的记录,学习简单查询、多表连接和子查询。 第6章介绍了三个任务,第一个任务是判断闰年,讲解T-SQL语言基础知识,包括T-SQL 语法要素、T-SQL程序;第二个任务是带错误信息提示的单语句插入记录操作,介绍T-SQL语言中的错误信息处理;第三个任务是带错误信息提示的多语句更新记录操作,介绍了事务的概念、属性、分类和使用。 第7章介绍了四个任务,前三个任务是关于一个可以查询所有学生的姓名、课程名称和成绩视图的创建、使用和修改,学习视图的概念、分类、创建和使用;第四个任务是在学生表上分别创建两个索引,学习索引的概念、分类、创建、设计和优化。 第8章通过统计学生的学期课程门数及其成绩,以及各门课程的最高分和最低分,来学习用户自定义函数的概念、作用、分类和使用。 第9章讲解创建存储过程用于重复的查询任务,介绍存储过程的概念、分类和作用,介绍创建和使用存储过程的方法,介绍存储过程中输入参数和输出参数的使用方法。 第10章介绍了四个任务,前三个任务是根据学生表的学生记录的插入、更新和删除操作来修改班级表中该班级的人数,第四个任务是防止数据库中成绩表的结构被随意修改。通过本章任务的完成,学习触发器的概念、分类、工作原理、创建和使用。 第11章通过控制数据库管理员、教师用户、学生用户对学生管理数据库和成绩表的操作权限,来讲解SQL Server 2008的安全机制和验证模式,介绍登录、用户、权限的创建与管理,角色的概念、分类、创建和使用。 第12章讲解学生管理数据库的备份和还原,包括备份和还原的概念,备份的类型,创建完整数据库备份、事务日志备份、差异备份和文件或文件组备份的方法,以及还原各种备份的方法。 第13章通过将学生管理数据库中10701班学生个人信息的导入和导出,学习SSIS的作用和工作方式,掌握创建和执行SSIS包来导入和导出数据库中数据的方法。 第14章设计并完成了基于Windows的学生管理系统和基于Web的学生管理系统。通过本任务的完成,学习Windows应用程序的创建方法、Web应用程序的创建方法、注册和登录页面的设计方法,以及学生信息查询功能的实现方法。 读者对象 本书作为Microsoft SQL Server 2008入门类教材,既可以作为高等职业教育计算机及相关专业的教材,也可作为等级考试、职业资格考试或认证考试等各种培训班的培训教材,还可用于读者自学。 本书由高云(南京信息职业技术学院)任主编,崔艳春(南京信息职业技术学院)任副主编,其中第1~7章由高云编写,第8~14章由崔艳春编写,由高云负责统稿。全书框架结构由何光明拟定。另外,本书的编写得到陈海燕、王珊珊、吴涛涛、赵梨花、张伍荣、李海、赵明、吴婷、许勇、姚昌顺、戴仕明等同志的大力支持和帮助,在此表示感谢。限于作者水平,书中难免存在不当之处,恳请广大读者批评指正。 编 者
《sql server
2008数据库技术实用教程》是采用“工作过程导向”模式规范编写的教材,全书共14章,可分为两大部分:数据库的创建和数据库的管理。《sql
server
2008数据库技术实用教程》的内容组织以关系数据库理论知识为基础,注重操作技能的培养和实际问题的解决,旨在使学生掌握microsoft
sql server 2008的使用和管理。《sql server
2008数据库技术实用教程》以创建“学生管理系统”数据库为工作任务,具体内容包括设计数据库、创建数据库、创建表、更新和查询记录、t-sql语言、视图和索引、用户自定义函数、存储过程、触发器、管理数据库安全、备份和还原数据库、导入和导出数据库中的数据。最后一章介绍了学生管理系统应用程序的设计和实施,从而完成了一个完整的数据库系统。本书贴切实际,结构合理,内容丰富,操作方便。
《sql server 2008数据库技术实用教程》作为microsoft sql server
2008的入门类教材,既可以作为高等职业教育计算机及相关专业的教材,也可作为等级考试、职业资格考试或认证考试等各种培训班的培训教材,还可用于读者自学。
第1章 设计数据库
1.1 工作场景导入
1.2 数据库概述
1.2.1 数据库基本概念
1.2.2 数据库发展历史
1.2.3 数据库系统结构
1.3 需求分析
1.3.1 需求分析的任务
1.3.2 需求分析的方法
1.3.3 需求分析的成果
1.4 概念模型设计
1.4.1 数据模型
1.4.2 概念模型
1.4.3 概念模型设计的任务
1.4.4 概念模型设计的方法
1.4.5 概念模型设计的成果
1.4.6 实体-联系模型
1.5 逻辑模型设计
1.5.1 逻辑模型
1.5.2 关系模型概念
1.5.3 逻辑模型设计的任务
1.5.4 关系模型设计的方法
1.6 物理模型设计
1.6.1 物理模型设计的任务
1.6.2 物理模型设计的方法
1.7 数据库实现、运行和维护
1.8 sql server 2008简介
1.8.1 sql server 2008产品性能
1.8.2 sql server 2008产品版本
1.8.3 sql server 2008管理工具
1.9 回到工作场景
1.10 工作实训营
1.10.1 训练实例
1.10.2 工作实践常见问题解析
1.11 习题
第2章 创建数据库
2.1 工作场景导入
2.2 sql server数据库
2.2.1 sql server数据库类型
2.2.2 数据库的文件组成
2.2.3 事务和事务日志
2.2.4 数据存储方式
2.3 数据库的创建与操作
2.3.1 创建数据库
2.3.2 查看数据库
2.3.3 修改数据库
2.3.4 删除数据库
2.4 文件组及其创建与使用
2.4.1 文件组
2.4.2 创建文件组
2.4.3 使用文件组
2.5 回到工作场景
2.6 工作实训营
2.6.1 训练实例
2.6.2 工作实践常见问题解析
2.7 习题
第3章 创建和管理表
3.1 工作场景导入
3.2 数据类型
3.2.1 sql server数据类型
3.2.2 用户定义数据类型
3.2.3 创建用户定义数据类型
3.3 表的创建与操作
3.3.1 创建表
3.3.2 在表中录入记录
3.3.3 修改表
3.3.4 删除表
3.4 数据完整性
3.4.1 数据完整性及其分类
3.4.2 primary key约束
3.4.3 unique约束
3.4.4 default 定义
3.4.5 check约束
3.4.6 foreign key约束
3.5 回到工作场景
3.6 工作实训营
3.6.1 训练实例
3.6.2 工作实践常见问题解析
3.7 习题
第4章 插入、更新和删除记录
4.1 工作场景导入
4.2 插入记录
4.2.1 插入单个记录
4.2.2 插入多个记录
4.3 更新记录
4.3.1 简单更新记录
4.3.2 使用子查询更新记录
4.4 删除记录
4.4.1 简单删除记录
4.4.2 清空记录
4.4.3 使用子查询删除记录
4.5 回到工作场景
4.6 工作实训营
4.6.1 训练实例
4.6.2 工作实践常见问题解析
4.7 习题
第5章 查询
5.1 工作场景导入
5.2 简单查询
5.2.1 结果集字段列表
5.2.2 查询的筛选条件
5.2.3 结果集格式
5.2.4 分组汇总
5.3 多表连接
5.3.1 表的别名
5.3.2 内连接
5.3.3 外连接
5.3.4 交叉连接
5.3.5 自连接
5.3.6 多表连接
5.4 子查询
5.4.1 子查询用做单个值
5.4.2 子查询用做集合
5.4.3 相关子查询
5.5 回到工作场景
5.6 工作实训营
5.6.1 训练实例
5.6.2 工作实践常见问题解析
5.7 习题
第6章 使用t-sql语言
6.1 工作场景导入
6.2 t-sql 语言
6.3 t-sql语法要素
6.3.1 标识符
6.3.2 数据类型
6.3.3 常量
6.3.4 变量
6.3.5 运算符
6.3.6 表达式
6.3.7 函数
6.3.8 注释
6.3.9 保留关键字
6.4 t-sql程序
6.4.1 控制流
6.4.2 批处理
6.4.3 脚本
6.5 错误信息处理
6.5.1 try...catch
6.5.2 @@error系统函数
6.6 事务
6.6.1 事务的概念及其属性
6.6.2 事务的分类及其使用
6.7 回到工作场景
6.8 工作实训营
6.8.1 训练实例
6.8.2 工作实践常见问题解析
6.9 习题
第7章 使用视图和索引优化查询
7.1 工作场景导入
7.2 视图
7.2.1 视图及其分类
7.2.2 创建视图
7.2.3 使用视图
7.2.4 修改视图
7.2.5 删除视图
7.3 索引
7.3.1 索引及其分类
7.3.2 创建索引
7.3.3 修改索引
7.3.4 删除索引
7.3.5 设计和优化索引
7.4 回到工作场景
7.5 工作实训营
7.5.1 训练实例
7.5.2 工作实践常见问题解析
7.6 习题
第8章 用户自定义函数
8.1 工作场景导入
8.2 用户自定义函数介绍
8.2.1 标量值函数
8.2.2 内联表值函数
8.2.3 多语句表值函数
8.3 创建用户自定义函数
8.3.1 创建标量值函数
8.3.2 创建内联表值函数
8.3.3 创建多语句表值函数
8.4 使用用户自定义函数
8.4.1 使用标量值函数
8.4.2 使用内联表值函数
8.4.3 使用多语句表值函数
8.5 修改用户自定义函数
8.6 删除用户自定义函数
8.7 回到工作场景
8.8 工作实训营
8.8.1 训练实例
8.8.2 工作实践常见问题解析
8.9 习题
第9章 存储过程
9.1 工作场景导入
9.2 存储过程介绍
9.3 不带参数的存储过程
9.3.1 创建存储过程
9.3.2 使用存储过程
9.3.3 修改存储过程
9.3.4 删除存储过程
9.4 带参数的存储过程
9.4.1 带输入参数的存储过程
9.4.2 带输出参数的存储过程
9.5 回到工作场景
9.6 工作实训营
9.6.1 训练实例
9.6.2 工作实践常见问题解析
9.7 习题
第10章 触发器
10.1 工作场景导入
10.2 触发器介绍
10.2.1 insert触发器
10.2.2 delete触发器
10.2.3 update触发器
10.2.4 instead of触发器
10.3 创建触发器
10.3.1 创建dml触发器
10.3.2 创建ddl触发器
10.4 使用触发器
10.5 修改触发器
10.6 删除触发器
10.7 回到工作场景
10.8 工作实训营
10.8.1 训练实例
10.8.2 工作实践常见问题解析
10.9 习题
第11章 管理数据库安全
11.1 工作场景导入
11.2 sql server 2008安全机制
11.3 sql server 2008验证模式
11.3.1 windows身份验证
11.3.2 混合身份验证
11.4 windows登录
11.4.1 创建windows登录
11.4.2 创建sql server登录
11.4.3 管理登录名
11.5 数据库用户
11.5.1 创建数据库用户
11.5.2 管理数据库用户
11.6 权限
11.6.1 权限类型
11.6.2 设置用户权限
11.7 角色
11.7.1 角色分类
11.7.2 创建角色
11.7.3 指派角色
11.8 回到工作场景
11.9 工作实训营
11.9.1 训练实例
11.9.2 工作实践常见问题解析
11.10 习题
第12章 备份和还原数据库
12.1 工作场景导入
12.2 备份和还原
12.2.1 备份
12.2.2 还原
12.3 完整数据库备份
12.3.1 创建备份
12.3.2 还原备份
12.4 数据库和事务日志备份
12.4.1 创建备份
12.4.2 还原备份
12.5 差异备份
12.5.1 创建备份
12.5.2 还原备份
12.6 文件或文件组备份
12.6.1 创建备份
12.6.2 还原备份
12.7 回到工作场景
12.8 工作实训营
12.8.1 训练实例
12.8.2 工作实践常见问题解析
12.9 习题
第13章 导入和导出数据库中的数据
13.1 工作场景导入
13.2 ssis
13.2.1 ssis介绍
13.2.2 ssis工作方式
13.3 使用ssis
13.3.1 创建ssis包
13.3.2 执行ssis包
13.4 回到工作场景
13.5 工作实训营
13.5.1 训练实例
13.5.2 工作实践常见问题解析
13.6 习题
第14章 学生管理系统案例
14.1 工作场景导入
14.2 程序设计介绍
14.2.1 microsoft visual studio 2008集成环境
14.2.2 c#语言
14.2.3 asp.net
14.3 回到工作场景
14.3.1 基于windows的学生管理系统
14.3.2 基于web的学生管理系统
14.4 工作实训营
附录 各章习题参考答案
版权页:插图:第一范式是指表的每一列都是不可分割的基本数据项,同一列中不能有多个值,不能存在两条记录具有完全相同的各属性值。在任何一个关系数据库中,第一范式是对关系模式的基本要求,不满足第一范式的数据库就不是关系数据库。例如,学生信息表包含学生编号、学生姓名、班级编号和联系方式,其中联系方式不能将电话、地址和邮编这3类数据合在一列中显示,解决的方法是在学生信息表中设置电话、地址和邮编3列,分别保存这3部分数据。一个学生的记录只能对应于学生信息表中的一条记录,不能有两条记录同时对应于一个学生。第二范式建立在第一范式的基础上,即满足第二范式必须先满足第一范式。第二范式要求实体的属性完全依赖于主码,即不能存在仅依赖主码一部分的属性。如果存在,那么这个属性和主码的这一部分应该分解形成一个新的实体,新实体与原实体之间是一对多的关系。第二范式其实就是非主属性,不能部分依赖于主码。例如,成绩表包含学生编号、课程编号、成绩、学生姓名、班级编号,主键是学生编号和课程编号。但是,学生姓名和班级编号属性可以由学生编号属性推知,因此成绩表的结构不符合第二范式。这样设计的表在使用中有很多问题,插入一个学生的所有课程成绩将反复插入该学生的基本信息,如果删除该学生的所有课程成绩将导致删除该学生的基本信息,如果该学生的基本信息有变化又需要将其所有的成绩记录进行更新。为了解决数据冗余和重复操作的问题,可以将其中的学生编号、学生姓名和班级分解出来,形成学生信息表,原有的成绩表保留学生编号、课程编号和成绩。这样调整可使得两个表均满足第二范式的要求。第三范式建立在第二范式的基础上,要求一个数据库表中不包含在其他表中已包含的非主码信息,即第三范式就是属性不依赖于其他非主属性,也就是不存在传递依赖。例如,班级信息表包含班级编号、班级名称、系名称、系简介,主码是班级编号。如果插入同一个系的两个班级的信息,将产生两条记录,其中系名称和系简介完全一样。其实,同一个系的系名称和系简介是一样的。这样又会产生大量的数据冗余。可以添加系信息表,系信息表包含系编号、系名称、系简介,主码是系编号,在班级信息表中删除系名称和系简介,添加系编号。这样使得数据库满足第三范式的要求。BCNF是指关系模式的所有属性都不传递依赖于该关系模式的任何候选码,或是每个决定因素都包含码。第一范式到BCNF的4种范式之间有以下关系:BCNF高于第三范式高于第二范式高于第一范式。综上所述,规范化目的是使结构更合理,消除存储异常,使数据冗余尽量小,便于插入、删除和更新。在对关系模式进行规范化时,必须遵从概念单一化原则,即一个关系模式描述一个实体或实体间的一种联系。规范化的操作方法是将关系模式分解成两个或多个关系模式,分解后的关系模式集合必须保证不会丢失原有关系的信息。实际操作时,并不一定要求全部模式都达到BCNF,有时故意保留部分冗余便于数据查询。(3)优化关系模式,定义数据完整性、安全性,评估性能。
《SQL Server 2008数据库技术实用教程》是高职高专工作过程•立体化创新规划教材和计算机系列之一。■以培养技能型创新人才为目标,设置丰富的版块合理安排全文,突出实用性和可操作性。■以工作过程为导向,全面展示案例实施的全过程,提炼技术要点,即学即用面向就业。■以强化实际操作技能为主线,答疑解惑,解决工作实践中的常见问题。
SQL Server 2008数据库技术实用教程 PDF格式下载
书很不错!!!!发货很快!!!!!!!好评!!!!!!!!