2016/06/30

NOMBRES DE OBJETOS o IDENTIFICADORES

PROBLEMA: Los identificadores dentro SQL SERVER no son más que los nombres que se les asigna a cada objeto, con esto podemos hacer referencia a ellos de manera rápida, pero… sabías que puedes nombrar objetos con caracteres extraños? Veamos algunos ejemplos y las reglas que sugieren seguir para establecer nombres de objetos usando las mejores prácticas.

En primer lugar, los identificadores son requeridos para “casi” todos los objetos dentro de SQL SERVER como tablas, columnas, índices, vistas, triggers, procedimientos almacenados, entre algunos otros.

IDENTIFICADORES REGULARES

Cuales son estos objetos? Son aquellos que siguen algunas sencillas reglas

1.- El primer carácter del nombre debe comenzar con:
                - Una letra.
                - Cualquiera de los símbolos @  _   #   ( No se recomienda el uso de estos símbolos )
2.- Los caracteres posteriores pueden ser:
                - Letras
                - Números
                - Cualquiera de los símbolos @  _   #
3.- El nombre del identificador no debe ser una palabra reservada.
4.- No debe contener espacios

Veamos algunos ejemplos:
CREATE DATABASE _NombreBdNuevo; 
CREATE DATABASE #NombreBdNuevo; 
GO

USE _NombreBdNuevo; 

CREATE TABLE tablaNueva#@1( 
 columna1$ VARCHAR(10)
 , #columna2@ VARCHAR(10)
 , columna3 VARCHAR(10)
 , CONSTRAINT nombreRestriccion$ PRIMARY KEY ( columna1$ )
)

Aunque la documentación de Microsoft dice que podemos generar identificadores regulares iniciando con el símbolo @, no pude crear una BD de esa forma, de igual manera intenté crear algunos otros objetos iniciando con el mismo símbolo pero no me lo permitió, por lo que sugiero evitar el uso de dicho símbolo.

Ahora los siguientes ejemplos son para los identificadores considerados como no regulares, aunque no entiendo quien crearía objetos con la siguiente nomenclatura:
CREATE DATABASE [ nombre de BD ]; 

CREATE DATABASE [nombre  BD  "irregular"]; 
GO

USE [nombre  BD  "irregular"];

CREATE TABLE [nombre tabla irregular]
( 
 [columna 1 con espacios] VARCHAR(100)
 , [   espacios al inicio] VARCHAR(100)
) ;

Lo más común que se puede ver dentro de los desarrollos de Bases de datos es que se utilice el guión bajo _ , números y letras, sin embargo es bueno conocer que se pueden generar nombres de objetos utilizando otros caracteres, aunque los expertos no recomiendan utilizar caracteres extraños ni siquiera el $, nuevamente los dejo a su consideración al momento de generar los nombres de sus objetos, establezcan entre todo el equipo de desarrollo un estándar para los nombres y síganlo, el que sea más conveniente.


SALUDOS! 
COMPARTE ESTA INFORMACION SI TE PARECIO INTERESANTE

0 comentarios:

Publicar un comentario