Este artículo trata de como aprovechar una hoja de cálculo para inicializar tablas en la base de datos.

Dentro de una base de datos guardamos tablas que consideramos “de configuración” ya que no se suelen modificar pero, sí, leerse al menos durante la inicialización del programa. Como estas tablas se modifican pocas veces, es habitual no crear una interfaz gráfica para rellenarlas sino se editan sus datos directamente con una herramienta de administración de la base de datos.

Las tablas de configuración pueden contener datos muy parecidos entre si. Por ejemplo, una tabla de configuración podría definir una red de ordenadores de la siguiente manera:

Ejemplo de una tabla de configuración
Id Nombre Dirección IP
1 Ordenador 1 192.168.0.1
2 Ordenador 2 192.168.0.2
3 Ordenador 3 192.168.0.3
n Ordenador n 192.168.0.n

Como vemos, los datos en cada registro son casi iguales. La parte variable he marcado con una n en la última línea.

Editar una tabla así puede ser pesado cuando se tratan de muchas entradas. Por eso buscamos una manera más sofisticada. Una es crear los comandos INSERT con una hoja de cálculo como Microsoft Excel o Open Office Calc.

Hoja de cálculo para crear comandos INSERT
A B C D
1 Id Nombre Dirección IP Comando SQL
2 1 =”Ordenador ” & A1 =”192.168.0.” & A1 =”insert into mi_tabla values(” & A1 & “, ‘” & B1 & “‘, ‘” & C1 &”‘);”
3 =A1+1 Repite fórmula arriba
4 Repite fórmula arriba

Con “Repite fórmula arriba” me refiero a “copiar hacia abajo” la fórmula de la primera fila.

Con las fórmulas en la hoja de cálculo anterior obtenemos el siguiente resultado.

Hoja de cálculo resultante
A B C D
1 Id Nombre Dirección IP Comando SQL
2 1 Ordenador 1 192.168.0.1 insert into mi_tabla values(1, ‘Ordenador 1′, ’192.168.0.1′);
3 2 Ordenador 2 192.168.0.2 insert into mi_tabla values(2, ‘Ordenador 2′, ’192.168.0.2′);
4 3 Ordenador 3 192.168.0.3 insert into mi_tabla values(3, ‘Ordenador 3′, ’192.168.0.3′);

La última columna podemos copiar y pegar en un fichero de texto y ejecutarlo en el administrador de la base de datos. Así añadimos todas las entradas de golpe sin tener que editar todas las entradas a mano.

insert into mi_tabla values(1, 'Ordenador 1', '192.168.0.1');
insert into mi_tabla values(2, 'Ordenador 2', '192.168.0.2');
insert into mi_tabla values(3, 'Ordenador 3', '192.168.0.3');

Conviene guardar la hoja de cálculo junto con el proyecto para poder fácilmente cambiar la configuración como añadir una nueva fila para un nuevo ordenador o una nueva columna para una característica adicional.

Referencias

About these ads