SQL Server 安装及其XML应用.docx

上传人:b****8 文档编号:9905118 上传时间:2023-02-07 格式:DOCX 页数:14 大小:675.95KB
下载 相关 举报
SQL Server 安装及其XML应用.docx_第1页
第1页 / 共14页
SQL Server 安装及其XML应用.docx_第2页
第2页 / 共14页
SQL Server 安装及其XML应用.docx_第3页
第3页 / 共14页
SQL Server 安装及其XML应用.docx_第4页
第4页 / 共14页
SQL Server 安装及其XML应用.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

SQL Server 安装及其XML应用.docx

《SQL Server 安装及其XML应用.docx》由会员分享,可在线阅读,更多相关《SQL Server 安装及其XML应用.docx(14页珍藏版)》请在冰豆网上搜索。

SQL Server 安装及其XML应用.docx

SQLServer安装及其XML应用

7.2.2SQLServer的安装

由于SQLServer提供了四个不同的版本,安装配置方法差别较大,为了便于读者自学上机练习,这里仅介绍在WindowsXP操作系统下SQLServer个人版的安装过程,其它版本的安装方法请参考SQLServer的专业资料。

按照本节的安装方法,SQLServer不区分SQL命令中字母的大小写。

在WindowsXP操作系统下SQLServer个人版本的安装步骤如下:

1)当正常启动计算机后,把SQLServer2000光盘放入CD-ROM驱动器中,计算机自动运行安装程序向导,出现图7.5所示的窗口,单击“安装SQLServer2000组件”即可见图7.6所示的窗口。

图7.5安装SQLServer2000初始窗口

图7.6安装组件选择窗口

2)在图7.6中单击“安装数据库服务器”后出现一个“欢迎”窗口,其中有一些文字说明,单击“下一步”按钮,即可见“计算机名”窗口(图7.7)。

图7.7SQLServer的计算机名窗口

3)由于安装的是个人版本,计算机名称不需输入,因此,在“计算机名”窗口(图7.7)中选择“本地计算机”后单击“下一步”按钮,可见“安装选择”窗口(图7.8)。

图7.8SQLServer的安装选择窗口

4)在“安装选择”窗口(图7.8)中选择“创建SQLServer实例,或安装客户端工具”,单击“下一步”按钮,又可见“用户信息”窗口(图7.9)。

图7.9SQLServer的用户信息窗口

5)在“用户信息”窗口(图7.9)中输入用户姓名和公司名称,单击“下一步”按钮,可见一个“软件许可证协议”窗口(图7.10),我们只要单击“是”按钮,即出现“安装定义”窗口(图7.11)。

图7.10SQLServer的CD-Key窗口

图7.11SQLServer的安装定义窗口

6)在“安装定义”窗口(图7.11)中选择“服务器和客户端工具”,单击“下一步”按钮,可见“实例名”窗口(图7.12)。

图7.12SQLServer的实例名窗口

7)在“实例名”窗口(图7.12)中选中“默认”复选框,单击“下一步”按钮,可见“安装类型”窗口(图7.13)。

图7.13SQLServer的安装类型窗口

8)在“安装类型”窗口(图7.13)中选择“典型”,并根据需要指定“目的文件夹”后单击“下一步”按钮,可见“服务帐户”窗口(图7.14)。

图7.14SQLServer的服务帐户窗口

9)在“服务帐户”窗口(图7.14)中选择“对每个服务使用同一个帐户,自动启动SQLServer服务”和“使用本地系统帐户”(初学的读者在个人计算机上安装SQLServer时请务必选择此项)。

然后单击“下一步”按钮,可见“身份验证模式”窗口(图7.15)。

图7.15SQLServer的身份验证模式窗口

10)在“身份验证模式”窗口(图7.15)中选择“Windows身份验证模式”,单击“下一步”按钮,可见一个名为“开始复制文件”的窗口(图7.16),我们只要在其中单击“下一步”按钮即可开始程序文件的复制。

图7.16SQLServer的开始复制程序文件窗口

11)只要我们稍等片刻,就会出现一个“安装完毕”窗口(图7.17)。

我们只要选择“是的,我想现在重新启动计算机。

”,然后单击完成按钮,等计算机重新启动后即完成了SQLServer的安装工作。

 

8.4.3SQLServer2008中XML应用

Microsoft在SQLServer2000中就推出了与XML相关的功能,并Transact-SQL语言的有关命令中增加了关键字FORXML和OPENXML,使开发人员可以通过编写Transact-SQL代码来获取XML流形式的查询结果,或者将XML文档格式的数据导入到数据库的基本表中。

SQLServer2005不仅扩展了这些关于支持XML的功能,而且推出了一个支持XSDschema验证、基于XQuery的操作和XML索引的本地XML数据类型。

SQLServer2008在其之前版本支持XML功能的基础之上,做了许多新改进和补充来解决客户在存储和操纵数据库中XML数据时所面临的挑战,不仅程序员能够定义XML数据类型的变量、参数,创建处理XML类型数据的视图、触发器,还能够使用XQuery语言完成对XML文档结点的遍历和数据查询等。

由于篇幅所限,本节只简单介绍在SQLSever2008环境中如何将数据库基本表中的数据导出为XML文档,以及如何将XML文档数据导入数据库的基本表。

1、基本表导出为XML文档

FORXML是对标准SQL语言SELECT语句的扩展,数据库管理系统会根据FORXML使用的模式,返回具有一定格式的XML文档片段以便不同应用程序或者用户之间进行数据交互。

在SQLServer2008中使用带FORXML子句的SELECT查询语句就可以从数据库基本表中获得XML数据,而FORXML子句主要使用RAW和PATH模式。

(1)单张基本表的导出

为介绍方便,我们以第一章介绍的学生表(students)为例,并希望将这张学生表中的数据导出为XML文档格式的数据,则只要使用表8-7中第3行的SELECT语句即可。

表8-7将基本表数据导出为XML格式数据

序号

代码

1

2

3

USEStudents10_Mis

GO

SELECT*FROMStudentsFORXMLRAW,ELEMENTS;

注意,表8-7中的第1行和第2行是指定SELECT语句操作的数据库,如果我们在前面已经使用了这个命令,则后面的操作就可以不使用这两行命令了。

因此,本节后面的例子中都不再出现这两行命令。

关键字RAW告诉SQLServer2008这里使用的是RAW模式。

RAW模式返回的XML文档片段有一个特点,即每个行元素(默认标签为)是基本表对应的一条记录,行元素中的每个子元素分别包含学号、姓名等信息。

ELEMENTS参数能使学号、姓名等信息以行元素的子元素形式返回;如果不使用,默认情况下SQLServer2008会以行元素的属性形式返回。

运行表8-7中的命令就得到如图8-10所示的查询结果。

从右下角的结果窗口可以看出,查询所得的XML文档数据被挤在一个只有一个单元格的表格中。

单击这个单元格即可打开一个新的XML文档显示窗口(如图8-11)。

由于窗口大小的限制,这里只显示了基本表Students中两条记录对应的,由标记的XML元素。

仔细分析可以发现,这个窗口中显示的XML文档与表8-2中XML非常相似,只是没有了根元素标记,且所有的标记变成了标记变成了。

图8-10基本表导出为XML

(1)

图8-11基本表导出为XML

(2)

(2)多张基本表的导出

如果要从多张相互参照的基本表中导出XML数据应该怎么办呢?

这里仍然以第一章介绍的学生表(Students)、课程表(Courses)和成绩表(Reports)为例,我们希望导出一个包含学号(Sno)、姓名(Sname)、性别(Ssex),所修课程号(Cno)、课程名称(Cname)、课程学分(Credits)和成绩(grade)数据的XML文档,则我们可以使用下面的SELECT语句,并使用PATH模式。

表8-8将多个基本表数据导出为XML格式数据

序号

代码

1

2

3

4

5

6

7

8

9

10

SELECTS.SnoAS"report/Student/Sno",

S.SnameAS"report/Student/Sname",

S.SsexAS"report/Student/Ssex",

C.CnoAS"report/Course/Cno",

C.CnameAS"report/Course/Cname",

C.CreditsAS"report/Course/Credits",

R.GradeAS"report/grade"

FROMdbo.StudentsASS,dbo.CoursesASC,dbo.ReportsASR

WHERES.sno=R.SnoANDC.Cno=R.Cno

FORXMLPATH(''),ROOT('reports');

值得注意的是,表8-8中从第1行至第10行的代码为一条完整的SELECT语句,它是第一章学习过的数据库查询语句SELECT的简单扩充。

最后一行FORXMLPATH(''),ROOT('reports')是为XML而特别扩充的,它表示查询结果为XML格式,关键词PATH表示这里使用的是FORXML的PATH模式,ROOT('reports')表示把默认的根元素设置为reports。

report/Student/Sno是XPATH的一种路径表示法,表示的是report元素有个子元素Student,而Student下面又有个子元素Sno,且这个Sno就是我们要查询的数据。

在SSMS的“新建查询”窗口中输入并执行上面的语句就得到表8-9所示的XML格式的数据(部分),这里只包含了王建平同学选修的两门课对应的,由标记的XML元素。

表8-9多个基本表数据导出为XML文档数据(部分)

序号

代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

S01

王建评

C01

英语

4

92

S01

王建评

C03

数据库

2

84

……

2、XML文档导入基本表

前面介绍了如何将数据库的基本表中数据导出为XML文档,下面则介绍如何把XML文档数据导入到SQLServer2008数据库的基本表中。

(1)向基本表中添加记录

假设数据库Students10_Mis中已经存在基本表Students且不存在学号为S07的学生记录,则只要在SSMS的“新建查询”窗口中书写如表8-10中的代码,就可以将以XML文当格式描述的学生记录(S07,邵宁军,男,19,计算机)导入到基本表Students中。

表8-10将XML文档数据导入基本表中

序号

代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

DECLARE@myDocXML

DECLARE@imyDocINT

SET@myDoc='

S07

邵宁军

19

计算机

'

EXECUTESP_XML_PREPAREDOCUMENT@imyDocOUTPUT,@myDoc

INSERTINTOStudents

SELECT*

FROMOPENXML(@imyDoc,'/Students/Student',1)

WITH(Snochar(5)'Sno',

Snamevarchar(50)'Sname',

Ssexchar

(2)'Ssex',

Sagechar

(2)'Sage',

Dnamechar

(2)'Dname')

EXECUTESP_XML_REMOVEDOCUMENT@imyDoc

这里简单介绍一下表8-10中各行命令的作用。

第1行和第2行声明了两个变量,名称分别为“myDoc”和“imyDoc”,类型分别为XML和整型INT,“@”表示Transact-SQL变量。

第3行到第12行是给变量mydoc赋值,其值为表8-10中第3行和第12行两个单引号之间的XML文档描述的学生数据。

第13行和第22行是调用SQLSEVER2008系统中的两个存储过程,且它们在运行中不仅指定使用第3-4行声明的两个变量,同时指定把SELECT命令从XML文档格式中查询到的,由标记的元素以一条记录的形式插入到已经存在的基本表Students中。

同样,在SSMS的“新建查询”窗口中输入以上代码并执行后,就完成将XML文档数据导入基本表的目的,且通过“SELECT*FROMStudents”语句可以查看基本表Students中原有和新导入的数据。

(2)新建基本表并添加记录

如果数据库Students10_Mis中不存在基本表Students,则只要在SSMS的“新建查询”窗口中书写如表8-11中的代码并执行,就可以实现在该数据库中创建一个新的基本表Students并将以XML文当格式描述的两条学生记录(由标记的元素)导入到这个新建的基本表中。

表8-11创建基本表并将XML文档数据导入

序号

代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

DECLARE@myDocXML

DECLARE@imyDocINT

SET@myDoc='

S01

王建平

21

自动化

S02

刘华

19

自动化

'

EXECUTESP_XML_PREPAREDOCUMENT@imyDocOUTPUT,@myDoc

SELECT*INTOStudents

FROMOPENXML(@imyDoc,'/Students/Student',2)

WITH(Snochar(5)'Sno',

Snamevarchar(50)'Sname',

Ssexchar

(2)'Ssex',

Sagechar

(2)'Sage',

Dnamechar

(2)'Dname')

EXECUTESP_XML_REMOVEDOCUMENT@imyDoc

将表8-11与表8-10比较发现,其代码基本一致,唯一不同的是在调用SQLSEVER2008系统的存储过程中间没有使用INSERT子语句,这就表示需要创建一个新的基本表。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1