Joan Pallerola Comamala

Excel y SQL de la mano


Скачать книгу

que tiene variantes según las bases de datos. No es exactamente el mismo el que se utiliza en SQL Server del que se utiliza en MySql o Access, a pesar de que algunos programas o sistemas sean de un mismo fabricante. Aunque, frente a esta dificultad, la ventaja es que son muy parecidos. Sirva esto de consuelo.

      Si se quiere enlazar datos de una tabla con otra, aparecen las CONSULTAS o QUERIES. Para ello debe haber un campo en cada tabla que sirva de nexo entre ellas. Sería el caso del campo SUBCTA en la figura vista anteriormente, con el campo CUENTA en una tabla del plan de cuentas. De esta manera, de una forma práctica se evitará la redundancia de datos.

      Y otra ventaja de las consultas es que, establecido el nexo, se pueden seleccionar todos los campos de ambas tablas o los campos de una u otra que se necesiten. Y, además, se pueden crear nuevos campos que provengan de los existentes: podría ser el caso de un nuevo campo que podría llamarse AÑO, obtenido por la aplicación de la función YEAR sobre el campo FECHA.

      El tratamiento de la consulta obtenida sería parecido al que se realiza en una tabla existente. Y la consulta, que tal y como se ha explicado se ha realizado vinculando dos tablas, se podría hacer con más tablas.

      Y, en lugar de un solo nexo, puede haber varios:

Illustration

      En este caso, se relacionan dos tablas: CoDia y CoPla. Una es un diario contable que tiene el código de cuenta en DIACTA, al que le falta la descripción, que está en CoPla, para evitar redundancias. Si se modifica esta descripción en CoPla, quedará modificada en todas las consultas que se hagan porque en estas se relaciona la empresa con el código de cuenta.

      La flecha indica que en el caso de que no se encuentre la correspondiente cuenta de CoDia en CoPla, se muestre la cuenta de CoDia sin descripción. Si no hubiese ninguna flecha, solo se mostrarían los campos coincidentes. Más adelante, en el capítulo dedicado a las consultas de Access o del Query de Excel, ya se verá cómo se indica esta condición.

      La selección de los campos que aparecen en la consulta puede ser selectiva o hacer que aparezcan todos. Esto último suele ser pesado, a no ser que haya pocos campos en las tablas constitutivas de las consultas.

Illustration

      En este ejemplo, se han seleccionado diversos campos de la tabla CoDia; un campo, PLADES, de la tabla CoPla, y el campo DEBE, resultante de aplicar una función a un campo de CoDia.

      Esta consulta se ha realizado con el programa Microsoft Access, que permite crearlas en un entorno gráfico en casi su totalidad. Y también permite obtener la sentencia SQL que la conforma. En este caso esta sentencia sería:

Illustration

      En el capítulo dedicado al lenguaje SQL se analizará cómo se elaboran estas instrucciones.

      Una vez vistas las características principales de las bases de datos, ¿se puede decir que Microsoft Excel es un SGBD?

Illustration

      No, Microsoft Excel no es un sistema de gestión de bases de datos. Aunque hay muchas personas que utilizan Excel para almacenar información, no lo convierte en un SGBD, o sistema de gestión de bases de datos.

      Excel no tiene un servicio que controle la inserción o eliminación de los datos, sino que es el mismo usuario quien puede o debe hacerlo directamente en la aplicación.

      Otras desventajas de utilizar Excel para almacenar nuestros datos son:

      • Solo un usuario puede acceder a la información al mismo tiempo.

      • Excel irá más lento a medida que la base de datos crezca.

      • No es posible establecer un nivel de seguridad avanzado como para proteger ciertos datos de determinados usuarios.

      Pero a pesar de ello, si se diseña y organiza adecuadamente la información dentro de un libro de Excel, se podrán tratar los datos de una manera fácil y eficiente.

      A partir de aquí veremos las mejores técnicas para crear y trabajar con bases de datos en Excel que permitan organizar y estructurar adecuadamente la información, dentro de las técnicas del Self Service Business Intelligence.

      En el momento en el que se quiera construir una base de datos en Excel, habrá que tener en cuenta una serie de puntos para que dicha base de datos funcione:

      • No puede haber columnas vacías entre un campo y otro.

      • Todas las columnas deben tener un nombre, que será el que se asignará como nombre de campo. Este nombre estará en la primera fila de la base de datos.

      • Si no se asignase nombre, habrá que decírselo a Excel ya que, de lo contrario, tomaría como nombre la primera fila de datos o lo asignaría por defecto.

      • Tampoco puede haber filas vacías entre un registro y el siguiente, ya que Excel puede tomar la fila vacía como un registro vacío o finalizar la base de datos en el registro anterior a la fila vacía.

      Todos estos puntos hay que tenerlos muy en cuenta tanto si se trabaja con las instrucciones propias de bases de datos como cuando se trabaje con SQL.

      Las funciones que se pueden utilizar en Excel para la manipulación de bases de datos son básicamente las siguientes:

BDCONTAR Cuenta el número de celdas que contienen números en la base de datos
BDCONTARA Cuenta el número de celdas no vacías de la base de datos
BDDESVEST Calcula la desviación estándar a partir de una muestra de entradas seleccionadas en la base de datos
BDDESVESTP Calcula la desviación estándar en función de la población total de las entradas seleccionadas de la base de datos
BDEXTRAER Extrae de la base de datos un único registro que cumple los criterios especificados
BDMAX Devuelve el valor máximo de las entradas seleccionadas de la base de datos
BDMIN Devuelve el valor mínimo de las entradas seleccionadas de la base de datos
BDPRODUCTO Multiplica los valores de un campo concreto de registros de la base de datos que cumplen los criterios especificados
BDPROMEDIO Devuelve el promedio de las entradas seleccionadas en la base de datos
BDSUMA Agrega los números de la columna de campo de los registros de la base de datos que cumplen los criterios
BDVAR Calcula la varianza a partir de una muestra de entradas seleccionadas de la base de datos
BDVARP Calcula la varianza a partir de la población total de entradas seleccionadas de la base de datos