Bueno, alli está la metida de pata. Parece que no te quedó claro el concepto de clave de índice, ni el uso de uNIQUE.
Cuando creas un indice sobre un conjunto de campos, no es que se genere un indice por cada uno independientemente. Se crea
un único índice cuya clave de ordenamiento
está compuesta por todos los campos indicados al mismo tiempo. Y una clave se diferencia de otra cuando
al menos un caracter o número en alguno de los campos de la clave, es diferente entre dos registros dados.
Si tuvieses índice UNIQUE tablaidx(a, b, c), y los campos a, b y c tuviesen estos valores:
Lo que no podrías ingresar en un valor como 1-1-1, ó 5-5-1, o cualquiera que ya exista en el conjunto, pero en cada uno de los campos que componnen la clave de índice pueden ingresarse N veces cada uno de los valores.
Un índice UNIQUE que contemple el numero de documento debe ser definido directa y exclusivamente sobre ese campo, sin otro agregado, ya que lo que se debe proteger es la
unicidad de los valores de documento en toda la tabla, de modo que no se repita el mismo numero entre dos registros cualesquiera.
¿Se entiende?