- SQL Server 2016從入門到精通(視頻教學超值版)
- 王英英
- 1104字
- 2019-12-06 15:49:24
4.2 如何給標識符起名
為了提供完善的數據庫管理機制,SQL Server設計了嚴格的對象命名規則。在創建或引用數據庫實例,如表、索引、約束等時,必須遵守SQL Server的命名規則,否則可能發生一些難以預測和檢測的錯誤。
1.標識符分類
SQL Server的所有對象,包括服務器、數據庫及數據對象,如表、視圖、列、索引、觸發器、存儲過程、規則、默認值和約束等都可以有一個標識符,對絕大多數對象來說,標識符是必不可少的,但對某些對象來說,是否規定標識符是可以選擇的。對象的標識符一般在創建對象時定義,作為引用對象的工具使用。
SQL Server一共定義了兩種類型的標識符:規則標識符和界定標識符。
- 規則標識符:規則標識符嚴格遵守標識符有關的規定,所以在Transact-SQL中凡是規則標識符都不必使用界定符,對于不符合標識符格式的標識符要使用界定符[]或單引號‘’。
- 界定標識符:界定標識符是那些使用了如[]和‘’等界定符號來進行位置限定的標識符,使用界定標識符既可以遵守標識符命名規則,也可以不遵守標識符命名規則。
2.標識符規則
標識符的首字符必須是以下兩種情況之一:
- 第一種情況:所有在Unicode2.0標準規定的字符,包括26個英文字母a~z和A~Z,以及其他一些語言字符,如漢字。例如,可以給一個表命名為“員工基本情況”。
- 第二種情況:“_”“@”或“#”。
標識符首字符后的字符可以是下面3種情況:
- 第一種情況:所有在Unicode2.0標準規定的字符,包括26個英文字母a~z和A~Z,以及其他一些語言字符,如漢字。
- 第二種情況:“_”“@”或“#”。
- 第三種情況:0,1,2,3,4,5,6,7,8,9。
標識符不允許是T-SQL的保留字:T-SQL不區分大小寫,所以無論是保留字的大寫還是小寫都不允許使用。
標識符內部不允許有空格或特殊字符:某些以特殊符號開頭的標識符在SQL Server中具有特定的含義。如“@”開頭的標識符表示這是一個局部變量或是一個函數的參數;以“#”開頭的標識符表示這是一個臨時表或存儲過程;一個以“##”開頭的標識符表示這是一個全局的臨時數據庫對象。T-SQL的全局變量以標識符“@@”開頭,為避免同這些全局變量混淆,建議不要使用“@@”作為標識符的開始。
無論是界定標識符還是規則標識符都最多只能容納128個字符,對于本地的臨時表最多可以有116個字符。
3.對象命名規則
SQL Server數據庫管理系統中的數據庫對象名稱由1~128個字符組成,不區分大小寫。在一個數據庫中創建了一個數據庫對象后,數據庫對象的前面應該有服務器名、數據庫名、包含對象的架構名和對象名4個部分組成。
4.實例的命名規則
在SQL Server數據庫管理系統中,默認實例的名字采用計算機名,實例的名字一般由計算機名和實例名兩部分組成。
正確掌握數據庫的命名和引用方式是用好SQL Server數據庫管理系統的前提,也便于用戶理解SQL Server數據庫管理系統中的其他內容。
- Software Defined Networking with OpenFlow
- 程序員面試筆試寶典
- 少年輕松趣編程:用Scratch創作自己的小游戲
- 技術領導力:程序員如何才能帶團隊
- Scratch 3游戲與人工智能編程完全自學教程
- Building Mobile Applications Using Kendo UI Mobile and ASP.NET Web API
- 零基礎學Java(第4版)
- The Data Visualization Workshop
- Mastering JavaScript Design Patterns(Second Edition)
- Python數據結構與算法(視頻教學版)
- CoffeeScript Application Development Cookbook
- C++反匯編與逆向分析技術揭秘(第2版)
- 深度探索Go語言:對象模型與runtime的原理特性及應用
- CodeIgniter Web Application Blueprints
- Java Hibernate Cookbook