Blog gratis
Reportar
Editar
¡Crea tu blog!
Compartir
¡Sorpréndeme!
img
img

 

 

SQL Server
Blog. (Apuntes y Recopilaciones) por Norman M. Pardell

img
img
06 de Enero, 2012 · UNIQUE-INDEX-CONSTRAINT-UNIQUE

UNIQUE INDEX o CONSTRAINT UNIQUE. SQL

A diferencia de que solo puede existir una clave principal en cada tabla, si usas dicha clave difiniendo un campo único, si lo que deseas es forzar la unicidad en otras columnas, puedes hacerlo creando índices unicos para esos campos, ya que podemos crear varios incides unicos en una misma tabla y podras incluir  valores NULL, si lo deseas, aunque solo un NULL se permitirá por columna.

Podemos tener mas de una contraint unica en una sola tabla. Cuando creas una constraint de tipo UNIQUE, lo que hace SQL Server para implementarla es crear automáticamente un índice UNIQUE.

Por lo que usar UNIQUE INDEX o CONSTRAINT UNIQUE, es simplemente de preferencia, ya que trabajar con el indice unico te da alguana mas flexibilildad de cara al futuro con ciertos paramentros. Si usas la constraint, queda quizá un poco más clara a nivel de diseño la intención de qué es lo que se pretende, por lo que documenta mejor tu diseño. Pero por otra parte, crear explícitamente el índice tiene la ventaja de que te permite modificar sus opciones, como por ejemplo el PAD_INDEX o añadirle alguna columna adicional con INCLUDE para permitir que cubra una consulta. Podrías incluso usar un índice filtrado (con WHERE), por ejemplo, para excluir los valores NULL del requisito de unicidad. Mientras no uses ninguna de estas opciones, en principio el comportamiento y el rendimiento debería ser idéntico al obtenido mediante la constraint.

 

Apunte y recopilación por Norman M. Pardell

 

Puedes consultarme, si deseas cualquier aclaración, pregunta o sugerencia en: Contacto, contestaré tan pronto como me sea

publicado por normanmpardell a las 19:44 · Sin comentarios  ·  Recomendar
Comentarios (0) ·  Enviar comentario
Esta entrada no admite comentarios.
img
.Sobre mí
FOTO

Norman M. Pardell

MCITP: Database Administrator & Database Developer, SQL Server 2008. MCC Award Certificate. Consultor Senior de bases de datos en Capgemini España, S.L. Asesoramiento en implementación, desarrollo y gestión de bases de datos en grandes compañías. Actualmente, asignado a proyecto en compañía líder en el sector energético global. Más de 10 años trabajando con SQL Server (y otros gestores de BBDD)

» Ver perfil

img
.Secciones
» Inicio
img
.Enlaces
» Microsoft MSDN Foros
» Windows Server 2012
img
.Más leídos
» Asignar la cantidad correcta de Memoria para SQL Server
» Base de Datos Sospechosa (Suspect)
» Como modificar la Intercalación (Collation) en SQL Server
» Como renombrar una instancia de SQL Server. sp_dropserver. sp_addserver
» Detectar bloqueos. SQL Server V.2005 y superiores
» Funciones SQL Server. Funciones escalares y funciones con valores de tabla.
» Integridad y corrupción en las bases de datos: DBCC CHECKDB
» Log de transacciones ( .ldf ). SQL Server.
» Migrando SQL Server 2005, 2008, 2008 R2 a SQL Server 2012
» Transacciones activas. SQL server 2008
img
.Nube de tags [?]
                                                           
img img
FULLServices Network | Crear blog | Privacidad