RESTRICCION E INDICE

22/11/2004 - 15:03 por Oscar | Informe spam
En SQL Server. Cuando se define una clave
candidata con UNIQUE ¿Qué diferencia hay entre
elegir “restricción” o “índice”?

A parte de poner la soluccion aquí lo agradeceria q me la mandarias a
oscarvianes@hotmail.com.

MUCHAS GRACIAS

Preguntas similare

Leer las respuestas

#1 Maxi
22/11/2004 - 15:07 | Informe spam
Hola, primero te voy a responder aca asi todos se benefician :)

Te cuento, esta pregunta se hizo hace unos dias y nuestra amiga Liliana
Sorrentino la ha contestado asi:

==
Hola Jose Luis,
Si no necesitás tener ordenado un dato, pero sí querés controlar que sea
único, la restricción es lo indicado, que además permite nulos.

Acá te mando un ejemplo de cómo funciona 'Pasar por alto claves duplicadas'

drop table Tabla1
GO

CREATE TABLE Tabla1
(nro smallint NOT NULL ,
nombre char(30) NOT NULL ,
ss char(10) NOT NULL)
GO

CREATE UNIQUE INDEX Tabla1_idx ON Tabla1(nro) WITH IGNORE_DUP_KEY
GO

insert Tabla1
select 1, 'Juan', 10 union all
select 2, 'Luis', 20 union all
select 1, 'Martin', 30
select * from tabla1

Servidor: mensaje 3604, nivel 16, estado 1, línea 2
Clave duplicada omitida.
nro nombre ss
-
1 lili 10
2 lili 20


drop table Tabla1
GO

CREATE TABLE Tabla1
(nro smallint NOT NULL ,
nombre char(30) NOT NULL ,
ss char(10) NOT NULL)
GO

CREATE UNIQUE INDEX Tabla1_idx ON Tabla1(nro)
GO

insert tabla1
select 1, 'Juan', 10 union all
select 2, 'Luis', 20 union all
select 1, 'Martin', 30
select * from tabla1

Servidor: mensaje 2601, nivel 14, estado 3, línea 2
No se puede insertar una fila de claves duplicadas en el objeto 'Tabla1' con
índice único 'Tabla1_idx'.
Se terminó la instrucción.
nro nombre ss
-


"Jose Luis" escribió en el mensaje
news:#
En una tabla, (facturas en este caso), he creado un indice unico por los
campos Serie y NumFactura, la duda me surge en las opciones que tiene la
ventana de creacion de indices del Enterprise Manager, en concreto al


crear
un indice UNIQUE tienes dos opciones: Restricción y Indice.
Que diferencia hay entre estas dos opciones ?
Si elijo la opcion indice ademas puedo marcar la casilla 'Pasar por alto
claves duplicadas'
Que significa esta nueva opcion?.
Que ignora las filas de la tabla con clave duplicada.y las desecha sin
ningun mensaje de error.?
O las incuye en la tabla pero no en el indice.?

No acabo de aclararme con estas opciones, hasta que empece con mssql un
indice unico era eso 'un indice unico' y ya esta., si el usuario o un
proceso intenta modificar o insertar una fila que crea un duplicado, la


base
de datos envia un error al programa acerca de este error que el


programador
(yo) debe tratar en su aplicacion, asi de sencillo.

Podria alguien aclararme este tema.?

Gracias.










Salu2
Maxi


"Oscar" escribió en el mensaje
news:
En SQL Server. Cuando se define una clave
candidata con UNIQUE ¿Qué diferencia hay entre
elegir "restricción" o "índice"?

A parte de poner la soluccion aquí lo agradeceria q me la mandarias a


MUCHAS GRACIAS
Respuesta Responder a este mensaje
#2 Oscar
22/11/2004 - 15:19 | Informe spam
Maxi se agradece tu interes, pero lo q yo busco es mas una solucion mas
teorica de las diferencias en SQL, es decir, una solucion de un manual de SQL
Server.

Se agradeceria, aunq se q a lo mejor no es posible, q contestara uno de
microsoft; aunque si no lo sois y teneis ideas tambien las podeis mandar.


Respuesta Responder a este mensaje
#3 Maxi
22/11/2004 - 15:25 | Informe spam
Hola, no soy de MS, pero te puedo decir que esa solucion teorica la
encontras en los Libros on line, buscando por "Indices". Ahi tienes toda la
informacion teorica/practica que necesitas


Salu2
Maxi


"Oscar" escribió en el mensaje
news:

Maxi se agradece tu interes, pero lo q yo busco es mas una solucion mas
teorica de las diferencias en SQL, es decir, una solucion de un manual de
SQL
Server.

Se agradeceria, aunq se q a lo mejor no es posible, q contestara uno de
microsoft; aunque si no lo sois y teneis ideas tambien las podeis mandar.


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida