内容简介
《SQL Server2005基础教程与实验指导》全面介绍了SQL Server 2005数据库管理与开发知识。《SQL Server2005基础教程与实验指导》分上下篇,上篇包括10章,介绍了SQL Server 2005的基础知识,管理SQL Server 2005数据库内容,数据库中基于表的各种操作、数据完整性以及表的索引和视图等,使用SELECT查询从数据库获取数据,管理数据库中数据,Transact-SQL语言,存储过程和触发器,管理SQL Server 2005安全,数据库备份与恢复,SQL Server 2005集成的.NET Framework、CLR特性及新增的服务体系。《SQL Server2005基础教程与实验指导》附有配套光盘,提供了书中实例的源代码和视频教学文件。下篇是实验指导,有10个单元,精选了一批实用的上机指导练习,以巩固和提高读者的动手技能,加深对基础理论的理解。
《SQL Server2005基础教程与实验指导》体现了作者在软件技术教学改革过程中形成的“项目驱动、案例教学、理论实践一体化”教学方法。《SQL Server2005基础教程与实验指导》可以作为SQL Server职业培训教材和各级院校SQL Server数据库应用与开发的培训教程,也适合作为SQL Server自学用书和参考书。
目录
上篇 基 础 知 识
第1章 数据库与SQL Server 2005简介 1
1.1 数据库原理 1
1.1.1 数据库基础概念 2
1.1.2 关系数据库 4
1.1.3 范式理论 5
1.1.4 实体-关系模型 7
1.2 SQL Server 2005概述 9
1.2.1 SQL Server 2005特性 9
1.2.2 SQL Server 2005体系结构 10
1.2.3 安装SQL Server 2005 12
1.3 配置SQL Server 2005 14
1.3.1 配置服务 15
1.3.2 使用SQL Server 2005管理工具 17
1.3.3 通过配置管理器配置SQL Server 20
1.3.4 使用SQL Server外围应用配置器 22
1.4 扩展练习 25
第2章 管理数据库 29
2.1 数据库的组成 29
2.1.1 系统数据库 29
2.1.2 数据库存储文件 31
2.1.3 数据库对象 32
2.1.4 数据库快照 34
2.2 创建数据库 36
2.2.1 向导方式创建 36
2.2.2 语句方式创建 39
2.3 维护数据库 42
2.3.1 修改数据库 43
2.3.2 删除数据库 46
2.3.3 查看数据库状态 47
2.3.4 数据库操作 49
2.3.5 复制和移动数据库 52
2.4 扩展练习 55
第3章 管理表 59
3.1 表的概述 59
3.1.1 什么是表 59
3.1.2 表的类型 60
3.1.3 创建表 61
3.2 列数据类型 64
3.2.1 精确数字类型 64
3.2.2 近似数字类型 66
3.2.3 字符数据类型 67
3.2.4 Unicode字符数据类型 67
3.2.5 二进制数据类型 68
3.2.6 日期和时间数据类型 69
3.2.7 其他数据类型 70
3.2.8 创建自己的数据类型 73
3.3 列的其他属性 76
3.3.1 NULL、NOT NULL和默认值 76
3.3.2 IDENTITY的应用 77
3.4 维护数据表 79
3.4.1 修改表中的列 79
3.4.2 修改表 81
3.5 表数据完整性 84
3.5.1 表主键 84
3.5.2 外键 87
3.5.3 CHECK约束 89
3.5.4 表关系 90
3.6 表的索引与视图 92
3.6.1 表的索引 92
3.6.2 表的视图 93
3.7 扩展练习 94
第4章 获取数据 95
4.1 基本SELECT语句 95
4.1.1 简单的SELECT查询 95
4.1.2 WHERE子句 101
4.1.3 ORDER BY子句 107
4.1.4 GROUP BY子句 109
4.1.5 HAVING子句 110
4.2 多表查询 112
4.2.1 多表查询基础 112
4.2.2 内连接 114
4.2.3 外连接 115
4.2.4 交叉连接 118
4.2.5 自连接 119
4.2.6 联合查询 120
4.3 子查询 121
4.3.1 多行子查询 121
4.3.2 单值子查询 124
4.3.3 嵌套子查询 125
4.4 扩展练习 126
第5章 操作查询 128
5.1 插入数据 128
5.1.1 INSERT语句的语法 128
5.1.2 使用INSERT VALUES语句 131
5.1.3 使用INSERT SELECT语句 134
5.1.4 使用SELECT INTO语句创建表 136
5.2 更新数据 137
5.2.1 UPDATE语句的语法 137
5.2.2 根据表中数据更新行 138
5.2.3 根据其他表更新行 140
5.3 删除数据 141
5.3.1 DELETE语句的语法 141
5.3.2 使用DELETE语句 142
5.3.3 使用TRUNCATE TABLE语句 144
5.4 扩展练习 144
第6章 Transact-SQL语言 146
6.1 Transact-SQL概述 146
6.2 Transact-SQL语言基础 147
6.2.1 常量与变量 147
6.2.2 运算符 150
6.2.3 表达式 153
6.2.4 控制语句 154
6.3 常用函数 159
6.3.1 聚合函数 159
6.3.2 数学函数 160
6.3.3 字符串函数 161
试读
第1章 数据库与SQL Server 2005简介
内容摘要
由Microsoft发布的SQL Server产品是一个典型的关系型数据库管理系统,以其功能的强大性、操作的简便性、可靠的安全性,得到很多用户的认可,应用也越来越广泛。本章首先介绍有关数据库的基础知识,接下来切入主题介绍了SQL Server 2005的基础入门知识,包括:SQL Server 2005的特性、体系结构、安装方法以及其附带的管理工具和配置方法等。
学习目标
*了解数据库发展过程中的3个模型
*理解关系数据库的概念和组成
*了解常用关系数据库术语和对象
*掌握1NF、2NF和3NF
*理解实体与关系模型的概念
*了解什么是SQL Server 2005
*了解SQL Server 2005的重要特性和新增功能
*理解SQL Server 2005体系结构和平台
*掌握SQL Server 2005安装方法
*掌握SQL Server 2005服务和服务器管理方法
*了解SQL Server 2005的重要管理工具
*掌握工具SQL Server配置管理器的使用
*掌握工具SQL Server外围应用配置器的使用
1.1 数据库原理
在正式学习SQL Server 2005之前,首先来学习数据库技术的原理及应用,主要包括数据库基本概念、关系数据库、范式理论及实体-关系数据模型。通过对这些知识的学习,有助于更好地理解SQL Server 2005。
1.1.1 数据库基础概念
所谓数据库就是存放数据的地方,是需要长期存放在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,可为不同的用户共享。
数据库内容是通过数据库管理系统(Database Management System,DBMS)来管理的。数据库管理系统是指数据库系统中对数据进行管理的软件系统,它是数据库系统的核心组成部分,用户对数据库的一切操作,包括定义、查询、更新以及各种控制,都是通过数据库管理系统进行的。
在不引起混淆的情况下,人们常常将数据库管理系统称为数据库。例如,平时常说的Access、SQL Server、Oracle和MySQL等数据库,其实都是属于DBMS的范围。
随着计算机硬件、软件的不断发展和数据的需求增加,推动了数据管理技术的加速发展,数据管理技术先后经历了3个管理阶段:人工管理阶段、文件系统阶段和数据库管理阶段。
根据具体数据存储需求的不同,数据库可以使用多种类型的系统模型(模型是指数据库管理系统中数据的存储结构),其中较为常见的有层次模型(Hierarchical Model)、网状模型(Network Model)和关系模型(Relation Model)3种。
1.层次模型
层次型数据库使用层次模型作为自己的存储结构。这是一种树型结构,它由节点和连线组成,其中节点表示实体,连线表示实体之间的关系。在这种存储结构中,数据将根据需要分门别类地存储在不同的层次之下,如图1-1所示。
图1-1 层次结构模型
从图1-1所示的例子中可以看出,层次模型的优点是数据结构类似金字塔,不同层次之间的关联性直接而且简单;缺点是由于数据纵向发展,横向关系难以建立,数据可能会重复出现,造成管理维护的不便。
2.网状模型
网状型数据库使用网状模型作为自己的存储结构。在这种存储结构中,数据记录将组成网中的节点,而记录和记录之间的关联组成节点之间的连线,从而构成一个复杂的网状结构,如图1-2所示。
图1-2 网状结构模型
使用这种存储结构的数据库的优点是它很容易地反映实体之间的关联,同时还避免了数据的重复性;缺点是这种关联错综复杂,而且当数据库逐渐增多时,将很难对结构中的关联性进行维护,尤其是当数据库变得越来越大时,关联性的维护会非常复杂。
3.关系模型
关系型数据库就是基于关系模型的数据库,它使用的存储结构是多个二维表格。在每个二维表格中,每一行称为一条记录,用来描述一个对象的信息;每一列称为一个字段,用来描述对象的一个属性。数据表与数据表之间存在相应的关联,这些关联被用来查询相关的数据,如图1-3所示。
图1-3 关系型数据库
从图1-3可以看出使用这种模型的数据库的优点是结构简单、格式唯一、理论基础严格,而且数据表之间是相对独立的,它们可以在不影响其他数据表的情况下进行数据的增加、修改和删除。在进行查询时,还可以根据数据表之间的关联性,从多个数据表中查询抽取相关的信息。这种存储结构的数据模型是目前市场上使用最广泛的数据模型,使用这种存储结构的数据库管理系统很多,下面将详细介绍的Microsoft公司的产品SQL Server 2005也是其中之一。
1.1.
前言/序言
SQL Server 2005是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。SQL Server 2005 为用户提供了强大的、熟悉的工具,同时降低了在从移动设备到企业数据系统的多平台上创建、部署、管理和使用企业数据和分析应用程序的复杂性。通过全面的功能集、与现有系统的互操作性以及对日常任务的自动化管理能力,SQL Server 2005为不同规模的企业提供了一个完整的数据解决方案。
本书定位与特色
面向职业技术教学
本书是作者在总结了多年数据库开发经验与成果的基础上编写的,以实际项目为中心,全面、翔实地介绍了SQL Server 2005数据库应用与开发所需的各种知识和技能。通过本书的学习,读者可以快速、全面地掌握SQL Server 2005数据库应用与开发知识。本书体现了作者“项目驱动、案例教学、理论实践一体化”的教学方法,是一本真正面向职业技术教学的教材。
合理的知识结构
面向数据库应用与开发职业培训市场,结合开发实践介绍SQL Server 2005应用开发知识,突出了职业实用性;全书各章都有实例分析,带领读者经历程序开发全过程,是一本真正的实训性案例教程。
真实的案例教学
针对每个知识点,本书设计了针对性强的教学案例,这些小案例既相对独立,又具有一定的联系,是综合性开发实例的组成部分。读者在制作这些小案例的过程中可以掌握每个知识点。本书有效地避免了其他SQL Server 2005书籍的抽象、空洞或者实例不丰富等缺点。
理论实践一体化
在每个案例中有机融合了知识点讲解和技能训练目标,融“教、学、练”于一体。每个案例的讲解都先提出功能目标,然后是实例制作演示和读者模仿练习,让读者掌握案例的完成过程,体现“在练中学,学以致用”的教学理念。
阶梯式实践环节
本书精心设置了两个教学环节:实验指导和扩展练习。让读者通过不断地练习实践,实现编程技能的逐步提高,最终实现与职业能力的接轨。
本书主要内容
本书分上下篇,上篇分10章,介绍了SQL Server 2005数据库应用与开发的知识。介绍了SQL Server 2005的基础知识,管理SQL Server 2005数据库的内容,数据库中基于表的各种操作、数据完整性以及表的索引和视图等,使用SELECT查询从数据库获取数据,管理数据库中数据,包括使用Transact-SQL语句对数据表进行添加、更新及删除等,Transact-SQL语言,高级数据库操作等,使用SQL Server 2005中的存储过程和触发器管理SQL Server 2005安全,包括SQL Server 2005安全机制、验证模式、使用登录名和数据库用户、管理角色和架构及权限等,数据库备份、恢复的主要方式和注意事项、数据复制等。SQL Server 2005的高级内容:集成的.NET Framework、CLR特性及新增的服务体系。下篇是实验指导,分为10个单元,精选了一批实用的上机练习,以巩固和提高读者的动手技能,加深对基础理论的理解。
本书实例都来自于实际开发工作当中。每个概念小节后都附有范例,帮助读者全面理解本节内容的具体应用,每章都有示例和上机练习,读者在融会贯通全章知识后,通过练习能做到灵活运用。本书附有配套光盘。光盘提供了书中实例的源代码,全部代码经过精心调试,在Windows XP/Windows 2000/Windows 2003 Server下全部通过,保证能够正常运行。
读者对象
本书体现了作者在软件技术教学改革过程中形成的“项目驱动、案例教学、理论实践一体化”教学方法,读者通过本书可以快速、全面地掌握使用SQL Server 2005数据库应用与开发的知识。本书可以作为SQL Server职业培训教材和各级院校SQL Server数据库应用与开发的培训教程,也适合作为SQL Server自学用书和参考书。
除了封面署名人员之外,参与本书编写的人员还有李乃文、孙岩、马海军、张仕禹、夏小军、赵振江、李振山、李文采、吴越胜、李海庆、何永国、李海峰、陶丽、吴俊海、安征、张巍屹、崔群法、王咏梅、康显丽、辛爱军、牛小平、贾栓稳、王立新、苏 静、赵元庆、郭磊、徐铭、李大庆、王蕾、张勇等。在编写过程中难免会有缺漏,欢迎读者通过清华大学出版社网站www.tup.tsinghua.edu.cn与我们联系,帮助我们改正提高。