El Reto Del Usuario Ceporro


Ir a la página 1, 2, 3  Siguiente

Objetivo: El Reto Del Usuario Ceporro
Póngase una base de datos (lista, tabla, colección, array...) de lo que quieras, digamos personas.
Póngase una clave autonumérica y automática. Guay.
Póngase un puñado de usuarios perezosos, o desinformados, o tontos directamente.
En lugar de pulsar el botón que tiene una lupa y la leyenda "Buscar persona", se dedican a teclear los datos en un alta nueva una y otra vez.
Resultado: un montón de registros duplicados que no lo son. Es decir, la clave es distinta, el contenido no.
Peor aún: el contenido es duplicado sin serlo. es decir, tenemos registro como:

id nombre localidad
1 Pepe Luis Pérez Elche de la Sierra
2 Jose Luis Pérez Elche de la S.
3 J. Luis Perez Elche Sierra
etc. etc.

¿Qué método de buscar duplicados (mejor dicho posibles duplicados) se os ocurre?

A mí me viene uno que a lo mejor funciona o a lo peor no, pero no doy pistas...
Venga machotes. No hace falta código, si no os apetece, sólo ideas.

última edición por shordi el Martes, 27 Enero 2015, 17:54; editado 1 vez
Perfil MP  
Objetivo: Re: El Reto Del Usuario Ceporro
Truncate tabla_usuarios

Y empezar de nuevo.

Para prevenir futuros problemas,

Delete from table usuariosceporros where coeficiente_intelectual < 60

Saludos

Perfil MP  
Objetivo: Re: El Reto Del Usuario Ceporro
Hola!.

Y si al entrar el registro también busca ?.

Saludos

Objetivo: Re: El Reto Del Usuario Ceporro
Shordi:

Citar:
¿Qué método de buscar duplicados (mejor dicho posibles duplicados) se os ocurre?

Usando sentencias con "Like", y asi empezar a buscar los registros parecidos... aunque es muy manual te daria mucho trabajo.

Nota:
Para evitar esto, puede ayudar que tengan un formulario separado para las busquedas y otro para la inserción de registros.

Jguardon:
Citar:
Para prevenir futuros problemas,
Delete from table usuariosceporros where coeficiente_intelectual < 60

Hombre, eso es muy duro... lo suyo es darles clases y explicarles como hay que hacerlo. Poner un icono bien grande de LUPA, puede ayudar...

Nosotros en la antigua empresa tuvimos muchos problemas con esto de tener registros duplicados... Por ejemplo poniamos "HM3" o "Hm3" o "H-m3" o "Hm-3", etc... lo mejor es tener un criterio para insertar los datos (por ejemplo todo en mayusculas, etc) y siempre antes de insertar algo nuevo, buscarlo por si ya estaba....

Otro posible solución es que solo algunas personas esten autorizadas para meter datos, y que ellos sepan las reglas a seguir para introducción de los registros.

Saludos

Añado:

Citar:
Qué método de buscar duplicados (mejor dicho posibles duplicados)


Hacer una función que compare entre los registros, y que te avise (o cree una tabla), donde indique que hay registros que pueden contener el mismo texto. Por ejemplo que cuente los caracteres que haya (sin contar las vocales, por ejemplo), y si encuentra otro registro con un % parecido te lo diga... algo asi de como busca un corrector ortografico.

última edición por jsbsan el Martes, 27 Enero 2015, 20:28; editado 1 vez
Objetivo: Re: El Reto Del Usuario Ceporro
He encontrado una manera con la función soundex de mysql o el operador sounds like, que es lo mismo

SELECT a.rowid,a.nombre,a.localidad,b.rowid,b.nombre,b.localidad FROM personas a , personas b WHERE a.nombre sounds LIKE b.nombre AND a.localidad sounds LIKE b.localidad AND a.rowid<> b.rowid


No es perfecto, sobre todo con los acentos y demás... pero se aproxima, se aproxima.

última edición por shordi el Martes, 27 Enero 2015, 23:21; editado 1 vez
Perfil MP  
Objetivo: Re: El Reto Del Usuario Ceporro
Shordi:

Encontré esto:

SELECT columna1, columna2, count(*)
FROM tabla
GROUP BY columna1, columna2
HAVING count(*) > 1


Prueba a ver que hace, varia el número de columnas que te interesa buscar.

Saludos

Objetivo: Re: El Reto Del Usuario Ceporro
Citar:

Shordi:

Encontré esto:

Código:
SELECT columna1, columna2, count(*)
FROM tabla
GROUP BY columna1, columna2
HAVING count(*) > 1

Prueba a ver que hace, varia el número de columnas que te interesa buscar.

Saludos



No, Shell, Group by y Having, son formas de gestionar la salida de la consulta, pero no de búsquedas "difusas". Tienen sus enormes ventajas y sus inconvenientes, pero no son para esto. Gracias por el interés.
Creo que el tema va más por eso de mandar un grupo de matones a la puerta de la casa de los usuarios y tal....

Perfil MP  
Objetivo: Re: El Reto Del Usuario Ceporro
Citar:
Poner un icono bien grande de LUPA, puede ayudar...

De ese ya tenían, pero se lo ampliaré a 640 x 480 o así... brrrr... y pensar que todos tienen carrera y son licenciados... brrr....

Perfil MP  
Objetivo: Re: El Reto Del Usuario Ceporro
Respecto a la lupa.

Entonces la lupa, ¿ que función cumple ?. ¿ Qué antes de ingresar un registro busca si existe lo que va a entrar el usuario ?.
Algo pesado . ¿ No ?. Si por cada registro que ingresa tiene que usar la lupa.
Debe de ser eterno y por no decir tortuoso.

Puede que esto se deba hacer de una forma transparente, como que al darle al enter, se realice la búsqueda e informe
antes al usuario de que lo que va ingresar hay algo similar en la base de datos.

O hacer una búsqueda al final de entrar todos los registros.

Queda la posibilitad de que a la vez que escribe se abra una lista mostrando coincidencias, pero tiene que se de lento, que no veas.

Saludos

Objetivo: Re: El Reto Del Usuario Ceporro
Citar:
Respecto a la lupa.

Entonces la lupa, ¿ que función cumple ?. ¿ Qué antes de ingresar un registro busca si existe lo que va a entrar el usuario ?.
Algo pesado . ¿ No ?. Si por cada registro que ingresa tiene que usar la lupa.
Debe de ser eterno y por no decir tortuoso.

Puede que esto se deba hacer de una forma transparente, como que al darle al enter, se realice la búsqueda e informe
antes al usuario de que lo que va ingresar hay algo similar en la base de datos.

O hacer una búsqueda al final de entrar todos los registros.

Queda la posibilitad de que a la vez que escribe se abra una lista mostrando coincidencias, pero tiene que se de lento, que no veas.

Saludos


El problema no es la lupa. Nadie puede lanzarse a entrar datos sin una verificación previa. Es más, el programa, tal como está diseñado, no permite entrar a añadir nada sin antes tener delante de las narices la lista de lo existente. Sin embargo no hay defensa contra la ceporrez de algunas personas... no me tiréis de la lengua, que llevo 30 años peleando con los ususaurios...

Decía la vieja frase: "Es inútil intentar programar para tontos. Los tontos hacen siempre cosas extrañísimas".

Perfil MP  
Ir a la página 1, 2, 3  Siguiente

Página 1 de 3


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 6.3244s (PHP: -99% SQL: 199%)
Consultas SQL: 48 - Debug off - GZIP Activado