?? 結合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 + -