SQL Server 数据库之命名规则

1. 概述

用户在创建或引用数据库实体时,要遵守 SQL Server 命名规则,否则会发生一些错误;

2. 标识符

SQL Server 数据库的所有对象,包括服务器、数据库即数据库对象;如表、视图、列、索引、触发器、存储过程、规则、默认值和约束等都能有一个标识符,标识符对绝大多数对象来说是必不可少的,但对某些对象(如约束),是否规定标识符是可选的;
对象的标识符一般在创建对象时定义,作为引用工具使用;
例子 1:创建数据表 K
20220315

上述例子中,表格的名字是一个标识符:K,表格定义了4列,列的名字分别为 ID、Name、Sex、Age,它们都是合法的标识符;

2.1 标识符分类

SQL Server 数据库定义了两种类型的标识符:常规标识符分隔标识符

  1. 常规标识符: 常规标识符严格遵守标识符有关规定,在 T-SQL 语句中,凡是常规标识符都不用分隔符,如用 [ ]和 ’ ’ 进行分隔;
  2. 分隔标识符: 使用了分隔符号(如用 [ ]和 ’ ’ )来进行位置限定和标识符,用分隔符标识符,即能遵守标识符命名规则,又能不遵守标识符命名规则,要注意的是遵守了标识符命名规则的标识符,加分隔符和不加分隔符是等效的;
    如果不遵守标识符命名规则的标识符,在 T-SQL 语句中必须使用分隔符加以限定,否则无法进行代码编译;

2.2 标识符格式

SQL Server 数据库中的标识符必须符合一定的格式规定,具体内容如下:

  1. 标识符必须是统一码(Unicode)2.0 标准中规定的字符,及其他一些语言字符,如汉字等;
  2. 标识符后的字符可以为 “_”、"@"、"#"、"$" 及数字
  3. 标识符不允许是 T-SQL 的保留字;
  4. 标识符不允许有空格和特殊字符;
    注意: 标识符最多能容纳128个字符,某些特殊符号开头的标识符在 SQL Server 中有特定含义;如:以 “@” 开头的标识符表示这是一个局部变量或一个函数的参数,以 “#” 开头的标识符表示这是一个临时表或一个存储过程,以 “##” 开头的标识符表示一个全局的临时数据库对象,在 T-SQL 中,全局变量以 “@@” 开头;

3. 对象命名规则

SQL Server 数据库使用 T-SQL 语言,该语言在使用的对象包括表、视图、存储过程、触发器等,以上对象的标识符也要符合如下命名规则:
7. 第一个字符必须是其中的字符之一:字母a~zA~Z其他语言的字母字符、下划线 _ 、@或数字符号 #
8. 后续字符可以是所有字母、十进制数字、@符号、美元符号($)、数字符号或下划线;
除非另外指定,否则所有对数据库对象名的 T-SQL 引用有 4 部分组成,格式如下:

[
	server_name.[database_name].[owner_name].
	| database_name.[owner_name].
	| owner_name
	]
]
object_name

语法解释如下:

  • server_name 指定链接服务器名称或远程服务器名称;
  • 当对象驻留在 SQL Server 数据库中时,database_name 指定该 SQL Server 数据库的名称;当对象在链接数据库服务器时,则指定 OLE DB 目录;
  • 若对象在 SQL Server 数据库中,owner_name指定拥有该对象的用户;当对象在链接服务器中时,则指定 OLE DB 架构名称;
  • object_name是引用对象的名称;
    20220315

当引用某个特定对象时,不必总是为 SQL Server 指定标识改对象的服务器、数据库和所有者,能省略中间级节点,而使用点表示这些位置;
对象名的有效格式为:

server.database.owner.object
server.database..object
servar..owner.object
server...object
database.owner.object
database..object
owner.object
对象

4. 实例命名规则

SQL 实例,即 SQL 服务器引擎;每个 SQL Server 数据库引擎实例各有一套不为其他实例共享的系统用户数据库,在一天计算机上能安装多个 SQL Server 2016,每个 SQL Server 2016 能理解为一个实例;
实例分为 默认实例命名实例,若在一台计算机上安装第一个 SQL Server ,命名设置保持默认,那么这个实例就是默认实例
在 SQL Server 数据库中,默认实例的名字采用计算机名,实例的名称一般由计算机名和实例名两部分组成;
可从以下几点理解实例:

  1. 实例名称是一个 SQL Server 服务的名称,可为任何名称(英文字符),实例名称不能重复
  2. 若安装时一直提示写实例名称,说明已经存在一个默认名称的 SQL Server 实例,它使用了默认的空名称;
  3. 一个实例就是一个单独的 SQL Server 服务;若安装了指定的 SQL Server 实例,能在 Windows 服务列表中看到该实例的服务名称;
  4. 连接数据库时,必须指明数据库实例名称;例如,使用默认配置安装了一个SQL Server 后,它的实例名称为空;
  5. 再次执行 SQL Server 安装程序,并不会提示已安装了 SQL Server ,而是在设置实例名称时,让用户指定一个新的实例名称,才能进行下一步;
  6. 卸载 SQL Server 时,可选择卸载一个 SQL Server 实例;
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值