Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 3
Ir a la página 1, 2, 3  Siguiente
 
El Reto Del Usuario Ceporro
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje 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 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: El Reto Del Usuario Ceporro 
 
Hola!.

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

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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.
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
última edición por jsbsan el Martes, 27 Enero 2015, 20:28; editado 1 vez 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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....     
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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....
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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".
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Encuesta: Encuesta De Reto 1 v3ctor Retos de programación 3 Martes, 02 Septiembre 2014, 22:16 Ver último mensaje
jguardon
No hay nuevos mensajes Reto Volados razaAztk Retos de programación 2 Sabado, 20 Septiembre 2014, 18:49 Ver último mensaje
razaAztk
No hay nuevos mensajes Reto De La Ultratumba vuott Retos de programación 11 Lunes, 29 Septiembre 2014, 20:57 Ver último mensaje
Shell
No hay nuevos mensajes El Reto De Los Calendarios shordi Retos de programación 3 Sabado, 11 Abril 2015, 09:59 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 3
Ir a la página 1, 2, 3  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
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



  

 

cron