miércoles, 9 de mayo de 2012

Eliminación de duplicados – Access


Eliminación de duplicados –  Access

Primero aclaremos algunos conceptos:
Datos duplicados: existen dos tipos de datos duplicados, los necesarios y los innecesarios para nuestra base de datos. Estos últimos son los que nos interesa eliminar porque están utilizando espacio y puede perjudicar al momento de tomar decisiones. La duplicación de una entidad puede ser parcial o total. Por ejemplo, una entidad puede ser CLIENTE, el cual tiene atributos como Rut, nombre, apellido, dirección, teléfono, entre otros. La duplicación puede ser parcial cuando hay dos o más registros que comparten los mismos datos, pero no en todos los atributos. Como en el siguiente caso, en donde hay dos registros para Wilman Kala.



Los datos duplicados lo podemos encontrar: en una misma tabla, pueden existir dos tablas con distinto nombre pero con mismos datos o bases de datos.
Antes de eliminar los datos duplicados, debemos saber cuáles son, identificar el tipo y si es necesario eliminarlos de la base de datos.

Para saber primero cuales son los datos duplicados que hay en una tabla, lo que tienes que hacer es lo siguiente:






En el caso que desees hacer una búsqueda de un dato parcial, debes hacer la consulta a través de SQL, en donde puedes modificar la consulta y adaptarla según a tú necesidad. Al hacer la consulta te tienes que percatar que contenga el registro que lo hace único, como por ejemplo puede ser en el caso del Cliente su Rut.

Con los datos duplicados puedes aplicar distintas funciones, tales como: sumar, contar, obtener el promedio, ocultar los datos, agrupar los datos duplicados y señalar la cantidad de duplicados, pero solo ves un registro, eliminar duplicados.

Una vez que tienes vistos los datos duplicados, Access entrega la opción de utilizar consultas de eliminación, para eliminar los datos que no son necesarios y que ocupan un espacio valioso en la base de datos.

Se recomienda que cada vez que realices alguna eliminación, crees una copia de seguridad de tu archivo, esto es con el propósito, por ejemplo, de si cometes algún error al momento de la eliminación.

De seguro tu base de datos tendrá más de una tabla. Es muy importante que antes que empieces con la eliminación de los datos duplicados, sepas si los datos que están en esa tabla tienen alguna relación con datos de otra tabla y cómo es esta relación (1àn o de nà1). Esto último lo debes considerar porque dependiendo de cómo sea la relación te indica la acción que debes realizar.



Por ejemplo: si deseas eliminar datos de la tabla PRODUCTOS, solo tienes que hacer una consulta normal, como vimos anteriormente. Pero si deseas eliminar algún dato de la tabla PROVEEDORES deberás hacer una consulta especial.

Ahora que ya tienes claro los datos y sus relaciones podemos diseñar nuestra consulta que eliminará los datos duplicados innecesarios para nuestra base de datos.

Para esto debes ir a Diseño de consulta, tal como se ve en la imagen.

 








En la parte inferior (marcado con un círculo verde) debes elegir de qué atributos deseas eliminar datos y deberás poner los criterios que deben cumplir estos datos. Una vez que ya tienes definidos los criterios debes desactivar la casilla Mostrar.

Recuerda que estás trabajando en la hoja de la consulta.

Cuando tengas lista tu consulta debes Ejecutar (recuadro Resultado). Verifica que los datos son los correctos. Cuando ya estés listo, vuelve a la vista de diseño de la consulta y Elimina. A continuación debes nuevamente verificar que son los datos que deseas eliminar. Presiona Ejecutar y confirma tu operación.

Ahora veamos el caso que dos tablas tengan los mismos datos.

Al igual que lo anterior, Access permite que puedas dejar un solo registro, modificar los registros duplicados en ambas tablas y eliminar registros y dejar una tabla con todos los datos necesarios.
Debes tener presente las relaciones que existen entre las tablas (las que están duplicadas y las otras que conforman tu base de datos).

Si vas a eliminar una tabla (tabla1), asegúrate que la que quedará (tabla2) tenga las relaciones que tenía la tabla 1 con las otras tablas de la base de datos y  que la llave sea la misma para ambas.

Al igual que el caso anterior, tenemos que hacer una consulta de eliminación en donde busquemos los registros duplicados para luego eliminarlos.

Luego de esto tenemos que hacer una consulta de datos anexados para los datos de la tabla que deseamos eliminar a la otra tabla para deshacernos de la que no necesitamos.
Seguiremos los pasos del caso anterior:





Esta vez mostraremos las dos tablas que tienen registros duplicados y vamos a relacionar a través de sus nombres. Por ejemplo relacionamos Nombre que es de la tabla COMPRADORES, con Nombre Cliente que es de la tabla CLIENTES.

Debemos indicar que se dejen los registros únicos. Para eso vamos a propiedades (con el botón derecho) y ponemos un Sí en Registros Únicos.


Luego, volvemos a la vista de diseño de la consulta y Eliminamos.


A continuación procedemos a rellenar la hoja que está en la parte inferior. Lo haremos de la siguiente manera:
Arrastraremos todos los campos de la tabla CLIENTE tal como aparece en la siguiente imagen



En el campo que dice eliminar debes poner Desde y en el campo criterios debes poner el nombre de la tabla que deseas conservar y el atributo de la tabla que deseas eliminar.

Una vez verificados los datos que deseas eliminar, tienes que  Ejecutar.




Lo que puedes hacer ahora, en el caso que hayan quedado registros en la tabla CLIENTES (que no estaban en la tabla COMPRADORES), los puedes transportar a la tabla COMPRADORES, de esta forma solo tendrás una tabla con toda la información que tenías en dos tablas.

Esto se hace a través de una consulta. Debes ir a  Diseño de Consulta agregar la tabla CLIENTE y busca la opción Anexar.



Ahora debes seguir los pasos que hicimos en la eliminación de datos. Completar los datos en la hoja que está en la parte inferior. Con la diferencia que ahora debes anexar los datos que están en la tabla CLIENTES sin especificar criterios.



Ya que tienes todos tus datos en una tabla (COMPRADORES), podrás eliminar la tabla CLIENTE.

No hay comentarios:

Publicar un comentario