1.- Al instalar el SQL Server 2008 se amarra al dominio? o luego de haber sido instalado hay forma de modificar eso en la configuración? o no influye en nada el cambiar de dominio el servidor después de haber instalado el SQL?
No hay problema en instalar SQL en un servidor de dominio, no hay ningún tipo de "amarre" en el servidor de dominio y el motor de base de datos. Cambiar luego el servidor a otro dominio si es posible pero si influye por el lado de los clientes o aplicaciones que se conectan al servidor, ya que al estar en otro dominio pueden haber restricciones de acceso. El nombre del servidor también va a cambiar así que la conexión a SQL de las aplicaciones se debe actualizar con el nuevo nombre.
Pero se recomienda no instalar SQL Server en un servidor de dominio. Esto por temas de desempeño y administración. El servidor de dominio realiza tareas y operaciones que utilizan recursos de memoria y procesador, por lo tanto SQL Server va a competir por estos recursos afectando desempeño (velocidad). Para monitorear el servidor también hay que tener cuidado aislando adecuadamente las variables que quieres medir (memoria, procesador, cola de disco, etc.) para monitorear solo lo relacionado a SQL Server y no al dominio u otras aplicaciones que estén ejecutándose en el mismo servidor.
Best practice: Utilizar un servidor exclusivo para la base de datos
2.- En mi trabajo estamos empezando a estandarizar los nombres de las base de datos y sus objetos, no se si existe alguna normalización o formato establecido para realizar esto?.
En esto hay mucho por conversar. No existe un estándar aceptado por todos pero si hay recomendaciones:
1. Usar mayúsculas y minúsculas: en vez de nombra un procedimiento USPACTUALIZACLIENTE o uspactualizacliente, recomiendo usar uspActualizaCliente. Es mas fácil de leer
2. Nombrar los objetos con un prefijo que indique el tipo de objeto (menos tablas y vistas), por ejemplo:
- bd - base de datos
- usp - Procedimiento almacenado (Siempre anteponer la "u" de "usuario" para que no se confunda con los procedimientos almacenados del sistema, que comienzan con sp)
- tr - trigger (tri - Trigger insert, tru - trigger update, trd - trigger delete)
- dtr - data base trigger
- fne - función de usuario escalar
- fnt - funcion de usuario tipo tabla
Además, sobre los nombre de objetos de programación, se recomienda que el nombre contenga información que permita identificar rápidamente que es lo que hace:
uspActualizaCliente es el procedimiento almacenado que actualiza la entidad cliente (puede actualizar una o muchas tablas)
fneCalculaComisiónVenta es la función de tipo escalar que calcula una comisión de venta
fntListadoItemsAlmacen es la función de tipo tabla que lista los ítems de determinado almacén
Algunos inclusive, incluyen en el nombre los módulos o sistemas a los que pertenecen los objetos:
uspMKTActualizaCliente es el procedimiento almacenado que actualiza la entidad cliente (puede actualizar una o muchas tablas), en el módulo de marketing
fneVTACalculaComisiónVenta es la función de tipo escalar que calcula una comisión de venta en el modulo de ventas
fntLOGListadoItemsAlmacen es la función de tipo tabla que lista los ítems de determinado almacén en el módulo de logística
3. Sobre los nombre de las tablas:
- Usar nombres simples y entendibles que represente la entidad que contiene la tabla o vista (Cliente, Factura, TipoCliente).
- Algunos autores recomiendan anteponer a los nombres de las tablas la letra "t" pero no estoy de acuerdo. También se recomienda anteponer al nombre de las vistas la letra "v". Este si puede ser factible para diferenciarlas de las tablas.
- Recomiendo usar nombres en singular: Cliente en vez de Clientes
En general, trata de tomar decisiones analizando los objetos en su conjunto y no aisladamente. En internet puedes encontrar muchas referencias al respecto, pero verás también que hay opiniones diversas y hasta opuestas.
3.- He estado haciendo algunas pruebas creando tablas y luego de guardarlas quise modificar el tipo de datos (la tabla no contiene datos, esta vacía), por ejemplo de nchar a char y me muestra un error indicando que debo volver a crear la tabla, esto se debe a que falta alguna configuración? o es que SQL 2008 no permite realizar este tipo de modificaciones?
Ese es un error que sale en Management Studio cuando quieres cambiar una tabla. Lo que debes hacer para que no aparezca es lo siguiente:
a. En el menú Herramientas escoger la opción "Opciones..."
b. En el recuadro de la izquierda, escoger la opción "Diseñadores de tablas y Bases de Datos"
c. Desmarcar la opción "Impedir Guardar Cambios que requieran volver a crear tablas"
d. Hacer clic en aceptar
Lo que también puedes hacer es utilizar comandos Transact SQL:
ALTER TABLE MiTabla ALTER COLUMN MiCampo char(100) |