官术网_书友最值得收藏!

3.2 SQL Server的命名規(guī)則

SQL Server為了完善數(shù)據(jù)庫的管理機(jī)制,設(shè)計(jì)了嚴(yán)格的命名規(guī)則。用戶在創(chuàng)建數(shù)據(jù)庫及數(shù)據(jù)庫對象時(shí)必須嚴(yán)格遵守SQL Server的命名規(guī)則。本節(jié)將對標(biāo)識符、對象和實(shí)例的命名規(guī)則進(jìn)行詳細(xì)的介紹。

3.2.1 標(biāo)識符命名規(guī)則

在SQL Server中,服務(wù)器、數(shù)據(jù)庫和數(shù)據(jù)庫對象(如表、視圖、列、索引、觸發(fā)器、過程、約束和規(guī)則等)都有標(biāo)識符,數(shù)據(jù)庫對象的名稱被看成該對象的標(biāo)識符。大多數(shù)對象要求帶有標(biāo)識符,但有些對象(如約束)中標(biāo)識符是可選項(xiàng)。

對象標(biāo)識符是在定義對象時(shí)創(chuàng)建的,標(biāo)識符隨后用于引用該對象,下面分別對標(biāo)識符格式及標(biāo)識符分類進(jìn)行介紹。

1.標(biāo)識符格式

在定義標(biāo)識符時(shí)必須遵守以下規(guī)定。

(1)標(biāo)識符的首字符必須是下列字符之一。

 統(tǒng)一碼(Unicode)2.0標(biāo)準(zhǔn)中定義的字母,包括拉丁字母a~z和A~Z,以及來自其他語言的字符。

 下畫線“_”、符號“@”或者數(shù)字符號“#”。

在SQL Server中,某些處于標(biāo)識符開始位置的符號具有特殊意義。以“@”符號開始的標(biāo)識符表示局部變量或參數(shù);以一個(gè)數(shù)字符號“#”開始的標(biāo)識符表示臨時(shí)表或過程,如表“#gzb”就是一張臨時(shí)表;以雙數(shù)字符號“##”開始的標(biāo)識符表示全局臨時(shí)對象,如表“##gzb”則是全局臨時(shí)表。

誤區(qū)警示

某些SQL函數(shù)的名稱以@@符號開始,為避免混淆這些函數(shù),建議不要使用以@@開始的名稱。

(2)標(biāo)識符的后續(xù)字符可以是以下3種。

 統(tǒng)一碼2.0標(biāo)準(zhǔn)中定義的字母。

 來自拉丁字母或其他國家/地區(qū)腳本的十進(jìn)制數(shù)字。

 “@”符號、美元符號“$”、數(shù)字符號“#”或下畫線“_”。

(3)標(biāo)識符不允許是SQL的保留字。

(4)不允許嵌入空格或其他特殊字符。

例如,要為明日科技公司創(chuàng)建一個(gè)工資管理系統(tǒng),則可以將其數(shù)據(jù)庫命名為MR_Salary。名字除了要遵守命名規(guī)則以外,最好還能準(zhǔn)確表達(dá)數(shù)據(jù)庫的內(nèi)容,本例中的數(shù)據(jù)庫名稱是以每個(gè)字的大寫字母命名的,其中還使用了下畫線“_”。

2.標(biāo)識符分類

SQL Server將標(biāo)識符分為以下兩種類型。

 常規(guī)標(biāo)識符:符合標(biāo)識符的格式規(guī)則。

 分隔標(biāo)識符:包含在雙引號(" ")或者方括號([ ])內(nèi)的標(biāo)識符。該標(biāo)識符可以不符合標(biāo)識符的格式規(guī)則,如[MR GZGLXT],MR和GZGLXT之間含有空格,但因?yàn)槭褂昧朔嚼ㄌ枺砸暈榉指魳?biāo)識符。

注意

常規(guī)標(biāo)識符和分隔標(biāo)識符包含的字符數(shù)必須在1~128,對于本地臨時(shí)表,標(biāo)識符最多可以有116個(gè)字符。

3.2.2 對象命名規(guī)則

SQL Server數(shù)據(jù)庫對象的名字由1~128個(gè)字符組成,不區(qū)分大小寫。使用標(biāo)識符也可以作為對象的名稱。

在一個(gè)數(shù)據(jù)庫中創(chuàng)建了一個(gè)數(shù)據(jù)庫對象后,數(shù)據(jù)庫對象的完整名稱應(yīng)該由服務(wù)器名、數(shù)據(jù)庫名、擁有者名和對象名4個(gè)部分組成,其語法格式如下:

     [ [ [ server. ] [ database ] .] [ owner_name ] .] object_name

服務(wù)器、數(shù)據(jù)庫和所有者的名稱即所謂的對象名限定符。當(dāng)引用一個(gè)對象時(shí),不需要指定服務(wù)器、數(shù)據(jù)庫和所有者,可以利用句號標(biāo)出它們的位置,從而省略限定符。

對象名的有效格式如下:

server.database.owner_name.object_name

server.database..object_name

server..owner_name.object_name

server...object_name

database.owner_name.object_name

database..object_name

owner_name.object_name

object_name

指定了所有4個(gè)部分的對象名被稱為完全合法名稱。

誤區(qū)警示

不允許存在4個(gè)部分名稱完全相同的數(shù)據(jù)庫對象。在同一個(gè)數(shù)據(jù)庫中可以存在兩個(gè)名為EXAMPLE的表格,但前提必須是這兩個(gè)表的擁有者不同。

3.2.3 實(shí)例命名規(guī)則

SQL Server數(shù)據(jù)庫提供了以下兩種類型的實(shí)例。

 默認(rèn)實(shí)例:此實(shí)例由運(yùn)行它的計(jì)算機(jī)的網(wǎng)絡(luò)名稱標(biāo)識。使用以前版本SQL Server客戶端軟件的應(yīng)用程序可以連接到默認(rèn)實(shí)例。但是,一臺(tái)計(jì)算機(jī)上每次只能有一個(gè)版本作為默認(rèn)實(shí)例運(yùn)行。

 命名實(shí)例:計(jì)算機(jī)可以同時(shí)運(yùn)行任意一個(gè)SQL Server命名實(shí)例。實(shí)例通過計(jì)算機(jī)的網(wǎng)絡(luò)名加上實(shí)例名以<計(jì)算機(jī)名>\<實(shí)例名>格式進(jìn)行標(biāo)識,即computer_name\instance_name,但該實(shí)例名不能超過16個(gè)字符。

主站蜘蛛池模板: 思南县| 开远市| 祁门县| 康定县| 璧山县| 开封县| 南昌县| 新蔡县| 汤原县| 铁岭县| 临猗县| 古交市| 永年县| 河西区| 盐边县| 怀集县| 专栏| 韩城市| 金沙县| 武夷山市| 伊宁县| 兴隆县| 柳江县| 吉林市| 奉节县| 时尚| 建昌县| 阳西县| 静海县| 三门峡市| 楚雄市| 玛纳斯县| 昌图县| 乐陵市| 宁强县| 巩留县| 江山市| 韶山市| 桃源县| 新泰市| 海南省|