版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SQL Server 2005基础教程基础教程2022年4月28日第1页第第4章章 管理数据库管理数据库 SQL Server 2005基础教程基础教程 清华大学出版社清华大学出版社教学目标教学过程SQL Server 2005基础教程基础教程2022年4月28日第2页教学目标教学目标l理解数据库的管理问题理解数据库的管理问题l理解数据库文件和文件组的基本特征理解数据库文件和文件组的基本特征l掌握数据库的物理存储方式和大小估算方法掌握数据库的物理存储方式和大小估算方法l使用使用CREATE DATABASE语句定义数据库语句定义数据库l理解数据库选项的作用和设置方式理解数据库选项的作用和设置方
2、式l理解扩大数据库的原因和方法理解扩大数据库的原因和方法l理解收缩数据库的原因和方法理解收缩数据库的原因和方法l掌握文件组的管理方式掌握文件组的管理方式l理解数据库快照的作用和特点理解数据库快照的作用和特点l掌握优化数据库设计的方法掌握优化数据库设计的方法SQL Server 2005基础教程基础教程2022年4月28日第3页教学过程教学过程4.1 概述概述 4.2 数据库文件和文件组的基本特征数据库文件和文件组的基本特征 4.3 定义数据库定义数据库4.4 修改数据库修改数据库4.5 管理数据库快照管理数据库快照4.6 其他相关操作其他相关操作4.7 优化数据库优化数据库SQL Server
3、 2005基础教程基础教程2022年4月28日第4页CREATE DATABASE语法格式语法格式CREATE DATABASE ON PRIMARY ,.n , ,.n LOG ON ,.n COLLATE collation_name WITH ; SQL Server 2005基础教程基础教程2022年4月28日第5页CREATE DATABASE语法格式语法格式 := ( NAME = logical_file_name , FILENAME = os_file_name , SIZE = size KB | MB | GB | TB , MAXSIZE = max_size KB |
4、 MB | GB | TB | UNLIMITED , FILEGROWTH = growth_increment KB | MB | GB | TB | % ) ,.n SQL Server 2005基础教程基础教程2022年4月28日第6页CREATE DATABASE语法格式语法格式 := FILEGROUP filegroup_name DEFAULT ,.n SQL Server 2005基础教程基础教程2022年4月28日第7页创建数据库创建数据库mytestUSE master; GO IF DB_ID (Nmytest) IS NOT NULL DROP DATABASE my
5、test; GO CREATE DATABASE mytest; GO SQL Server 2005基础教程基础教程2022年4月28日第8页A. 创建未指定文件的数据库创建未指定文件的数据库l以下示例创建名为以下示例创建名为 mytest 的数据库,并创建相的数据库,并创建相应的主文件和事务日志文件。应的主文件和事务日志文件。l因为语句没有因为语句没有 项,所以主数据库文件项,所以主数据库文件的大小为的大小为 model 数据库主文件的大小。数据库主文件的大小。l事务日志将设置为下列值中的较大者:事务日志将设置为下列值中的较大者:512 KB 或主数据文件大小的或主数据文件大小的 25%。
6、l因为没有指定因为没有指定 MAXSIZE,文件可以增大到填满,文件可以增大到填满所有可用的磁盘空间为止。所有可用的磁盘空间为止。SQL Server 2005基础教程基础教程2022年4月28日第9页lON 显式定义用来存储数据库数据部分的磁盘文件显式定义用来存储数据库数据部分的磁盘文件(数据文件)。(数据文件)。 每个数据库至少有两个文件(一个主文件和一每个数据库至少有两个文件(一个主文件和一个事务日志文件)和一个文件组。个事务日志文件)和一个文件组。SQL Server 2005基础教程基础教程2022年4月28日第10页CREATE DATABASE SalesON ( NAME =
7、Sales_dat, FILENAME = c:saledat.mdf, SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 )LOG ON( NAME = Sales_log, FILENAME = c:salelog.ldf, SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB )B. 创建指定数据和事务日志文件的数据库创建指定数据和事务日志文件的数据库SalesSQL Server 2005基础教程基础教程2022年4月28日第11页l因为没有使用关键字因为没有使用关键字 PRIMARY,第一个文件,第一个文件 (Sale
8、s_dat) 将成为主文件。将成为主文件。l因为在因为在 Sales_dat 文件的文件的 SIZE 参数中没有指定参数中没有指定 MB 或或 KB,将使用,将使用 MB 并按并按 MB 分配。分配。lSales_log 文件以文件以 MB 为单位进行分配,因为为单位进行分配,因为 SIZE 参数中显式声明了参数中显式声明了 MB 后缀。后缀。 B. 创建指定数据和事务日志文件的数据库创建指定数据和事务日志文件的数据库SalesSQL Server 2005基础教程基础教程2022年4月28日第12页lON 可以为每个数据库指定最多可以为每个数据库指定最多 32,767 个文件和个文件和 32
9、,767 个文件组。个文件组。 后面是以逗号分隔的数据文件的后面是以逗号分隔的数据文件的 项项列表。列表。SQL Server 2005基础教程基础教程2022年4月28日第13页C. 指定多个数据和事务日志文件创建数据库指定多个数据和事务日志文件创建数据库l以下示例创建数据库以下示例创建数据库 Archive,该数据库具有三,该数据库具有三个个 100MB 数据文件和两个数据文件和两个 100MB 事务日志文件。事务日志文件。l主文件是列表中的第一个文件,并使用主文件是列表中的第一个文件,并使用 PRIMARY 关键字显式指定。关键字显式指定。l事务日志文件在事务日志文件在 LOG ON 关
10、键字后指定。关键字后指定。l请注意用于请注意用于 FILENAME 选项中各文件的扩展名:选项中各文件的扩展名: .mdf 用于主数据文件,用于主数据文件, .ndf 用于辅助数据文件,用于辅助数据文件, .ldf 用于事务日志文件。用于事务日志文件。SQL Server 2005基础教程基础教程2022年4月28日第14页创建数据库创建数据库ArchiveCREATE DATABASE Archive ONPRIMARY (NAME = Arch1, FILENAME = c:archdat1.mdf, SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20
11、), ( NAME = Arch2, FILENAME = c:archdat2.ndf, SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20), ( NAME = Arch3, FILENAME = c: archdat3.ndf, SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20)LOG ON (NAME = Archlog1, FILENAME = c: archlog1.ldf, SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20), (NAME = Archlog2,
12、FILENAME = c: ldf, SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20)SQL Server 2005基础教程基础教程2022年4月28日第15页lON 主文件组的文件列表可后跟以逗号分隔的、用主文件组的文件列表可后跟以逗号分隔的、用以定义用户文件组及其文件的以定义用户文件组及其文件的 项项列表(可选)。列表(可选)。SQL Server 2005基础教程基础教程2022年4月28日第16页D. 创建具有文件组的数据库创建具有文件组的数据库以下示例创建数据库以下示例创建数据库 Sales,具有以下文件组:,具有以下文件组: l包含文件包含
13、文件 Spri1_dat 和和 Spri2_dat 的主文件组;的主文件组;将这些文件的将这些文件的 FILEGROWTH 增量指定为增量指定为 15%。l包含文件包含文件 SGrp1Fi1 和和 SGrp1Fi2的文件组的文件组SalesGroup1 。l包含文件包含文件 SGrp2Fi1 和和 SGrp2Fi2的文件组的文件组SalesGroup2 。 SQL Server 2005基础教程基础教程2022年4月28日第17页创建数据库创建数据库SalesCREATE DATABASE SalesON PRIMARY( NAME = SPri1_dat, FILENAME = c: SPr
14、i1dat.mdf, SIZE = 10, MAXSIZE = 50, FILEGROWTH = 15% ),( NAME = SPri2_dat, FILENAME = c: SPri2dt.ndf, SIZE = 10, MAXSIZE = 50, FILEGROWTH = 15% ),FILEGROUP SalesGroup1( NAME = SGrp1Fi1_dat, FILENAME = c: SG1Fi1dt.ndf, SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ),( NAME = SGrp1Fi2_dat, FILENAME = c: SG1
15、Fi2dt.ndf, SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ),FILEGROUP SalesGroup2( NAME = SGrp2Fi1_dat, FILENAME = c: SG2Fi1dt.ndf, SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ),( NAME = SGrp2Fi2_dat, FILENAME = c: SG2Fi2dt.ndf, SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 )LOG ON( NAME = Sales_log, FILENAME = c: s
16、alelog.ldf, SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB )SQL Server 2005基础教程基础教程2022年4月28日第18页数据库文件和文件组的基本特征数据库文件和文件组的基本特征 l一个数据库至少有一个数据文件和一个事务日志一个数据库至少有一个数据文件和一个事务日志文件文件 l数据文件又可以分成主数据文件和次数据文件两数据文件又可以分成主数据文件和次数据文件两种形式种形式 l文件组就是文件的逻辑集合。为了方便数据的管文件组就是文件的逻辑集合。为了方便数据的管理和分配,文件组可以把一些指定的文件组合在理和分配,文件组可以把一些指
17、定的文件组合在一起。一起。 SQL Server 2005基础教程基础教程2022年4月28日第19页管理文件组管理文件组 l文件组是数据库数据文件的逻辑组合,它可以对数文件组是数据库数据文件的逻辑组合,它可以对数据文件进行管理和分配,以便提高数据库文件的并据文件进行管理和分配,以便提高数据库文件的并发使用效率。发使用效率。lTransact-SQL语言没有提供独立的管理文件组的语言没有提供独立的管理文件组的命令,只能通过命令,只能通过ALTER DATABASE语句提供了管语句提供了管理文件组的命令。理文件组的命令。l这些管理文件组的命令包括新建文件组、设置默认这些管理文件组的命令包括新建文
18、件组、设置默认的文件组、设置文件组的属性、修改文件组、删除的文件组、设置文件组的属性、修改文件组、删除文件组等。文件组等。SQL Server 2005基础教程基础教程2022年4月28日第20页CREATE TABLECREATE TABLE ( | ,.n ) ON partition_scheme_name ( partition_column_name ) | filegroup | default TEXTIMAGE_ON filegroup | default ; SQL Server 2005基础教程基础教程2022年4月28日第21页 := column_name NULL |
19、 NOT NULL CONSTRAINT constraint_name DEFAULT constant_expression | IDENTITY ( seed ,increment ) .n SQL Server 2005基础教程基础教程2022年4月28日第22页column_constraint := CONSTRAINT constraint_name PRIMARY KEY | UNIQUE CLUSTERED | NONCLUSTERED | FOREIGN KEY REFERENCES referenced_table_name ( ref_column ) ON DELET
20、E NO ACTION | CASCADE | SET NULL | SET DEFAULT ON UPDATE NO ACTION | CASCADE | SET NULL | SET DEFAULT NOT FOR REPLICATION | CHECK NOT FOR REPLICATION ( logical_expression ) SQL Server 2005基础教程基础教程2022年4月28日第23页表的类型表的类型 l在在Microsoft SQL Server 2005系统中,按系统中,按照表的作用,可以把表分为照表的作用,可以把表分为4种类型,即种类型,即 普通表普通表
21、已分区表已分区表 临时表临时表 系统表系统表l每一种类型的表都有自己的作用和特点。每一种类型的表都有自己的作用和特点。SQL Server 2005基础教程基础教程2022年4月28日第24页6.4 已分区表已分区表l如果一个表中包含了大量的、以多种不同方式使如果一个表中包含了大量的、以多种不同方式使用的数据,且一般地查询不能按照预期的成本完用的数据,且一般地查询不能按照预期的成本完成,那么应该考虑使用已分区表。成,那么应该考虑使用已分区表。l已分区表是指按照数据水平方式分区,将数据分已分区表是指按照数据水平方式分区,将数据分布于一个数据库的多个不同的文件组中。在对数布于一个数据库的多个不同的
22、文件组中。在对数据进行查询或更新时,这些已分区表将被视为独据进行查询或更新时,这些已分区表将被视为独立的逻辑单元。立的逻辑单元。l注意:只有注意:只有Microsoft SQL Server 2005企业版企业版支持已分区功能。支持已分区功能。SQL Server 2005基础教程基础教程2022年4月28日第25页分区函数和分区方案分区函数和分区方案l在对表进行分区之前,必须考虑如何创建在对表进行分区之前,必须考虑如何创建分区函数和分区方案。分区函数和分区方案。l分区函数定义如何根据某些列中的值将表分区函数定义如何根据某些列中的值将表中的数据行映射到一组分区中的数据行映射到一组分区l分区方案
23、则将分区函数指定的分区映射到分区方案则将分区函数指定的分区映射到文件组中。文件组中。SQL Server 2005基础教程基础教程2022年4月28日第26页4.1 概述概述l为了有效地实现数据库的管理工作,我们必须至为了有效地实现数据库的管理工作,我们必须至少解决少解决8个方面的问题,这些问题包括个方面的问题,这些问题包括 数据库文件的存储问题数据库文件的存储问题 数据库的大小问题数据库的大小问题 确定数据库运行时的行为特征确定数据库运行时的行为特征 数据库的更改问题数据库的更改问题 数据库的扩大问题数据库的扩大问题 数据库的收缩问题数据库的收缩问题 如何兼顾数据库的事务处理效率和决策支持效
24、率问题如何兼顾数据库的事务处理效率和决策支持效率问题 数据库的性能优化问题等。数据库的性能优化问题等。SQL Server 2005基础教程基础教程2022年4月28日第27页4.3 定义数据库定义数据库l定义数据库就是创建数据库和设置数据库定义数据库就是创建数据库和设置数据库选项。选项。 l本节从三个方面讲述定义数据库:创建数本节从三个方面讲述定义数据库:创建数据库、设置数据库选项和查看数据库信息。据库、设置数据库选项和查看数据库信息。SQL Server 2005基础教程基础教程2022年4月28日第28页创建数据库创建数据库 l创建数据库就是确定数据库名称、文件名称、数据文件大创建数据库
25、就是确定数据库名称、文件名称、数据文件大小、数据库的字符集、是否自动增长以及如何自动增长等小、数据库的字符集、是否自动增长以及如何自动增长等信息的过程。在一个信息的过程。在一个Microsoft SQL Server实例中,最多实例中,最多可以创建可以创建32767个数据库。数据库的名称必须满足系统的个数据库。数据库的名称必须满足系统的标识符规则。在命名数据库时,一定要使数据库名称简短标识符规则。在命名数据库时,一定要使数据库名称简短和有一定的含义。和有一定的含义。l具有具有CREATE DATABASE、CREATE ANY DATABASE或或ALTER ANY DATABASE权限的用户
26、才可以执行创建权限的用户才可以执行创建数据库的操作。数据库的操作。l在在Microsoft SQL Server系统中,既可以使用系统中,既可以使用CREATE DATABASE语句创建数据库,也可以使用语句创建数据库,也可以使用SQL Server Management Studio工具创建数据库。下面,主要介绍工具创建数据库。下面,主要介绍如何使用如何使用CREATE DATABASE语句创建数据库。语句创建数据库。 SQL Server 2005基础教程基础教程2022年4月28日第29页数据的状态和选项数据的状态和选项 l为了理解数据库的运行特征,需要了解数据库的为了理解数据库的运行特
27、征,需要了解数据库的状态和选项。下面分别介绍数据库的状态和选项。状态和选项。下面分别介绍数据库的状态和选项。l数据库总是存在某个特定的状态中,例如,数据库总是存在某个特定的状态中,例如,ONLINE状态表示数据库处于正常的在线状态,状态表示数据库处于正常的在线状态,可以对数据库执行正常的操作。数据库的状态清可以对数据库执行正常的操作。数据库的状态清单和特征描述如表单和特征描述如表4-1所示。所示。l设置数据库选项是定义数据库状态或特征的方式。设置数据库选项是定义数据库状态或特征的方式。在在Microsoft SQL Server 2005系统中,共有大系统中,共有大约约40个数据库选项,这些选
28、项可以分为个数据库选项,这些选项可以分为13个类型。个类型。数据库选项清单和功能描述如表数据库选项清单和功能描述如表4-2所示。所示。 SQL Server 2005基础教程基础教程2022年4月28日第30页查看数据库信息查看数据库信息 l在在Microsoft SQL Server 2005系统中,可以使用一些目系统中,可以使用一些目录视图、函数、存储过程查看有关数据库的基本信息。录视图、函数、存储过程查看有关数据库的基本信息。lsys.databases数据库和文件目录视图可以查看有关数据数据库和文件目录视图可以查看有关数据库的基本信息,库的基本信息,sys.database_files
29、可以查看有关数据库可以查看有关数据库文件的信息,文件的信息,sys.filegroups可以查看有关数据库文件组可以查看有关数据库文件组的信息,的信息,sys.master_files可以查看数据库文件的基本信可以查看数据库文件的基本信息和状态信息。息和状态信息。lDATABASEPROPERTYEX函数可以查看指定数据库的函数可以查看指定数据库的指定选项的信息,一次只能返回一个选项的设置。见代码指定选项的信息,一次只能返回一个选项的设置。见代码 SQL Server 2005基础教程基础教程2022年4月28日第31页4.4 修改数据库修改数据库 l数据库创建之后,根据需要,可以使用数据库创
30、建之后,根据需要,可以使用ALTER DATABASE语句对数据库进行修语句对数据库进行修改。改。l除了前面讲过的设置数据库选项之外,修除了前面讲过的设置数据库选项之外,修改操作还包括更改数据库名称、扩大数据改操作还包括更改数据库名称、扩大数据库、收缩数据库、修改数据库文件、管理库、收缩数据库、修改数据库文件、管理数据库文件组、修改字符排列规则等。数据库文件组、修改字符排列规则等。l下面详细讨论这些内容。下面详细讨论这些内容。SQL Server 2005基础教程基础教程2022年4月28日第32页更改数据库名称更改数据库名称 l数据库创建之后,一般情况下不要更改数据库的数据库创建之后,一般情
31、况下不要更改数据库的名称,因为许多应用程序都可能使用了该数据库名称,因为许多应用程序都可能使用了该数据库的名称。数据库名称更改之后,需要修改相应的的名称。数据库名称更改之后,需要修改相应的应用程序。但是,如果确实需要更改数据库名称,应用程序。但是,如果确实需要更改数据库名称,也可以使用也可以使用ALTER DATABASE语句做到。语句做到。l使用使用ALTER DATABASE语句更改数据库名称的语句更改数据库名称的语法形式如下所示:语法形式如下所示: ALTER DATABASE database_name MODIFY NAME = new_database_name 见代码见代码SQL
32、 Server 2005基础教程基础教程2022年4月28日第33页扩大数据库扩大数据库 l在在Microsoft SQL Server系统中,如果数系统中,如果数据库的数据量不断膨胀,可以根据需要扩据库的数据量不断膨胀,可以根据需要扩大数据库的尺寸。大数据库的尺寸。l有三种扩大数据库的方式。见代码:有三种扩大数据库的方式。见代码: 第一种方式是设置数据库为自动增长方式,可第一种方式是设置数据库为自动增长方式,可以在创建数据库时设置。以在创建数据库时设置。 第二种方式是直接修改数据库的数据文件或日第二种方式是直接修改数据库的数据文件或日志文件的大小志文件的大小 第三种方式是在数据库中增加新的次
33、要数据文第三种方式是在数据库中增加新的次要数据文件或日志文件。件或日志文件。SQL Server 2005基础教程基础教程2022年4月28日第34页收缩数据库收缩数据库 l如果数据库的设计尺寸过大了,或者删除了数据库中的大如果数据库的设计尺寸过大了,或者删除了数据库中的大量数据,这时数据库会白白耗费大量的磁盘资源。根据用量数据,这时数据库会白白耗费大量的磁盘资源。根据用户的实际需要,可以收缩数据库的大小。户的实际需要,可以收缩数据库的大小。l在在Microsoft SQL Server系统中,有三种收缩数据库的方系统中,有三种收缩数据库的方式。见代码式。见代码 第一种方式是设置数据库为自动收
34、缩,这可以通过设置第一种方式是设置数据库为自动收缩,这可以通过设置AUTO_SHRINK数据库选项实现。数据库选项实现。 第二种方式是收缩整个数据库的大小,这可以通过使用第二种方式是收缩整个数据库的大小,这可以通过使用DBCC SHRINKDATABASE命令完成。命令完成。 第三种方式是收缩指定的数据文件,这可以使用第三种方式是收缩指定的数据文件,这可以使用DBCC SHRIKNFILE命令实现。除了这些命令方式之外,也可以使用命令实现。除了这些命令方式之外,也可以使用SQL Server Management Studio工具来收缩数据库。工具来收缩数据库。SQL Server 2005基
35、础教程基础教程2022年4月28日第35页修改数据库文件修改数据库文件 l用户可以根据需要使用用户可以根据需要使用ALTER DATABASE语句修改数据库中指定的文件。语句修改数据库中指定的文件。这些修改操作包括增加数据文件、在指定这些修改操作包括增加数据文件、在指定的文件组中增加指定文件、增加日志文件、的文件组中增加指定文件、增加日志文件、删除指定的文件、修改指定的文件等。增删除指定的文件、修改指定的文件等。增加数据文件、修改指定的文件等操作已经加数据文件、修改指定的文件等操作已经讲过了,下面通过一些示例讲述有关数据讲过了,下面通过一些示例讲述有关数据库文件的其他操作。库文件的其他操作。S
36、QL Server 2005基础教程基础教程2022年4月28日第36页4.5 管理数据库快照管理数据库快照l数据库快照提供了源数据库在创建快照时数据库快照提供了源数据库在创建快照时刻的只读、静态视图。数据库快照可以有刻的只读、静态视图。数据库快照可以有效地支持报表数据汇总、数据分析等只读效地支持报表数据汇总、数据分析等只读操作。数据库快照也是操作。数据库快照也是Microsoft SQL Server 2005系统的一个显著特征。系统的一个显著特征。l如果源数据库中包含了未提交事务,那么如果源数据库中包含了未提交事务,那么这些事务不包含在数据库快照中。需要说这些事务不包含在数据库快照中。需要
37、说明的是,数据库快照必须与源数据库在同明的是,数据库快照必须与源数据库在同一个服务器实例上。一个服务器实例上。SQL Server 2005基础教程基础教程2022年4月28日第37页4.6 其他相关操作其他相关操作l除了前面讲述的数据库操作之外,数据库除了前面讲述的数据库操作之外,数据库管理操作还包括管理操作还包括 分离数据库分离数据库 附加数据库附加数据库 删除数据库删除数据库l下面讨论这些操作。下面讨论这些操作。SQL Server 2005基础教程基础教程2022年4月28日第38页4.7 优化数据库优化数据库l在创建数据库时,有两个基本目标:提高数据库在创建数据库时,有两个基本目标:
38、提高数据库的性能和提高数据库的可靠性。提高数据库的性的性能和提高数据库的可靠性。提高数据库的性能就是提高操纵数据库的速度。能就是提高操纵数据库的速度。l提高数据库的可靠性就是数据库中某个文件破坏提高数据库的可靠性就是数据库中某个文件破坏之后,数据库依然可以正常使用的能力。之后,数据库依然可以正常使用的能力。l一般地,可以通过选择如何放置数据文件和日志一般地,可以通过选择如何放置数据文件和日志文件、如何使用文件组、如何使用文件、如何使用文件组、如何使用RAID等技术来等技术来优化数据库和数据库文件。优化数据库和数据库文件。SQL Server 2005基础教程基础教程2022年4月28日第39页
39、第第5章章 Transact-SQL语言语言 SQL Server 2005基础教程基础教程 清华大学出版社清华大学出版社教学目标教学过程SQL Server 2005基础教程基础教程2022年4月28日第40页教学目标教学目标l理解理解Transact-SQL语言和语言和SQL语言之间的关语言之间的关系系l理解理解Transact-SQL语言的特点和执行方式语言的特点和执行方式l理解数据定义语言的类型和特点理解数据定义语言的类型和特点l理解数据操纵语言的类型和特点理解数据操纵语言的类型和特点l理解数据控制语言的类型和特点理解数据控制语言的类型和特点l理解事务管理语言的类型和特点理解事务管理语
40、言的类型和特点l理解附加语言元素的类型和特点理解附加语言元素的类型和特点SQL Server 2005基础教程基础教程2022年4月28日第41页教学过程教学过程5.1 概述概述5.2 Transact-SQL语言的特点和执行方式语言的特点和执行方式5.3 数据定义语言数据定义语言5.4 数据操纵语言数据操纵语言5.5 数据控制语言数据控制语言5.6 事务管理语言事务管理语言5.7 附加的语言元素附加的语言元素5.8 数据类型数据类型5.9 内置函数内置函数SQL Server 2005基础教程基础教程2022年4月28日第42页5.1 概述概述lTransact-SQL语言是微软公司在语言是
41、微软公司在Microsoft SQL Server系统中使用的语言,是对系统中使用的语言,是对SQL语言的一种语言的一种扩展形式。扩展形式。lTransact-SQL语言有语言有4个特点:一是一体化的特个特点:一是一体化的特点,集数据定义语言、数据操纵语言、数据控制点,集数据定义语言、数据操纵语言、数据控制语言、事务管理语言和附加语言元素为一体。二语言、事务管理语言和附加语言元素为一体。二是有两种使用方式,即交互使用方式和嵌入到高是有两种使用方式,即交互使用方式和嵌入到高级语言中的使用方式。三是非过程化语言,只需级语言中的使用方式。三是非过程化语言,只需要提出要提出“干什么干什么”,不需要指出
42、,不需要指出“如何干如何干”,语,语句的操作过程由系统自动完成。四是,类似于人句的操作过程由系统自动完成。四是,类似于人的思维习惯,容易理解和掌握。的思维习惯,容易理解和掌握。SQL Server 2005基础教程基础教程2022年4月28日第43页5.2 Transact-SQL语言的特点和执语言的特点和执行方式行方式 l在在Microsoft SQL Server 2005系统中,根据系统中,根据Transact-SQL语言的功能特点,可以把语言的功能特点,可以把Transact-SQL语言分为语言分为5种类型,即数据定义语种类型,即数据定义语言、数据操纵语言、数据控制语言、事务管理语言、
43、数据操纵语言、数据控制语言、事务管理语言和附加的语言元素。言和附加的语言元素。l在在Microsoft SQL Server 2005系统中,主要使系统中,主要使用用SQL Server Management Studio工具来执行工具来执行Transact-SQL语言编写的查询语句。除此之外,语言编写的查询语句。除此之外,还可以使用还可以使用sqlcmd实用工具来执行实用工具来执行Transact-SQL语句。语句。 SQL Server 2005基础教程基础教程2022年4月28日第44页5.3 数据定义语言数据定义语言l数据定义语言用于创建数据库和数据库对数据定义语言用于创建数据库和数据
44、库对象,为数据库操作提供对象。例如,数据象,为数据库操作提供对象。例如,数据库以及表、触发器、存储过程、视图、索库以及表、触发器、存储过程、视图、索引、函数、类型、用户等都是数据库中的引、函数、类型、用户等都是数据库中的对象,都需要通过定义才能使用。在对象,都需要通过定义才能使用。在DDL中,主要的中,主要的Transact-SQL语句包括语句包括CREATE语句、语句、ALTER语句、语句、DROP语句。语句。l见代码见代码SQL Server 2005基础教程基础教程2022年4月28日第45页5.4 数据操纵语言数据操纵语言l数据操纵语言主要是用于操纵表、视图中数据的数据操纵语言主要是用
45、于操纵表、视图中数据的语句。当我们创建表对象之后,初始状态时该表语句。当我们创建表对象之后,初始状态时该表是空的,没有任何数据。如何向表中添加数据呢?是空的,没有任何数据。如何向表中添加数据呢?这时需要使用这时需要使用INSERT语句。如何检索表中数据语句。如何检索表中数据呢?可以使用呢?可以使用SELECT语句。如果表中数据不正语句。如果表中数据不正确的,那么可以使用确的,那么可以使用UPDATE语句进行更新。当语句进行更新。当然,也可以使用然,也可以使用DELETE语句删除表中的数据。语句删除表中的数据。实际上,实际上,DML语言正是包括了语言正是包括了INSERT、SELECT、UPDA
46、TE、DELETE等语句。见代码等语句。见代码SQL Server 2005基础教程基础教程2022年4月28日第46页5.5 数据控制语言数据控制语言l数据控制语言数据控制语言(DCL)主要用来执行有关安全主要用来执行有关安全管理的操作,该语言主要包括管理的操作,该语言主要包括GRANT语句、语句、REVOKE语句和语句和DENY语句。语句。GRANT语句语句可以将指定的安全对象的权限授予相应的可以将指定的安全对象的权限授予相应的主体,主体,REVOKE语句则删除授予的权限,语句则删除授予的权限,DENY语句拒绝授予主体权限,并且防止主语句拒绝授予主体权限,并且防止主体通过组或角色成员继承权
47、限。体通过组或角色成员继承权限。SQL Server 2005基础教程基础教程2022年4月28日第47页5.6 事务管理语言事务管理语言l在在Microsoft SQL Server系统中,可以使用系统中,可以使用BEGIN TRANSACTION、COMMIT TRANSACTION、ROLLBACK TRANSACTION等事务管理语言等事务管理语言(TML)语句来管理显式事务。语句来管理显式事务。l其中,其中,BEGIN TRANSACTION语句用于明确地语句用于明确地定义事务的开始,定义事务的开始,COMMIT TRANSACTION语句语句用于明确地提交完成的事务。用于明确地提交
48、完成的事务。l如果事务中出现了错误,那么可以使用如果事务中出现了错误,那么可以使用ROLLBACK TRANSACTION语句明确地取消定语句明确地取消定义的事务。见代码义的事务。见代码SQL Server 2005基础教程基础教程2022年4月28日第48页5.7 附加的语言元素附加的语言元素l除了前面介绍的语句之外,除了前面介绍的语句之外,Transact-SQL语言还包括了附加的语言元素。这些附加语言还包括了附加的语言元素。这些附加的语言元素主要包括标识符、变量和常量、的语言元素主要包括标识符、变量和常量、运算符、表达式、数据类型、函数、控制运算符、表达式、数据类型、函数、控制流语言、错
49、误处理语言、注释等。流语言、错误处理语言、注释等。l下面,详细研究这些内容。下面,详细研究这些内容。SQL Server 2005基础教程基础教程2022年4月28日第49页标识符标识符 l在在Transact-SQL语言中,数据库对象的名称就是语言中,数据库对象的名称就是其标识符。在其标识符。在Microsoft SQL Server系统中,所系统中,所有的数据库对象都可以有标识符,例如服务器、有的数据库对象都可以有标识符,例如服务器、数据库、表、视图、索引、触发器、约束等。大数据库、表、视图、索引、触发器、约束等。大多数对象的标识符是必须的,例如,创建表时必多数对象的标识符是必须的,例如,
50、创建表时必须为表指定标识符。但是,也有一些对象的标识须为表指定标识符。但是,也有一些对象的标识符是可选的,例如,创建约束时用户可以不提供符是可选的,例如,创建约束时用户可以不提供标识符,其标识符由系统自动生成。标识符,其标识符由系统自动生成。l按照标识符的使用方式,可以把这些标识符分为按照标识符的使用方式,可以把这些标识符分为常规标识符和分割标识符两种类型。常规标识符和分割标识符两种类型。 SQL Server 2005基础教程基础教程2022年4月28日第50页变量和常量变量和常量 l在在Microsoft SQL Server 2005系统中,变系统中,变量也被称为局部变量,是可以保存单个
51、特量也被称为局部变量,是可以保存单个特定类型数据值的对象。定类型数据值的对象。 l常量是表示特定数据值的符号,常量也被常量是表示特定数据值的符号,常量也被称为字面量。常量的格式取决于它所表示称为字面量。常量的格式取决于它所表示的值的数据类型。的值的数据类型。 见代码见代码SQL Server 2005基础教程基础教程2022年4月28日第51页运算符运算符 l运算符是一种符号,用来指定要在一个或运算符是一种符号,用来指定要在一个或多个表达式中执行的操作。多个表达式中执行的操作。l在在Microsoft SQL Server 2005系统中,可系统中,可以使用的运算符可以分为算术运算符、逻以使用
52、的运算符可以分为算术运算符、逻辑运算符、赋值运算符、字符串串联运算辑运算符、赋值运算符、字符串串联运算符、按位运算符、一元运算符、比较运算符、按位运算符、一元运算符、比较运算符等。符等。SQL Server 2005基础教程基础教程2022年4月28日第52页表达式表达式 l在在Transact-SQL语言中,表达式是由标识语言中,表达式是由标识符、变量、常量、标量函数、子查询、运符、变量、常量、标量函数、子查询、运算符等的组合。在算符等的组合。在Microsoft SQL Server 2005系统中,表达式可以在多个不同的位系统中,表达式可以在多个不同的位置使用,这些位置包括查询中检索数据
53、的置使用,这些位置包括查询中检索数据的一部分、搜索数据的条件等。一部分、搜索数据的条件等。l表达式可以分为简单表达式和复杂表达式表达式可以分为简单表达式和复杂表达式两种类型。两种类型。 SQL Server 2005基础教程基础教程2022年4月28日第53页控制流语言控制流语言 l一般地,结构化程序设计语言的基本结构是顺序一般地,结构化程序设计语言的基本结构是顺序结构、条件分支结构和循环结构。顺序结构是一结构、条件分支结构和循环结构。顺序结构是一种自然结构,条件分支结构和循环结构都需要根种自然结构,条件分支结构和循环结构都需要根据程序的执行状况对程序的执行顺序进行调整。据程序的执行状况对程序
54、的执行顺序进行调整。l在在Transact-SQL语言中,用于控制语句流的语言语言中,用于控制语句流的语言被称为控制流语言。被称为控制流语言。Microsoft SQL Server 2005系统提供了系统提供了8种控制流语句,这些语句如表种控制流语句,这些语句如表5-7所示。见代码,但不能执行所示。见代码,但不能执行SQL Server 2005基础教程基础教程2022年4月28日第54页错误捕捉语言错误捕捉语言 l为了增强程序的健壮性,必须对程序中可为了增强程序的健壮性,必须对程序中可能出现的错误进行及时地处理。能出现的错误进行及时地处理。l在在Transact-SQL语言中,可以使用两种
55、方语言中,可以使用两种方式处理发生的错误:使用式处理发生的错误:使用TRYCATCH构构造和使用造和使用ERROR函数。函数。SQL Server 2005基础教程基础教程2022年4月28日第55页注释注释 l所有的程序设计语言都有注释。注释是程所有的程序设计语言都有注释。注释是程序代码中不执行的文本字符串,用于对代序代码中不执行的文本字符串,用于对代码进行说明或暂时仅用正在进行诊断的部码进行说明或暂时仅用正在进行诊断的部分语句。一般地,注释主要描述程序名称、分语句。一般地,注释主要描述程序名称、作者名称、变量说明、代码更改日期、算作者名称、变量说明、代码更改日期、算法描述等。法描述等。l在
56、在Microsoft SQL Server系统中,支持两系统中,支持两种注释方式,即双连字符种注释方式,即双连字符(-)注释方式和正注释方式和正斜杠星号字符对斜杠星号字符对(/*/)注释方式。见代码注释方式。见代码SQL Server 2005基础教程基础教程2022年4月28日第56页5.8 数据类型数据类型l本节将从六个方面研究本节将从六个方面研究Transact-SQL语言语言的数据类型。首先,分析数据类型的概念、的数据类型。首先,分析数据类型的概念、特点和主要类型。然后,讲述数字数据类特点和主要类型。然后,讲述数字数据类型的主要内容和特点。之后,描述字符数型的主要内容和特点。之后,描述
57、字符数据类型的使用方式。接下来,研究日期和据类型的使用方式。接下来,研究日期和时间数据类型的输入输出特点。接着,分时间数据类型的输入输出特点。接着,分析二进制数据类型的特点。最后,讲述其析二进制数据类型的特点。最后,讲述其他数据类型的内容和特点。他数据类型的内容和特点。SQL Server 2005基础教程基础教程2022年4月28日第57页数据类型的类型和特点数据类型的类型和特点 l在在Microsoft SQL Server 2005系统中,需要使系统中,需要使用数据类型的对象包括:表中的列、视图中的列、用数据类型的对象包括:表中的列、视图中的列、定义的局部变量、存储过程中的参数、定义的局
58、部变量、存储过程中的参数、Transact-SQL函数、存储过程的返回值等。函数、存储过程的返回值等。lMicrosoft SQL Server 2005系统提供了系统提供了28种数种数据类型。这些数据类型可以分为数字数据类型、据类型。这些数据类型可以分为数字数据类型、字符数据类型、日期和时间数据类型、二进制数字符数据类型、日期和时间数据类型、二进制数据类型以及其他数据类型。据类型以及其他数据类型。SQL Server 2005基础教程基础教程2022年4月28日第58页数字数据类型数字数据类型 l使用数字数据的数据类型被称为数字数据类型。使用数字数据的数据类型被称为数字数据类型。这些数据类型
59、的数字可以参加各种数学运算。我这些数据类型的数字可以参加各种数学运算。我们还可以为这些数据类型继续进行分类。们还可以为这些数据类型继续进行分类。l从这些数字是否有小数,可以把这些数据类型分从这些数字是否有小数,可以把这些数据类型分为整数类型和小数类型。为整数类型和小数类型。l从这些数字的精度和位数是否可以明确地确定,从这些数字的精度和位数是否可以明确地确定,可以把这些数据类型分为精确数字类型和近似数可以把这些数据类型分为精确数字类型和近似数字类型。字类型。l从是否可以表示金额,可以分为货币数字类型和从是否可以表示金额,可以分为货币数字类型和非货币数字类型。非货币数字类型。 SQL Server
60、 2005基础教程基础教程2022年4月28日第59页 字符数据类型字符数据类型 l字符数据类型用于存储固定长度或可变长字符数据类型用于存储固定长度或可变长度的字符数据。度的字符数据。l在在Microsoft SQL Server 2005系统中,提系统中,提供了供了CHAR、VARCHAR、TEXT、NCHAR、NVARCHAR、NTEXT等等6种数种数据类型。前据类型。前3种数据类型是非种数据类型是非Unicode字符字符数据,后数据,后3种是种是Unicode字符数据。字符数据。SQL Server 2005基础教程基础教程2022年4月28日第60页时间和日期数据类型时间和日期数据类型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 年中考化学一轮专题复习(甘肃)第十单元常见的酸碱盐专题溶液的酸碱性常见的酸和碱
- 《机电设备装调》-第一、二章
- 2025-2030家电制造产业市场发展分析及用户体验与管理策略研究报告
- 2025-2030家电制造业市场潜力分析及发展趋势研究报告
- 职场新人时间管理与高效工作策略
- 2025-2030家族企业传承管理与治理结构优化分析报告
- 2025-2030家居装饰材料市场供需平衡分析及发展投资评估规划研究报告
- 2025-2030家居用品床上用品床垫行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030家居建材零售行业市场深度调研及发展趋势与投资战略研究报告
- 工程弃标函范本及注意事项
- 土石方土方运输方案设计
- 2025年压力容器作业证理论全国考试题库(含答案)
- 肛肠科进修汇报
- 电网技术改造及检修工程定额和费用计算规定2020 年版答疑汇编2022
- NB-T31007-2011风电场工程勘察设计收费标准
- 2022版科学课程标准解读-面向核心素养的科学教育(课件)
- 上海市静安区2024届高三二模语文试卷(解析版)
- 玉米地膜覆盖栽培技术
- 使用钉钉的方案
- 广西丰联铜业有限公司铜精矿“保税混矿”项目环境影响评价报告表
- DB51-T 5046-2014 混凝土结构工程施工工艺规程
评论
0/150
提交评论