📄 结合sql server 7.0使用visual studio 6.0数据库工具.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0052)http://www.ithome-cn.net/technology/data/data016.htm -->
<HTML><HEAD><TITLE>结合SQL Server 7.0使用Visual Studio 6.0数据库工具</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>.10V {
FONT-SIZE: 9pt; COLOR: #0000ff; FONT-FAMILY: 宋体; TEXT-DECORATION: none
}
.12V {
FONT-SIZE: 12pt; FONT-FAMILY: 宋体
}
</STYLE>
<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff>
<P><STRONG><FONT color=#0000ff size=2>[<A
href="http://www.ithome-cn.net/technology/data/dalist.htm">返回</A>]<BR></FONT><FONT
color=#800000 size=2>中国计算机报1999年第75期</FONT></STRONG></P><FONT color=#0000ff>
<H2 align=center></FONT><FONT color=#008080 size=3><STRONG>结合SQL Server
7.0使用Visual Studio 6.0数据库工具</STRONG></FONT></H2>
<P align=right><FONT color=#008080 size=3><EM>李奇威</EM></FONT></P>
<P><FONT color=#0000ff size=2> 本文介绍了如何使用Microsoft SQL Server 7.0和Visual Studio
6.0数据库工具分析来自不同数据库系统的数据。在查询设计中可以通过链接服务器属性访问外界OLE
DB数据资源;使用Top语句来限制要返回的数据;通过文件组来提高数据库的执行和有效性;用Guid数据类型来生成惟一标识符。<BR><BR> 如果有一个跨国公司,它包括五个大的辅助部门和北美的总部,其辅助部门负责研究不同的产品,要你分析此公司的前50个收入来源。但是这六个部门(包括总部)使用了六种不同的数据库管理系统。例如,东京的部门将数据保存在一个Microsoft
Visual Foxpro数据库里;伦敦的用Oracle数据库;布宜诺斯艾利斯将数据存储在Sybase系统中;总部和Johannesburg用Microsoft
SQL Server数据库;堪培拉用第三方OLE
DB系统。你怎样才能在总部把这些信息收集到一个报告里呢?<BR><BR> 这似乎是一件很辛苦的工作。但是用新的Microsoft SQL server
7.0和Visual Studio
6.0数据库工具,在查询设计中用链接服务器和Top属性,你就可以很轻松地完成此项任务。<BR><BR> 当然不止这几步,但关键是用Visual Studio
6.0数据库工具,你可以享用一些SQL Server
7.0的优点使你的企业数据工作更简单有效。<BR><BR> 准备工作<BR><BR> 如果你有以下这两种工具之一,你就可以应用本文介绍的方法:<BR><BR> ●
Microsoft SQL server 7.0和Visual studio 6.0数据库工具;<BR><BR> ● 具有最新的客户工具的Microsoft
SQL Server 7.0和Visual Studio 6.0数据库工具。<BR><BR> 如果SQL Server
7.0被安装在一台服务器上,并且你的客户机上装有Visual Studio 6.0数据库工具,请在客户机上运行SQL Server
7.0安装程序选择客户工具安装。如果你的机器上既安装了Visual Studio 6.0数据库工具又安装了SQL Server
7.0,那么安装向导将会自动更新你的数据库工具。<BR><BR><BR><BR> 访问外部OLE DB数据资源<BR><BR> 要访问异种OLE
DB数据资源处理企业数据工作,那么链接服务器特性就是个灵活有力的解决方法。<BR><BR> 链接服务器是用SQL Server
7.0对外部数据对象和需要访问的那些数据信息的一种定义方法。这种定义包括四部分名称:外部数据对象服务器名称;包含对象的目录或数据库;对象或所有者的模式;对象名称(表或数据库的浏览)。这四部分的名称用的结构格式为:链接的服务器名称、目录、模式、对象名称。<BR><BR> 定义了链接服务器后,就能够以Transact-SQL语句用这四部分名称在链接服务器上查阅数据对象了。我们可以用Select、Insert、Update和Delete
transact-SQL语句直接查阅外部数据源的表和浏览。<BR><BR> 这样,一个简单的Select语句就能用于刚才的跨国公司情况。可以这样访问数据:<BR><BR> SELECT
*FROM
johann_sa.svs.dbo.products<BR><BR> 其中:johann_sa是位于Johannesburg辅助部门的服务器的名称、svs是数据库名称、dbo是对象所有者、products是表的名称。<BR><BR> 当客户请求执行一个分布式查询时,SQL
Server对这个命令进行解析,并以基本的行集合表格发送请求,每行包含OLE DB数据列的行的集合。因为OLE
DB提供者以行来组织它们的数据,因此它们知道当收到来SQL Server自行集合请求时该做什么工作。在数据库工具里可以SQL
Pane方式来运用链接服务器特性。<BR><BR> 以跨国公司为例,为了访问来自辅助部门的服务数据库的产品表里的净收入信息,
Select语句可以这样写:<BR><BR> SELECT Prod.name, Prod.net<BR><BR> FROM
johann_sa.svs.dbo.products AS Prod<BR><BR> WHERE date between '07/01/97' and
'06/30/98'<BR><BR> AND Prod.net > 1<BR><BR> ORDER BY Prod.net
desc<BR><BR> 结果集合将列出由Johannesburg辅助部门在1998年6月30日财政年度的所有产品交易中价值高于1000000美元的净收入。产品将按照净收入从高到低的降序排列。<BR><BR> 限制结果集合<BR><BR> 继续以上述情况为例。因为Johannesburg辅助部门覆盖非洲和中东,应当如何限定得到的数据列表呢?<BR><BR> 这也简单:利用TOP语句就可以实现。TOP语句用于限定你可能得到一个大的结果集合的列数的工具。用TOP关键字可以指定只想得到的结果集合中的前n个记录。用PERCENT关键字和TOP组合也可以得到想要的结果集合中的前百分之n条记录。这样你在SELECT语句中使用TOP就有两种方式:<BR><BR> SELECT
TOP n *<BR><BR> SELECT TOP n PERCENT
*<BR><BR> 接着,回到Johannesburg的查询,用TOP语句限制你的列表只有50行。查询语句如下:<BR><BR> SELECT TOP 50
Prod.name, Prod.net<BR><BR> FROM johann_sa.svs.dbo.products AS
Prod<BR><BR> WHERE date between '07/01/97' and '06/30/98'<BR><BR> AND Prod.net
> 1<BR><BR><BR><BR> 在有限的结果集合中排列行<BR><BR> 如果在用了TOP语句的SELECT表达式中指定ORDER
BY,那么SQL
Server首先按照指定排序建立整个查询结果,然后从建立的集合中取出前n行或前百分之n的结果。<BR><BR> 这样Johannesburg查询表达式:<BR><BR> SELECT
TOP 50 Prod.name, Prod.net<BR><BR> FROM johann_sa.svs.dbo.products AS
Prod<BR><BR> WHERE date between '07/01/97' and '06/30/98<BR><BR> AND Prod.net
> 1<BR><BR> ORDER BY Prod.net desc<BR><BR> SQL
Server首先得到净收入大于1000000美元的所有产品,然后将它们按从大到小的顺序排列。当列表被排列之后,前50个被取出并返回到结果集合中。<BR><BR> 使数据库操作更有效<BR><BR> 当查询大型数据库时,执行性能很重要。SQL
Server
7.0在数据库工具中有两个新特性可以用来提高数据库操作。文件组可以加速数据库操作,GUID数据类型用于全局惟一数据库对象(在像跨国公司这样的企业项目中很有用)。<BR><BR> 改进对数据库的访问<BR><BR> 文件组是一个数据库文件存储管理机制,它允许在多个磁盘上创建数据库。<BR><BR> 当创建一个SQL
Server
7.0数据库时,程序自动指定所有文件到缺省文件组,除非你指定另外文件组为缺省文件组。但是,即使指定了一个不同的文件组为缺省的,所有数据库系统文件也必须保留在主文件组中。<BR><BR> 指向数据库文件的文件组属性记录这些文件,即使它们位于不同的磁盘。<BR><BR> 例如,把一个表指向一个文件组,但把表的索引文件存在另一个磁盘上。当访问数据表时,查询将涉及两个磁盘。因此,关于表的不同文件的几个查询将会同时发生,这样将加速查询结果集合的返回。<BR><BR> 用数据库工具,可以在Tables
Property Page(属性页)中指定Table(表)和Text(文本)文件组,在Indexes/Keys Property Page
(索引/键值属性页)中指定索引文件组。<BR><BR> 当开始计划数据库文件组属性时,务必记住:<BR><BR> ●
文件组不能独立于数据库文件而创建;<BR><BR> ● 一个文件组不能用于多于一个数据库上;<BR><BR> ●
任何时候只有一个文件组能成为一个数据库缺省文件组;<BR><BR> ● 一个文件只能成为一个文件组的成员;<BR><BR> ●
一旦某个文件被加到数据库并指向一个文件组,你就不能把这个文件移向另一个文件组;<BR><BR> ●
系统对象和文件永远指向主文件组。<BR><BR> 确保数据对象的惟一性<BR><BR> 当处理被多地点使用的大型数据库时,就像跨国公司的情景。也许会遇上确保表对象惟一性的问题。在此情况下,Uniqueidentifier也许正是解决方法。Uniqueidentifier是一个GUID数据类型,它存储了全局惟一标识符。一个GUID是一个为确保惟一的二进制数,因此其它的计算机不能生成同样的数值。<BR><BR> GUID的惟一值是由计算机网卡的识别数字加一个来自CPU时钟的惟一数值生成。<BR><BR> Uniqueidentifier的值并不像Identit属性那样自动生成。为了给表对象生成一个Uniqueidentifier值,必须指定Newid功能为列的缺省值。<BR><BR> 例如,如果想生成一个表,它列出所有跨国公司辅助部门的最前面的产品的净收入。如果要指定一个GUID数据类型,可以这样表示:<BR><BR> CREATE
TABLE NetRevenueTable<BR><BR> (UniqueColumn Uniqueidentifier DEFAULT
NEWID(),<BR><BR> Characters
VARCHAR(10))<BR><BR> 在数据库工具中,可以在数据库图表或设计一个表时这样做。<BR><BR> 如果用到Uniqueidentifier,请记住下面数据类型的特征:<BR><BR> ●
值是长的,模糊的;<BR><BR> ● 值是随机的,并且下一个模式对用户是没意义的;<BR><BR> ●
值在依靠连续增加的申请中是很难利用的;<BR><BR> ●
值为16位,因此用这些值来建立的索引会很慢。<BR><BR> 总而言之,使用的数据库工具的新SQL
Server7.0特性将使企业数据库任务(像跨国公司)更有效、更可行。<BR><BR> 用链接服务器和TOP语句,我们就能够访问外部OLE
DB数据资源,并且限制实际很长的结果列表,得到想要和能简单使用的结果。另外,如果能正确地在数据库文件上执行文件组和GUID数据类型,操作就能更有效、更容易地完成。 </FONT></P></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -