1、数据库原理与SQL Server应用 数据库的基本概念数据库的基本概念任务任务1 数据库技术的发展历程数据库技术的发展历程任务任务2概念模型和数据模型概念模型和数据模型 任务任务3 关系数据库标准语言关系数据库标准语言SQLSQL任务任务4任务1 数据库的基本概念阶段1 数据 数据是数据库中存储的基本对象,也是数据库用户操作的对象。数据是描述事物的符号记录。文字、图像、声音、学生的档案记录、货物的运输情况等都是数据。阶段2 数据库 数据库(Database,DB)是指长期存储在计算机内,有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立
2、性和易扩展性,并可以被各种用户共享。阶段3 数据库管理系统 数据库管理系统(Database Management System,DBMS)是为管理数据库而设计的软件系统,位于用户和操作系统之间。具有代表性的数据库管理系统有Oracle、Microsoft SQL Server和My SQL等。通常数据库管理员会使用数据库管理系统来建立数据库系统。数据库管理系统的功能如下。(1)数据定义功能。(2)数据操纵功能。(3)数据库的保护功能。(4)数据库的存储管理。(5)数据库的维护功能。(6)数据字典。数据库管理系统数据库管理系统阶段4 数据库系统 数据库系统(Database System,DB
3、S)是指在计算机系统中引入数据库后的系统。一般由数据库、数据库管理系统(及其开发工具)、应用系统和数据库管理员构成。阶段1 人工管理阶段 20世纪50年代中期以前为人工管理阶段,是计算机数据管理的初级阶段。其数据管理的特点体现在以下4个阶段。(1)数据不保存在计算机中。(2)没有软件系统管理数据。(3)数据的组织方式必须由程序员自行设计。(4)数据是面向应用的。阶段2 文件系统阶段 20世纪世纪50年代后期至年代后期至60年代中期为文年代中期为文件系统阶段。硬件方面出现了磁盘、磁鼓件系统阶段。硬件方面出现了磁盘、磁鼓等外部存储设备;软件方面有了操作系统等外部存储设备;软件方面有了操作系统中专门
4、管理数据的文件系统。中专门管理数据的文件系统。在该阶段,一个应用程序可以处理多在该阶段,一个应用程序可以处理多个数据文件。文件系统在程序与数据间起个数据文件。文件系统在程序与数据间起到接口左右,使程序和数据有了一定的独到接口左右,使程序和数据有了一定的独立性。立性。阶段3 数据库系统阶段 20世纪60年代后期,出现了数据库技术和统一管理数据的专门软件系统数据库管理系统。20世纪60年代末出现了第一代数据库网状数据库、层次数据库。20世纪70年代出现了第二代数据库 关系数据库。概念数据模型是实体联系模型,概念数据模型是实体联系模型,即即E-RE-R模型。模型。E-R E-R模型有如下模型有如下3
5、 3要素。要素。1.1.实体实体2.2.属性属性3.3.实体间的联系实体间的联系 客观存在并可相互区别的事物称为实体。例如学生、一次选课都是实体。在E-R模型中,用矩形框表示实体,框内标注实体名称。1.实体2.属性 实体所具有的某一特性称为属性。实体可以具有若干个属性,例如,学生实体有学号、姓名、性别、年龄等属性。在E-R模型中,用椭圆形表示属性,并用连线与实体或联系连接起来。3.实体间的联系(1)一对一联系(1:1)。(2)一对多联系(1:n)。(3)多对多联系(m:n)。实体联系图实体联系图【例例1-1】完整的实体联系图完整的实体联系图 数据库领域采用的数据模型有如下3种。1.层次模型2.
6、网状模型3.关系模型1.层次模型 用树型结构表示实体之间联系的模型称为层次模型。层次模型的特点如下。(1)有且仅有一个根节点。(2)根节以外的其他节点有且仅有一个父节点。2.网状模型 网状模型是一个不加任何条件限制的无向图。网状模型是以记录为节点的网状结构。其特点如下。(1)可以有任意个节点无双亲。(2)允许节点有一个以上的双亲。(3)允许两个节点之间有一种或两种以上的联系。3.关系模型(1)关系模型的数据结构(2)关系模型的操作与完整性约束(3)关系模型的优缺点关系数据库标准语言关系数据库标准语言SQLSQL阶段1 T-SQL语言简介T-SQL语言由以下几部分组成。(1)数据定义语言(DDL
7、)。(2)数据操纵语言(DML)。(3)数据控制语言(DCL)。(4)T-SQL增加的语言元素。(1)数据定义语言(DDL)(2)数据操纵语言()数据操纵语言(DML)(3)数据控制语言()数据控制语言(DCL)阶段2 标识符 SQL 标识符用于标识数据库对象,如表、视图、列、索引、触发器、过程、约束、规则等。(1)标识符最多可以包含128个字符。(2)第一个字符可以是字母、下画线、at符号或者数字符号。(3)不允许嵌入空格或其他特殊字符。(4)不允许使用T-SQL的保留字。(5)中文版SQL Server允许使用汉字作为标识符。本章小结 本章主要介绍了数据库的基本概念、数据库技术的发展历程、
8、概念模型和数据模型以及关系数据库查询语言SQL。重点介绍了当前应用最广泛的关系模型和关系数据库查询语言SQL。数据是数据库中存储的基本对象,也是数据库用户操作的对象。数据库是指长期存储在计算机内,有组织的、可共享的数据集合。数据库管理系统是为 管理数据库而设计的软件系统,位于用户和操作系统之间。数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。数据库技术的发展经历了人工管理阶段、文件系统阶段、数据库系统阶段3个阶段。本章小结 根据模型应用的目的,将数据模型分为两种类型:概念模型和数据模型。最常用的概念模型是实体联系模
9、型 (E-R模型)。常见的数据模型有层次模型、网状模型和关系模型。其中关系模型应用最广泛。本章小结 结构化查询语言SQL是关系数据库标准语言。T-SQL是微软公司在SQL Server数据库管理系统中SQL的实现。T-SQL语言包括数据定义语言(DDL)、数据操纵语言(DML)、数据控制语言(DCL)和T-SQL增加的语言元素。本章小结第2章 SQL Server 2005概述SQL Server 2005SQL Server 2005简介简介任务任务1SQL Server 2005SQL Server 2005的安装的安装任务任务2SQL Server 2005SQL Server 2005
10、的管理和开发工具的管理和开发工具任务任务3任务1 SQL Server 2005简介 阶段1 SQL Server 2005的特性SQL Server 2005的3个特性如下。(1)企业数据管理(2)开发人员生产力(3)商务智能 阶段1 SQL Server 2005的特性阶段1 SQL Server 2005的特性阶段1 SQL Server 2005的特性阶段2 SQL Server 2005的版本 SQL Server 2005包括如下5个版本。(1)企业版(SQL Server 2005 Enterprise Edition)(2)标准版(SQL Server 2005 Standar
11、d Edition)(3)工作组版(SQL Server 2005 Workgroup Edition)(4)开发人员版(SQL Server 2005 Developer Edition)(5)简易版(SQL Server 2005 Express Edition)阶段2 SQL Server 2005的版本 阶段2 安装SQL Server 2005(1)安装)安装IIS。(2)选择)选择“仅工具、联机丛书和示例仅工具、联机丛书和示例”选选项。项。(3)安装必备组件。)安装必备组件。(4)系统配置检查。)系统配置检查。(5)注册信息。)注册信息。(6)实例名)实例名(7)服务账户。(8)身
12、份验证模式。(9)排序规则。(10)准备安装。(11)安装进度。(12)完成。阶段2 安装SQL Server 2005 SQL Server Business Intelligence Development Studio 阶段阶段4 SQL Server Profiler阶段1 SQL Server Management Studio SQL Server Management Studio是为SQL Server数据库的管理员和开发者准备的全新的工具。它基于Microsoft Visual Studio,为用户提供了图形化的、集成了丰富的开发环境的管理工具。SQL Server Mana
13、gement Studio将SQL Server早期版本中的企业管理器、查询分析器和分析管理器的功能组合到一起,为不同层次的管理人员和开发人员提供了SQL Server访问能力。SQL Server Management Studio的界面如下。阶段1 SQL Server Management Studio SQL Server Configuration Manager将将SQL Server早期版本中的服务管理器、服早期版本中的服务管理器、服务器网络实用工具和客户端网络实用工具务器网络实用工具和客户端网络实用工具的功能组合到一起,用来管理的功能组合到一起,用来管理SQL Server 2
14、005所提供的服务、服务器与客户端通信所提供的服务、服务器与客户端通信协议以及客户端的基本配置管理。协议以及客户端的基本配置管理。SQL Server Configuration Manager的的界面如下。界面如下。阶段3 SQL Server Business Intelligence Development Studio SQL Server Business Intelligence Development Studio主要为数据库Analysis Services、Intelligence Services和Reporting Services项目提供商业解决方案的环境。SQL Se
15、rver Business Intelligence Development Studio的界面如下。SQL Server Profiler提供了图形用户界提供了图形用户界面,用于监视面,用于监视SQL Server数据库引擎和数据库引擎和Analysis Services的实例,也称的实例,也称SQL Server事件探查器。事件探查器。SQL Server Profiler的界面如下。的界面如下。本章小结 本章简单介绍了SQL Server 2005的环境要求,详细介绍了SQL Server 2005的安装步骤以及SQL Server 2005中的管理和开发工具,包括SQL Server
16、Management Studio、SQL Server Configuration Manager、SQL Server Business Intelligence Development Studio和SQL Server Profiler等。第3章 数据库的创建与管理 认识认识 SQL Server SQL Server 数据库数据库任务任务1创建数据库创建数据库任务任务2管理数据库管理数据库任务任务3任务1 认识SQL Server数据库阶段1 认识数据库文件 SQL Server数据库有如下3种文件类型。1.主数据文件 2.辅助数据文件3.事务日志文件 1.主数据文件 主数据文件是数
17、据库的起点,指向数据库中文件的其他部分。主数据文件也用来储存用户创建的数据表与对象。每个数据库有且只有一个主数据文件。主数据文件的推荐文件扩展名是.mdf。2.辅助数据文件 辅助数据文件可存储未包括在主数据辅助数据文件可存储未包括在主数据文件里的所有数据及对象。文件里的所有数据及对象。并不是所有的并不是所有的数据库都有辅助数据文件。根据需要,一数据库都有辅助数据文件。根据需要,一些数据库会把所有的数据都放在主数据文些数据库会把所有的数据都放在主数据文件里,而有些数据库则会利用主数据文件件里,而有些数据库则会利用主数据文件 和辅助数据文件把数据储存在不同的磁盘中。辅助数据文件的推荐文件扩展名是.
18、ndf。2.辅助数据文件 事务日志文件包含恢复数据库所需的事务日志文件包含恢复数据库所需的所有事务日志信息。每个数据库都必须至所有事务日志信息。每个数据库都必须至少有一个事务日志文件。事务日志文件的少有一个事务日志文件。事务日志文件的推荐文件扩展名是推荐文件扩展名是.ldf。3.3.事务日志文件事务日志文件阶段2 认识数据库的存储单位 页是数据库存储的基本单位。页的大小为8 KB。这意味着SQL Server数据库中每MB有128页。每页的开头是一个96 B的页头,用于存储有关页的系统信息,包括页码、页类型、页的可用空间,以及拥有该页的对象的分配单元ID。阶段阶段3 3 认识数据库文件组认识数
19、据库文件组 数据库文件组包括两种类型:主文件数据库文件组包括两种类型:主文件组、用户文件组。组、用户文件组。1.1.主文件组主文件组2.2.用户文件组用户文件组 1.主文件组 主文件组包含主数据文件和任何没有明确指派给其他文件组的其他文件。主文件组在数据库中是默认的文件组。如果没有指定文件组,则将从默认的主文件组中为它分配页。因此许多系统不需要指定 用户定义文件组。在这种情况下,所有文件都包含在主文件组中。1.主文件组 用户文件组,也称为用户自定义的文件组,是在CREATE DATABASE或ALTER DATABASE 语句中,使用FILEGROUP关键字指定的文件组。在指定的用户文件组中可
20、以建立数据表和索引。2.用户文件组认识系统数据库认识系统数据库 1.master1.master数据库数据库 2.model 2.model 数据库数据库 3.msdb 3.msdb 数据库数据库 4.tempdb 4.tempdb 数据库数据库 master数据库记录SQL Server系统的所有系统级信息,包括登录账户、端点、系统配置设置和连接服务器等初始化信息。此外,master数据库还记录所有其他数据库的名称以及数据库的文件1.master数据库 位置等信息。因此,如果master数据库不可用,则SQL Server无法启动。使用master数据库时,我们需要注意以下几点。(1)始终有
21、一个master数据库的当前备份可用。(2)执行以下操作后,应尽快备份数据库:1.master数据库 创建、修改或删除数据库;更改服务器或更改数据库的配置;修改或添加登录账户。(3)不要在master数据库中创建用户对象,否则必须频繁地备份master数据库。1.master数据库 model 数据库是SQL Server 2005中所有用户数据库和tempdb数据库的模板数据库。当用户创建一个新的数据库时,model 数据库中的内容就会被自动复制到新建的数据库中。如果用户修改model2.model 数据库 数据库的配置信息,之后创建的所有数据库将会继承这些修改的配置信息。2.model 数
22、据库 msdb 数据库由 SQL Server 代理用来记录有关作业、警报和备份历史的信息。3.msdb 数据库 tempdb 数据库主要用来存储临时对数据库主要用来存储临时对象。这些对象只在单个语句或连接期间象。这些对象只在单个语句或连接期间存在,如临时工作表、临时存储过程、存在,如临时工作表、临时存储过程、表变量或游标等。表变量或游标等。每次启动每次启动SQL Server2005时,时,4.tempdb 数据库 tempdb 数据库都会重新建立,此时的tempdb 数据库都是干净的。由于绝大多数的查询都会用到tempdb 数据库,所以tempdb 数据库的大小非常影响系统的性能。当tem
23、pdb 数据库的空间不足时,系统会自动扩展它的大小。用户也可以使用ALTER DATABASE命令来修改tempdb 数据库的配置。4.tempdb 数据库 阶段1 查看数据库信息 可以使用SQL Server Management Studio查看数据库信息,也可以使用T-SQL语句查看数据库信息 小贴士:查看数据库信息的T-SQL语句有很多。我们最常用的是如下形式的语句:sp_helpdb 数据库名称阶段1 查看数据库信息 一种方法是使用SQL Server Management Studio修改数据库信息,另一种方法是使用T-SQL语句修改数据库信息 阶段2 修改数据库 小贴士:我们可以
24、通过“常规”、“权限”等选项页修改数据库的其他信息。此外,我们还还可以右击数据库,选择“重命名”选项,修改数据库的名称。小贴士:在T-SQL语言中,我们用ALTER DATABASE语句修改数据库或数据库文件和文件组、在数据库中添加或删除文件和文件组、更改数据库排序规则和设置数据库选项等。可以使用可以使用SQL Server Management Studio删除数据库,也可以使用删除数据库,也可以使用DROP DATABASE语句删除数据库。删除某数据语句删除数据库。删除某数据库后,将会删除该数据库中的所有对象,库后,将会删除该数据库中的所有对象,释放出该数据库所占的磁盘空间。释放出该数据库
25、所占的磁盘空间。小贴士:当数据库处于正在使用、正在被恢复、正在复制状态时,不能删除该数据库。阶段3 删除数据库 小贴士:使用DROP DATABASE语句删除数据库时,没有提示删除数据库的信息,一旦删除就无法恢复。阶段3 删除数据库 本章简单介绍了SQL Server 2005数据库的文件类型、存储单元和系统数据库等知识,详细介绍了数据库的创建、修改和删除等。SQL Server数据库有3种文件类型:主数据文件、辅助数据文件和事务日志文件。页是数据库存储的基本单位。数据库文件组包括主文件组和用户文件组两种类型。SQL Server 2005中的数据库分为系统数据库、用户数据库和数据库快照。其中
26、SQL Server 2005的系统数据库包括master数据库、model 数据库、msdb 数据库和tempdb数据库4个数据库。数据库的创建是数据库应用的基础,创建数据库有两种方法:使用SQL Server Management Studio和使用T-SQL语句创建数据库。数据库创建后,我们可以根据需要查看数据库信息、修改数据库属性、删除数据库等。我们可以通过SQL Server Management Studio创建数据库和使用T-SQL语句两种方法来实现数据库的管理与维护。第4章 数据表的创建与管理 认识数据表认识数据表任务任务1数据表的创建数据表的创建任务任务2 数据表的管理数据表
27、的管理任务任务3表数据的添加、修改和删除表数据的添加、修改和删除任务任务4使用约束使用约束 任务任务5任务1 认识数据表阶段1 认识数据表的行和列 数据表是用来存储数据的对象,由行和列组成。表的每一行为一个元组,每一列为一个属性。每一行也称为一条记录,每一列也称为一个字段。阶段2 认识数据类型1.二进制数据类型 2.字符数据类型 3.Unicode数据类型 4.日期和时间数据类型 5.数字数据类型 6.货币数据类型7.特殊数据类型 阶段3 认识数据表中的键 在数据表中,唯一标识实体的属性集称为关键字。数据表中的关键字通常分为以下3种类型。(1)主键(2)候选键(3)外键 主键是数据表中元组的标
28、识。不同的主键是数据表中元组的标识。不同的主键值对应不同的元组。每一个数据表都主键值对应不同的元组。每一个数据表都必须定义主键,而且只能定义一个主键。必须定义主键,而且只能定义一个主键。主键值不能为空。主键值不能为空。image和和text类型的列不类型的列不能做主键。能做主键。候选键是数据表中没有被选为主键的候选键是数据表中没有被选为主键的关键字。不同的候选键值对应着除主键外关键字。不同的候选键值对应着除主键外不同的列或多列值。一个数据表可以有多不同的列或多列值。一个数据表可以有多个候选键。另外,候选键的值可以为空。个候选键。另外,候选键的值可以为空。但只有一个值可以为空。但只有一个值可以为
29、空。如果一个表中的字段在该表中不是关如果一个表中的字段在该表中不是关键字,但在另外一个表中是关键字,则称键字,但在另外一个表中是关键字,则称该字段为外键。创建外键可以提供关系与该字段为外键。创建外键可以提供关系与关系之间的链接,根据主键值来检查参照关系之间的链接,根据主键值来检查参照该主键的外键值的合法性,实现数据的完该主键的外键值的合法性,实现数据的完整性。整性。可以使用SQL Server Management Studio查看数据表信息,还可以使用T-SQL语句查看数据表信息 小贴士:查看数据表信息常用的T-SQL语句语法如下:sp_help 数据表名阶段1 查看数据表的信息 同样可以使
30、用同样可以使用 SQL Server Management Studio修改数据表和使用修改数据表和使用T-SQL语句修改数据表。语句修改数据表。同样可以使用同样可以使用 SQL Server Management Studio删除数据表和使用删除数据表和使用T-SQL语句删除数据表语句删除数据表xs1小贴士:删除数据表的T-SQL语句语法如下:DROP TABLE 数据表名,n阶段3 删除数据表阶段1 向数据表添加数据 可以使用SQL Server Management Studio向数据表添加数据 和使用T-SQL语句向数据表添加一组数据。小贴士:向数据表添加数据的T-SQL语句语法如下:
31、INSERT INTO 数据表名(字段列表)VALUES(相应的值列表)当所有列的数据都在VALUES子句中指出时,可以省略列名。阶段1 向数据表添加数据阶段2 修改数据表中的数据 使用SQL Server Management Studio修改数据表中的数据,和 使用T-SQL 语句修改数据表中的数据。小贴士:修改数据表中的数据的T-SQL语句语法如下:UPDATE 数据表名 SET 列名=表达式|DEFAULT|NULL,n FROM 另一表名,n WHERE 阶段2 修改数据表中的数据 在使用UPDATE语句时,如果没有使用WHERE子句,那么将会对表中所有的行进行修改。阶段2 修改数据
32、表中的数据 使用SQL Server Management Studio删除数据表中的数据 和使用T-SQL语句删除数据表中的数据。小贴士:删除数据表中的数据的T-SQL语句语法如下:DELETE FROM数据表名 WHERE 在使用DELETE语句时,如果没有使用WHERE子句,那么将会删除表中所有的数据。阶段3 删除数据表中的数据 主键约束(PRIMARY KEY)是在表中定义一个主键来唯一标识表中的每行记录。每个表中只能有一个主键,主键可以是一列,也可以是多列。主键不能为空。主键值不能重复。阶段2 外键约束 外键约束(FOREIGN KEY),表示该列为外键,将按参照表的参照列的值范围来
33、取值,通常参照列是参照表的主键。阶段3 空值约束 空值约束(NULL|NOT NULL),表示该列允许“空”或“非空”值。阶段4 唯一约束 唯一约束(UNIQUE),表示该列上的取值必须互不相同。使用唯一约束可以保证主键列以外的其他列上也不允许有重复值。一个表最多定义一个主键约束,但可以定义多个唯一键约束。阶段5 检查约束 检查约束(CHECK),给出该列满足的条件,使用一个逻辑表达式来判断输入数据的合法性。阶段6 默认约束 默认约束,表示没有输入该列的值时,使用由提供的默认值。本章小结 数据表是包含数据库中所有数据的数据库对象,是其他数据库对象的基础,是使用数据库的过程中接触最多的数据库对象
34、。在创建数据表之前,首先要设计数据表,定义数据表的列、数据类型、数据长度以及数据完整性约束。我们可以使用SQL Server Management Studio和 T-SQL语句两种方法创建、修改和删除数据表。数据表创建完成后,就可以向数据表中添加数据,也可以根据需要进行数据的修改和删除操作。我们同样可以用SQL Server Management Studio和T-SQL语句这两种方法实现数据的添加、修改和删除。本章小结 数据的完整性约束对数据表非常重要。常见的约束有主键约束、外键约束、空值约束、唯一约束、检查约束和默认约束。本章小结 基本查询基本查询任务任务1条件查询条件查询任务任务2连接
35、查询连接查询任务任务3子查询子查询任务任务4任务1 基本查询任务1 基本查询阶段1 SELECT语句概述 在SQL Server 2005中,对数据库的查询使用T-SQL的SELECT语句。通过T-SQL的查询可以从表或视图中迅速、方便地检索数据。阶段2 选择表中的指定列 选择表中指定列的SELECT语句的语法格式如下:SELECT 列名1,列名2,列名3,列名nFROM 数据表名阶段3 选择表中的所有列 选择表中所有列的SELECT语句的语法格式如下:SELECT*FROM 数据表名阶段4 修改查询结果中的列名 如果想修改查询结果里的某些列的列名,可以使用下列格式的SELECT语句:SELE
36、CT 列名1 AS 新列名1,列名2 AS 新列名2,列名n AS 新列名n FROM 数据表名 或者也可以使用下列格式的SELECT语句:SELECT 新列名1=列名1,新列名2=列名2,新列名n=列名nFROM 数据表名阶段5 查询计算后的列值 使用SELECT对列进行查询时,在结果中可以输出对列值计算后的值。只选择表中的某些列时,有时会出现只选择表中的某些列时,有时会出现重复行。如果用户不希望看到重复行,可重复行。如果用户不希望看到重复行,可以通过以通过DISTINCT关键字消除重复行。关键字消除重复行。消除重复行的消除重复行的T-SQL语句格式如下:语句格式如下:SELECT DIST
37、INCT列名列名1,列名列名2,列名列名3,列名列名nFROM 数据表名数据表名 当查询结果的数据行非常多,而用户又当查询结果的数据行非常多,而用户又不需要查看所有的数据结果时,可以使用不需要查看所有的数据结果时,可以使用TOP关键字限定返回行的数量,大大减少关键字限定返回行的数量,大大减少查询时间。查询时间。阶段1 WHERE子句 带WHERE语句的查询的语法格式如下:SELECT列名1,列名2,列名3,列名nFROM 数据表名WHERE 查询条件 小贴士:使用LIKE进行字符匹配时,使用了通配符%,即可以进行模糊查询。除了%外,LIKE中还有“_”、“”、“*”3个通配符。阶段1 WHER
38、E子句 LIKE中通配符的含义如下。(1)%:包含零个或更多字符的任意字符串。“A%”表示以A开头的字符串;“%A”表示以A结尾的字符串;“%A%”表示含有字符A的字符串。(2)_:任何单个字符阶段1 WHERE子句(3):指定范围(例如a-f)或集合abcdef内的任何单个字符。(4)*:不在指定范围(例如a-f)或集合(例如abcdef)内的任何单个字符。阶段1 WHERE子句阶段2 ORDER BY子句 使用ORDER BY子句可以对查询结果进行排序。使用ORDER BY子句的格式如下。ORDER BY 表达式ASC|DESC,n 其中,ASC表示升序排列,DESC表示降序排列。系统默认
39、为ASC。阶段3 GROUP BY子句 GROUP BY子句将查询结果表按指定列的值分组,值相等的为一组。使用GROUP BY子句的格式如下。GROUP BYALL 列名,n WITHCUBE|ROLLUP 阶段4 HAVING子句 使用HAVING子句对分组统计后的数据进一步筛选。HAVING子句的格式如下。HAVING 阶段5 INTO子句 INTO子句可以把查询结果保存成一个新表,供以后直接使用。INTO子句的格式如下。INTO 新表名 谓词连接是指在WHERE子句中使用比较运算符给出连接条件进行连接。小贴士:在SELECT子句中,“学号”前的“xs.”称为列前缀,用来说明该列来自那个表
40、,以消除歧义。但是,如果列名在所有表中是唯一的,那么可以省略列前缀。阶段1 谓词连接 JOIN连接是通过在FROM子句中使用JOIN关键字将多个表进行连接来实现的。使用JOIN关键字的连接主要分为内连接、外连接、交叉连接。内连接 内连接是按照ON关键字所指定的连接条件连接两个表,返回满足条件的行。外连接外连接 外连接的结果不仅包括满足条件的行外连接的结果不仅包括满足条件的行,还包括相应表中的所有行。外连接可分为还包括相应表中的所有行。外连接可分为左外连接、右外连接和全外连接。左外连接、右外连接和全外连接。交叉连接 交叉连接是将两个表进行笛卡尔积运算,结果表是由第一个表的每行和第二个表的每行拼接
41、后形成的表。阶段1 带有IN谓词的子查询 当一个查询块嵌套在另一个查询块的查询条件之中时,称为嵌套查询。处于内层的查询称为子查询。当子查询的结果是一个集合时,使用IN谓词。小贴士:由关键字IN引入的子查询的SELECT后面只能有一个列名表达式,如果IN条件满足则返回结果,否则不返回结果。阶段1 带有IN谓词的子查询阶段2 带有比较运算符的子查询 带有比较运算符的子查询是指用比较运算符来连接父子两个查询。如果确切知道子查询的返回值结果只有一个值时,可以使用比较运算符。比较运算符包括ALL、ANY和SOME。本章小结 数据库的查询是数据库应用中最重要的操作,在SQL Server中通过SELECT
42、语句表达数据库查询,该语句是T-SQL语句的核心。使用SELECT语句可以进行基本的数据查询。使用SELECT语句可以查询数据表的指定列或者所有列、修改列名、计算列值、消除重复行、限制返回行数等。使用WHERE子句可以进行条件查询。使用ORDER BY子句可以对查询结果进行排序。使用GROUP BY子句可以将查询结果表按指定列的值分组。使用HAVING子句对分组统计后的数据进一步筛选。使用INTO子句可以把查询结果保存成一个新表。本章小结 在实际应用中有时候需要同时对多表进行查询。我们常用的多表查询方法有两种:连接查询和子查询。连接查询分为谓词连接查询和JOIN连接查询。子查询分为带有IN谓词
43、的子查询和带有比较运算符的子查询。本章小结 视图概述视图概述任务任务1创建视图创建视图任务任务2管理视图管理视图任务任务3索引概述索引概述任务任务4 创建索引创建索引任务任务5管理索引管理索引任务任务6任务1 视图概述阶段1 视图的基本概念 视图是从一个表或多个表导出的,是数据库的用户使用数据库的观点。视图和表的表现形式和使用方法都很相似。视图创建后,就可以像数据表一样被查询、修改、删除和更新,因此视图常 被称为虚表。但视图和表是截然不同的概念。视图中的数据不进行实际的存储,数据库存储的只有视图的定义。对视图进行数据操作的实质是数据库系统根据视图的定义操作与视图相关联的表。阶段1 视图的基本概
44、念阶段2 视图的优缺点视图的优点:1.简化查询和处理操作 2.简化结构 3.数据的安全性 4.直接汇总结果 5.数据的完整性 1.简化查询和处理操作 视图可以基于多个不同的数据表来创建,每次使用这些数据时只需要在视图内操作即可,不必再到数据表中进行查询和操作,重复一些不必要的查询语句。2.简化结构 无论数据存储在数据表中的什么位置,视图都可以使数据按照不同用户的要求任意地将其选择组合为虚表呈现给用户,并满足不同用户的需求,充分体现数据库的“个性化”操作。3.数据的安全性 在数据库系统中,不同类型的用户对数据库中数据的访问权限也不同。如果每个用户都可以随意访问数据内容,将给数据库的安全性带来极大
45、的隐患。而为不同的用户分别创建视图,使不同的用户只能访问特定的数据,则可以限定用户对数据的访问权限。4.直接汇总结果 使用视图可以直接从一个或多个数据表中汇总结果,并可以使用公式或函数等进行数据处理。5.数据的完整性 用户在通过视图访问或者更新数据时,数据库管理系统的相关部分会自动检查数据,确保预先设定的完整性约束。阶段2 视图的优缺点视图的缺点:当用户对视图的某些行进行修改时,SQL Server必须将此修改转换成对数据表的修改。如果视图比较简单,这样的数据修改是可行的。但如果视图比较复杂,例如是带有嵌套关系的视图,修改操作可能由于所有权链的破坏而无法进行。所以对于复杂的视图,其中的数据通常
46、被限定为“可读”。阶段2 视图的优缺点 阶段2 使用T-SQL语句创建视图 小贴士:定义视图的用户必须对所参照的表或视图有查询权限。SELECT语句可以是任何复杂的语句,但通常不允许包含ORDER BY子句和INTO子句。阶段1 数据的访问 SQL Server 2005提供了两种访问数据的方法。(1)表扫描法。(2)索引法。阶段3 索引的优缺点 索引的优点主要体现在以下两个方面。(1)大大加快数据的检索速度,这是创建索引最主要的原因。(2)加快表的连接、排序和分组工作。索引的缺陷也主要体现在两个方面。(1)创建索引和维护索引需要占用时间。这种时间随着数据量的增加而增加。(2)创建索引也需要占
47、用物理空间,每一个索引都需要占用一定的物理空间。(3)建立索引会降低数据的维护速度。阶段3 索引的优缺点 查看索引有两种方法。一种是使用sp_helpindex语句;一种是使用SQL Server Management Studio。修改索引只能在SQL Server Management Studio中实现。阶段1 查看和修改索引阶段1 查看和修改索引 使用SQL Server Management Studio查看或修改索引与创建索引是同一个界面。都是通过“索引/键”对话框来设置。使用sp_helpindex语句查看索引的格式如下:EXEC sp_helpindex 表名阶段2 删除索引
48、索引的删除可以通过使用SQL Server Management Studio和使用DROP语句两种方法来实现。小贴士:使用DROP语句删除索引时,不能删除由主键约束或唯一键约束创建的索引。这些索引都只能通过删除主键约束或唯一键约束,由系统自动删除。阶段2 删除索引 阶段3 更新索引 更新索引的方法也有两种。一种是使用SQL Server Management Studio设置索引信息自动更新;一种是使用UPDATE STATISTICS语句进行索引信息的更新。本章小结 视图是根据用户的需求而定义的从已有的表导出的虚表。它能够向用户隐藏复杂的数据结构,简化用户的数据查询操作,并且能保证数据的安
49、全性。用户可以像对数据表一样进行数据的查询、插入、更新和删除操作。在SQL Server 2005中,用户可以使用SQL Server Management Studio和T-SQL语句两种方法创建视图。视图的管理包括对视图的查询、修改和删除等操作。本章小结 索引是与数据表或视图关联的数据库对象。它可以加快数据的查询速度,也可以加快表的连接、排序和分组工作。但索引也具有一定的缺陷。索引的创建会占据一些时间和物理空间,降低数据的维护速度。本章小结 在SQL Server 2005中,用户也可以使用SQL Server Management Studio和T-SQL语句两种方法创建索引。索引创建完
50、成后,可以根据需要进行查看、修改、更新和删除索引等管理工作。本章小结 存储过程概述存储过程概述任务任务1存储过程的创建和管理存储过程的创建和管理任务任务2触发器概述触发器概述任务任务3创建和使用触发器创建和使用触发器任务任务4 修改和删除触发器修改和删除触发器任务任务5任务1 存储过程概述阶段1 存储过程的概念 存储过程是在SQL Server中定义的一组T-SQL程序。它们只需要编译一次,以后即可多次执行。存储过程可以执行范围很宽的各种操作与业务功能,例如插入、更新或者删除表中数据等。合理使用存储过程,可以有效地提高程序的性能。阶段2 存储过程的优点 在SQL Server中使用存储过程具有