Bases de datos.

Caso práctico

Imagen de Alicia y Juan trabajando.
Ministerio de Educación y FP (Elaboración propia)

La empresa que han creado Juan y Alicia ya está en marcha y necesitan disponer de toda la información organizada sobre los clientes, proveedores, las ventas, etc. Si no, cada vez que necesitan algún dato, pierden mucho tiempo buscándolo. Se han dado cuenta de que hay determinados procesos que se repiten habitualmente. Por ejemplo: cuando hay que modificar un dato, tienen que hacerlo en todos los documentos que lo manejen. Si se les olvida modificar en uno de ellos, la información proporcionada es errónea.

JUAN: Mira Alicia, cada vez que tengo que llamar por teléfono a un cliente tengo que ir al archivador de clientes y pasar un montón de hojas hasta que le encuentro. O mirar en la ficha que le creamos en el WRITE, (que no me acuerdo en la carpeta que lo guardé). Total: ¡se pierde mucho tiempo!


ALICIA: sí, yo cambié el otro día la dirección de un cliente en una carta pero, como se me olvidó modificarlo en su ficha, ayer envié otra carta con el dato antiguo. Hace poco que hemos abierto la empresa y no podemos permitirnos estos errores: tenemos que dar una buena imagen.


JUAN: vamos a sentarnos un rato, analizamos todos los problemas que tengamos, y pensemos una forma de organizar toda la información.


ALICIA: bien, luego podemos llamar a nuestra amiga Nekane. Ella tiene unos buenos conocimientos informáticos y sabrá darnos una solución.

Hasta ahora has visto cómo con un programa de hoja de cálculo, como CALC, se puede presentar todo tipo de datos (principalmente números) organizados en filas y columnas. Además, podemos realizar operaciones sobre ellos, representaciones gráficas de los datos y realizar presentaciones con formatos de todos los datos.

Hay alguna circunstancia que complica la gestión de datos con CALC, como por ejemplo:

  • Cuando tienes una gran cantidad de datos, buscar algún dato concreto y visualizarlo implica mucho tiempo ya que las hojas de cálculo no están preparadas para ello.
  • Cuando tienes que añadir nuevos datos o nuevas columnas (campos), habrá que ir dato a dato y columna a columna incorporando los datos en las hojas de cálculo.
  • Cuando tienes muchos datos iguales que se repiten sistemáticamente, implica un aumento de tamaño provocado por la redundancia de datos.

Para poder manejar los datos surge una forma de organizarlos llamada base de datos y con ella surgen unos programas específicos que tratan las circunstancias anteriores y las optimizan, como son los gestores de base de datos (SGBD).
Algunos de los programas de bases de datos más populares son Microsoft Access, Microsoft SQL Server, MySQL, Oracle y LibreOffice Base (HSQL).
En esta unidad aprenderás a manejar un programa gestores de base de datos como es "Base", perteneciente a la suite ofimática de LibreOffice.

Es una serie de datos organizados entre sí que sigue una estructura lógica determinada y que no coincide con su estructura física.

Programa que se encarga de organizar los datos tanto físicamente como en su organización lógica. Son ejemplos de gestores de bases de datos programas como "Base", "Access", "MySQL", etc.

Para saber más

En esta web puedes utilizar la base de datos de la Biblioteca Nacional de España, pudiendo acceder a los datos de los libros que guardan en sus fondos. Prueba a buscar los libros que tiene Cervantes, de esta manera verás y usarás los datos que tiene esa base de datos.

Base de datos Biblioteca Nacional

1.- Bases de datos relacionales.

Caso práctico

Imagen de Alicia y Juan en sus puestos de trabajo.
Ministerio de Educación y Formación Profesional. (Elaboración propia)

Juan y Alicia deciden informarse sobre el tema antes de llamar a Nekane y para ello buscan en Internet enlaces que hablan sobre las bases de datos.


JUAN: Llamar a Nekane para que nos asesore me parece buena idea, pero para saber de qué me va a hablar creo es conveniente que leamos algo sobre el tema.


ALICIA: En Internet hay mucha información al respecto.


JUAN: ¿Pero qué conceptos iníciales debemos buscar?


ALICIA: Yo creo que lo primero es saber que es una base de datos y sus componentes, y después saber cuáles son los programas que se utilizan.


JUAN: Pues no hay nada más que hablar, nos ponemos a buscar y leer toda esa información antes de hablar con Nekane.

Imagen de los pasillos de una biblioteca en done se ve las estanterías con los libros clasificados.
Emilio J. Rodríguez Posada (CC BY-SA)

¿Cómo puedes tener permanentemente actualizados todos los datos que maneja diariamente nuestra empresa? ¿Cómo consultar cualquier dato con sólo pulsar una tecla? ¿De qué manera se pueden introducir infinidad de datos utilizando un interfaz agradable y que facilite la inserción de datos? ¿Cómo crear informes escritos sobre los datos manejados en pocos segundos?

Estas preguntas las irás resolviendo a lo largo de esta unidad, pero necesitaras comprender algunos conceptos que te resultaran nuevos y algo alejados de las cosas conocidas.

Entre ellos, tendrás que tener claro qué es una base de datos, los tipos que la forman, las características que deben cumplir, también deberás aprender a manejar el software que trata los datos y cuáles son los programas más utilizados.

Y por último te adentrarás en las causas que hacen que el modelo de bases de datos relacional sea el más utilizado y efectivo.

Una ventana gráfica de una aplicación software que ayuda en la comunicación del usuario con el software.

1.1.- Introducción.

Imagen que muestra un archivador antigüo.
Eduardo Testart (CC BY-SA)

Las bases de datos principalmente son una colección de datos relacionados entre sí y agrupados por características comunes, que son almacenados en un lugar común para su posterior utilización.

El concepto de bases de datos surge por la necesidad que tienen las empresas de guardar los datos y de usarlos. Lógicamente cuando los datos a almacenar son pocos y los tipos de datos son escasos, es posible que los que trabajan con ellos puedan recordarlos o incluso puedan guardarlos en archivadores, de manera que su búsqueda sea fácil y rápida.
Pero cuando esos datos abarcan muchas características y además existen millones y millones de datos por cada tipo, su organización, almacenamiento y tratamiento manual, se hace imposible. Incluso si su manejo se hace con herramientas informáticas, puede ocurrir que los datos no estén bien estructurados y el diseño no sea adecuado, con lo que es inviable su tratamiento.

Así, en la vida real y laboral surgen muchos ejemplos de datos que son almacenados y tratados con bases de datos, por ejemplo:

  • Una biblioteca que presta libros a los diferentes usuarios y usuarias, tiene la necesidad de llevar un registro: identificar a los usuarios (por si no devuelven el libro reclamárselo), quién tiene un libro, cuándo lo tiene que devolver...
  • Una tienda online que vende componentes informáticos por Internet, tiene que tener una lista con los componentes y saber de ellos características, precios, existencias… También tiene que tener una lista de los clientes y clientas que se registran en su web con sus datos identificativos, para cuando un cliente o clienta compre un componente saber dónde llevárselos, dónde cobrárselos…

Y los ejemplos serían infinitos, ya que la cantidad de información que se maneja hoy en día es enorme.

Para que te hagas una idea de cómo son y cómo se preparan las bases de datos, te plantearé una situación real que te ayudará a comprender la utilidad y su funcionamiento. Para ello, tendrás que imaginarte una empresa que realiza reparaciones de equipos de impresión.
En la primera parte de esta unidad utilizarás este ejemplo para ir aprendiendo qué elementos conforman una base de datos y cómo se realizan los grupos que contienen los datos, así como las relaciones que se establecen entre los diferentes grupos de datos.

Para saber más

A través del siguiente enlace, puedes acceder a un vídeo donde aparece explicado la evolución de las bases de datos: Historia de las Bases de Datos.

1.2- Base de datos definición y componentes.

Para empezar, vas a poder definir una base de datos como una serie de datos organizados y relacionados entre sí. Los cuales son cogidos, explotados y almacenados sin redundancias y cuya finalidad es ser utilizados por varias aplicaciones de forma eficiente.

Una base de datos está formada por los siguientes componentes:

  • Hardware: máquinas en las que se almacenan las bases de datos. Incorporan unidades de almacenamiento.
  • Datos: son elementos con información que aportan conocimiento si son tratados y procesados.
  • Software: conocidos como Sistemas Gestores de Bases de Datos (SGBD), es el interfaz entre los datos y los usuarios o usuarias.
  • Usuarios: Son aquellos que utilizan y manipulan los datos, los tratan y consiguen una información significativa. Hay tres tipos de usuarios y usuarias en relación a las bases de datos:
    • Usuarios o usuarias finales: son los que utilizan los datos.
    • Desarrolladores y desarrolladoras: encargados de desarrollar aplicaciones para los usuarios finales.
    • Administradores o administradoras: son los que se encargan de gestionar las bases de datos.

Toda base de datos, para que se considere como tal, ha de tener las siguientes características:

  • Redundancia mínima, que los datos no estén duplicados en las diferentes estructuras.
  • Integridad de los datos, que los datos no estén vacíos o con errores.
  • Abstracción o independencia lógica y física de los datos, que no tenga que haber relación entre cómo se guardan los datos en el ordenador (física) y cuál es la estructura organizativa de los datos (lógica).
  • Acceso concurrente a datos, que sea posible utilizar o modificar los datos por parte de diferentes usuarios y usuarias simultáneamente.
  • Seguridad de acceso, que se puedan establecer restricciones de uso a determinados datos por parte de algunos usuarios o usuarias finales. Esto es determinado por el administrador o administradora.
  • Consultas complejas optimizadas, que tenga opciones de realizar consultas que extraigan información útil de la manera más rápida y efectiva por complejas que estas sean.
  • Auditoría, que se pueda tener un registro de qué, quién y cómo utiliza los datos
  • Respaldo y recuperación, que exista un sistema que realice copias de seguridad y permita recuperar datos al producirse fallos o errores.

Autoevaluación

Pregunta

¿Cuál de las siguientes características es una de las que tienen que cumplir las bases de datos?

Respuestas

Puede haber datos duplicados.

Puede haber datos vacíos y los errores no afectaran al funcionamiento de la base de datos.

No hay relación entre como se guardan los datos en el ordenador y cómo se guardan los datos en la estructura de la base de datos.

No es posible acceder al mismo dato en el mismo instante por parte de diferentes usuarios y usuarias.

Retroalimentación

1.3.- Sistemas gestores de bases de datos (SGBD).

Como ya has visto en la introducción de este tema se ha indicado que para trabajar con bases de datos necesitamos un programa informático que se encargue de organizar los datos y hacer que su tratamiento sea lo más rápido y fiable posible.

Los SGBD (en inglés se conoce a este software como database management system, abreviado DBMS) son un software encargado de que los datos estén almacenados y organizados de acuerdo a las reglas que caracterizan a una base de datos: Redundancia mínima, Integridad de los datos, Abstracción, Acceso Concurrente, Seguridad, Auditoria, Consultas, Respaldo y Recuperación.
Este tipo de programas además de servir como interfaz entre la base de datos y el usuario o usuaria, permite diseñar aplicaciones específicas para la utilización de los datos como son: la creación de tablas, consultas, formularios e informes.
Estas aplicaciones son creadas específicamente para los datos que manejamos y ayudan a sacar conclusiones. La única limitación que tienen estas aplicaciones es que no pueden utilizarse con bases de datos diferentes.

  1. Nivel interno o gestor que se encarga de cómo almacenar los ficheros.
  2. Nivel lógico o de programas que controla la gestión de los datos.
  3. Nivel externo o de usuario que realiza el diseño de la base de datos, su apariencia y su estructura.

Si trasladas estos niveles a un SGBD como "Base", el nivel interno y lógico lo forman el programa y el nivel externo forma parte de quien piensa la necesidad de la base de datos, de quien crea la agrupación de los datos y de quien crea las aplicaciones para manejar los datos.

Por lo general, podremos distinguir cuatro modelos diferentes de SGBD:

  • Los SGBD en red.
  • Los SGBD jerárquicos.
  • Los SGBD relacionales.
  • Los SGBD orientado a objetos.

De los anteriores modelos solo vamos a considerar el relacional por ser el que emplean la mayoría de los SGBD, y en concreto los programas más utilizados a nivel de usuario como son: Access y Base. Ya que a nivel profesional se suelen emplear otros gestores más sofisticados, que son objeto de análisis en ciclos superiores.

Aplicación específica de los gestores de bases de datos que te permite realizar y almacenar la búsqueda de determinados datos en una base de datos.

Aplicación específica de los gestores de bases de datos que permite diseñar interfaces para introducir datos en una base de datos.

Aplicación específica de los gestores de bases de datos que permite presentar los datos de una base de datos, pudiendo decidir qué datos se van a presentar.

1.4.- Base de datos relacionales.

Imagen que muestra la estructura de una base de datos relacional.
Ministerio de Educación y Formación Profesional (Elaboración propia)

En el modelo relacional los datos se suelen representar como tablas bidimensionales, compuestas de filas y columnas. Cada fila representa una ocurrencia y cada columna representa propiedades de las filas. Y existen relaciones entre las diferentes tablas a través de ocurrencias con los mismos datos.

Para que entiendas las ventajas del modelo relacional imagina un ejemplo de base de datos simple como los que propone CALC en donde tienes toda la información en una sola tabla. Esto conlleva que cuando hay datos comunes a varios registros, éstos tienen que repetirse para cada uno de ellos.

En un ejemplo, donde puedes tener determinada información de unos compradores definida por campos como: nombre, ciudad, dirección y teléfono. Ocurre que algunos de estos campos contendrán datos comunes a diferentes compradores y compradoras como es el caso de ciudad. Si se realiza esta base de datos con el modelo relacional podemos tener la información en diferentes tablas, una para compradores y otra para ciudades, y establecer una relación entre ellas. De manera que los datos de ciudades estén en la tabla ciudades y cuando se tenga que rellenar los datos de la tabla compradores, se utilice la relación que hemos establecido para utilizar los datos de las ciudades.

La principal ventaja de este modelo relacional está en que permite ahorrarnos mucho tiempo ingresando una y otra vez la misma información.

Es el conjunto de datos de una fila de la tabla y está formado por campos o atributos que definen a este registro con información relevante.

Es una característica concreta de un registro, en el que almacena la unidad mínima de información.

Debes conocer

Los requisitos que han de cumplir las tablas en las bases de datos relacionales:

  • La tabla puede tener solo un tipo de registro. (Una tabla recoge los datos de diferentes registros estudiados de una y solo una manera determinada). Ejemplo: en una tabla que recoge los datos personales de diferentes personas no habrá datos de sus aficiones.
  • De cada registro se podrá conocer un número determinado de campos, cada uno de ellos con su nombre correspondiente. Ejemplo: en una tabla que recoge los datos personales tendrá campos como: nombre, apellidos, dirección, edad…
  • La base de datos podrá contener al menos una tabla; una tabla por cada tipo de registro. Ejemplo: En una base de datos puede haber una tabla de datos personales, y otra de aficiones que se relacionan entre sí y permiten saber a qué personas les gustan los mismos deportes.
  • Dentro de cada tabla, cada campo es distinto. Ejemplo: no habrá dos campos DNI en la misma tabla de datos personales.
  • Cada registro en una tabla es único: no hay registros duplicados. Ejemplo: en una tabla de datos personales puede haber dos o más personas que se llamen igual y que tengan la misma edad, pero no podrán tener el mismo número de identificación.
  • Los registros dentro de cada tabla no tienen una secuencia determinada. Ejemplo: los datos de las personas recogidos en la tabla de datos personales no tienen por qué encontrarse ordenados.
  • Se pueden crear nuevas tablas relacionando campos procedentes de dos o más tablas ya existentes. Ejemplo: en una base de datos que recoge la información de una academia que imparte cursos a sus alumnos y alumnas, los datos de matrícula o inscripción del alumnado en cada curso serán recogidos en una tabla que surge: del campo que define los cursos inequívocamente y del campo que define a los alumnos inequívocamente.

1.5.- Pautas para crear una base de datos.

Ilustraciñon que muestra el símbolo de una base de datos junto con unos engranajes.
IO-Images (Dominio público)

El diseño de bases de datos es una labor compleja que no va a ser tratada en este ciclo. Pero para que entiendas cual suele ser la forma de definir una base de datos y como se plantea la estructura de los datos, se te va a plantear un enunciado y a partir de él irás determinando los elementos que la componen, como son las tablas, relaciones, claves…

Cuestiones a tener en cuenta sobre el diseño de base de datos:

  • Lo primero que has de tener en cuenta, es un enunciado donde se establezcan la estructura lógica o conceptual la cual indicará la composición y distribución teórica de la base de datos.
  • También hay que fijar una serie de objetivos que debe cumplir tu base de datos, en relación a las acciones que se van ha realizar con ellas. Alguno de estos objetivos pueden ser: poder introducir datos, modificar datos, consultar datos, listar los datos, realizar informes sobre los datos, saber las existencias, etc

Reflexiona

Imagen que muestra la fachada de la empresa "Impresión rápida S.L."

El diseño de bases de datos puede llegar a ser una labor bastante compleja, pero te vamos a proponer un pequeño ejemplo que se vea lo comentado anteriormente.

La empresa "Impresión Rápida S.L" dispone de una serie de empleados y empleadas, que son los encargados de ir a reparar las averías que surgen a los diferentes clientes que tienen contratados con ellos un mantenimiento integral.

Para que la administración de la empresa pueda llevar un registro de las reparaciones que se han hecho y de los recursos de las empresas que han intervenido, se decide preparar una base de datos que lleve esta información para que la realización de informes y consultas sea más rápida y eficaz.

  • Los datos que se van a utilizar se clasifican en grupos con un denominador común, así, en este caso tendremos dos grupos de datos: los empleados y empleadas y las averías.
  • El primer grupo de datos (o tabla) son los empleados y empleadas a los que daremos el nombre "EMPLEADOS" y tendrá información interesante para la empresa, como el DNI, el nombre, las horas de trabajo que ha dedicado a la reparación de averías y el departamento de la empresa al que pertenece.

El segundo grupo de datos (o tabla) es el de las averías que se producen. El nombre que le damos será "AVERIAS" y los datos que tendrá son en relación con la avería, como nombre de la empresa a donde se realiza la avería, descripción de la avería, horas que se tarda en solucionarla, fecha en la que se produce la reparación y que empleado o empleada realiza la reparación a través de un valor que lo identifique. Los dos grupos de datos están relacionados a través del identificado de empleado y empleada.

¿Qué finalidad tiene esta base de datos?


Nota: Sobre este enunciado se irán haciendo referencias y ampliaciones a lo largo de la primera parte de la unidad.

2.- Creación de bases de datos.

Caso práctico

Imagen de Juan.
Ministerio de Educación y Formación Profesional. (Elaboración propia)

Después de haber pasado un par de tardes analizando los problemas y leyendo información respecto a las bases de datos, han llegado a una idea general de cómo almacenar la información.

Como sabían algo de CALC, han hecho una primera lista de tablas, y con ella, se ponen en contacto por teléfono con Nekane:

JUAN: ¡Hola Nekane!, ¿Tienes un rato para asesorarnos?


NEKANE: Si hombre claro. ¿Qué necesitáis?


JUAN: Tengo unas hojas de cálculo con muchos datos, y quisiera organizarlos un poco. ¿Me puedes echar una mano?


NEKANE: Pues claro hombre. Eso es fácil, me acerco mañana y te convierto las hojas en tablas de una base de datos.


JUAN: Estupendo. Precisamente tengo la aplicación BASE ya instalada para hacerlo.

Imagen que muestra un pasillo de estantería con libros.
Eduardo Ruvalcaba Burgoa (CC BY-SA)

Has visto en el punto anterior los conceptos teóricos más genéricos sobre las bases de datos. En este tema seguirás viendo conceptos teóricos, pero estos estarán encaminados a la realización práctica, por lo que se empezará a manejar el entorno en el que crearás las bases de datos.
La evolución de los programas SGDB ha ido relacionada con la facilidad de manejo de los interfaces que las gestionaban, y así han aparecido mecanismos que ayudan a los usuarios y usuarias que las crean, que insertan datos, que gestionan la información y que la mantienen, como son los asistentes y el modo vista diseño.

Para saber más

En el siguiente vídeo se hace un recorrido sobre cuestiones vistas en el punto anterior y otras que veremos en este tema. Así, se hablará sobre:

  • Proceso de entrada, salida, almacenamiento y procesamiento de datos o información.
  • Historia de las bases de datos.
  • ¿Qué es una base de datos? Ventajas y desventajas.
  • Bases de datos existentes.
  • Modelo entidad relación. Tipos de relaciones.

2.1.- Entrando en Base.

Una vez instalada la suite ofimática de LibreOffice en tu ordenador bajo Windows, acceder al programa de base de datos de esta suite "Base" es similar a lo visto con los programas de procesador de texto (Write) y hoja de cálculo (Calc). Para ello, accedes a la lista de programas instalados y selecciona LibreOffice Base.

Una vez que realizas esto, arranca el programa Base y lo primero que aparece es el asistente para abrir la base de datos.

Imagen que muestra el asistente que aparece cuando accedemos a Base.
Agustín Nieto Espino (Elaboración propia)

El asistente, nos permite realizar las siguientes opciones:

Imagen que muestra el asistente para crear la base de datos una vez que seleccionamos la opción Crea un nueva base de datos.
Agustín Nieto Espino (Elaboración propia)
  • Crear una base de datos nueva: nos permite crea una base de datos nueva. Al seleccionar esta opción, accederemos a una segunda ventana, en donde podemos seleccionar:
    • Indicar si deseamos publicar la base de datos en LibreOffice.
    • Al finalizar el proceso de creación del fichero que contiene la base de datos, abrir la base para su edición. Para ello, seleccionaremos la opción Abrir la base de datos para su edición.
    • Al finalizar el proceso de creación del fichero que contiene la base de datos, se ejecutará un asistente que nos ayudará a crear las tablas. Para ello, seleccionaremos la opción Crear tablas mediante el asistente para tablas.

         En cualquier caso, siempre deberemos de pulsar el botón Finalizar para concluir el proceso de creación de la base de datos. Se nos solicitará un nombre para el fichero que contiene la base de datos así cómo podremos seleccionar el lugar de destino en donde queramos guardar el fichero.

  • Abrir una base de datos existente: nos permite seleccionar la base de datos que deseamos utilizar.
  • Conectar con una base de datos existente: nos permite establecer una conexión con la base de datos la cual debe de existir y estar operativa.

El asistente nos muestra los botones Anterior, que se encontrará habilitado cuando podamos acceder a una situación del asistente anterior, y el botón de Ayuda en donde se muestra información del funcionamiento del asistente.

Los ficheros que contienen base de datos de la aplicación Base tienen  la extensión .odb.

Cuando estemos trabajando con una base de datos, la aplicación presentará el siguiente entorno de trabajo:

Imagen que muestra el entorno de trabajo cuando accedemos a una base de datos nueva.
Agustín Nieto Espino (Elaboración propia)

En el entorno destaca un menú principal de opciones en la parte superior. A través estos menús podemos realizar cualquier que necesitemos contra la base de datos.

Debajo del menú principal, nos aparece un listado de accesos directos (iconos) de las operaciones que con más frecuencia se realizan.

En la parte de la izquierda podemos ver el panel de Base de datos que recoge los diferentes tipos de objetos que podemos utilizar en la base de datos.

En la parte de la derecha se nos muestra el panel de Tareas Descripción. En función del objeto seleccionado en el panel de Bases de datos, se nos mostrarán unas opciones u otras, A medida que vayamos seleccionando estas opciones, en el panel de Descripción, se nos mostrará un mensaje explicativo de la opción seleccionada.

En la parte de la derecha, se nos mostrará el panel Tablas, Consultas, Formularios e Informes en función del tipo de objeto seleccionado en el panel Base de datos.

2.2.- El entorno de trabajo.

Como podrás ver, el entorno de trabajo de Base en LibreOffice no tiene nada que ver con los entornos de trabajo de otros programas de esta suite. Por lo general, en los programas como Write o Calc, existe una zona de trabajo donde se ve cómo va quedando el trabajo final. En Write si estamos haciendo un documento veremos cómo será el resultado final, en Calc veremos todos los datos organizados en filas y columnas.
El trabajo con base de datos tiene un alto componente de abstracción, ya que se trabaja con elementos poco visibles, y la organización de los datos o lógica no es igual que la organización física o de almacenamiento.

Así que, en este punto vas a iniciarte en el entorno del programa, pero para ello, has de conocer qué elementos fundamentales tienen las bases de datos en su organización lógica:

  • Tablas: almacenan información sobre un tema como pueden ser los clientes de una empresa, o los pedidos realizados por cada uno de ellos; las tablas se relacionan de forma, que a partir de los datos de la tabla de clientes, podamos obtener información sobre los pedidos de éstos.
    Las tablas contienen campos que almacenan los diferentes datos como el código del cliente, nombre del cliente, dirección, etc. Al conjunto de campos para un mismo objeto de la tabla se le denomina registro o fila, así todos los campos de un cliente forman un registro, todos los datos de otro cliente o clienta forman otro registro, y así sucesivamente.
  • Consultas: permiten seleccionar el contenido de una o varias tablas atendiendo a determinados criterios, para extraer, actualizar, eliminar, insertar información, etc.
  • Formularios: se utilizan para mostrar por pantalla datos de una o varias tablas relacionadas entre sí, permitiendo insertar, modificar o simplemente consultar la información.
  • Informes: presentan la información organizada en forma de listado, ofreciendo la posibilidad de realizar su lectura por pantalla o su emisión por impresora.

2.3.- Elementos de una base de datos. Tablas.

Conocer y saber la función que tienen los elementos de una base de datos relacional, es una labor principal, que intentaremos aclararte en este punto.
Y si hay un elemento en el que se fundamentan las bases de datos relacionales son las Tablas.

Una tabla la podremos considerar como una agrupación de datos que guardan información sobre un grupo de cosas con las mismas características o atributos.

Así, una tabla se puede considerar una estructura formada por filas y columnas, donde cada fila tendrá datos referentes a una misma entidad y cada columna será una característica de cada entidad.
En cuanto a la terminología empleada para definir a las partes que componen las tablas existen diversos términos que designan al mismo elemento.

Las partes que componen las tablas son:

  • Nombre de la tabla: identifica a la agrupación de los datos que incorpora.
  • Registro o tupla: representa cada elemento individual de esa tabla, es decir las filas.
  • Campo o atributo: representa a la unidad mínima de información, y suele ser una característica concreta que define a un registro. Cada campo toma valores de un determinado tipo de datos, pudiendo ser estos: numéricos, texto, fecha, etc.

Conjunto de elementos de distinto tipo que se guardan de manera contigua. Este término se emplea en la definición de las bases de datos a través del modelo relacional (el cual no es tratado en este ciclo). Se puede aproximar al término registro.

Describe propiedades específicas de elementos del mundo real con existencia independiente (entidad). Este es un término empleado en el modelo relacional y que nosotros podremos aproximar al termino campo.

Reflexiona

Si tomas los datos que se han enunciado en el ejemplo planteado en el punto 1.5 y se puede determinar dos grupos de objetos o entidades con las mismas características, que corresponderán a las tablas. Así tendrás una tabla llamada "EMPLEADOS" y otra llamada "AVERIAS".
¿Cómo se determinan las agrupaciones de la tabla "EMPLEADOS"? ¿Cuáles son cada una de las partes de la tabla "EMPLEADOS"? ¿Cómo se determinan los campos de la tabla "EMPLEADOS"?

2.4.- Elementos de una base de datos. Claves.

Ilustración donde se muestran un llavero con varias llaves.
dos72 (Dominio público)

Entre los requisitos que deben cumplir las bases de datos relacionales está la no duplicidad de registros, esto es, que exista por lo menos uno de los campos con todos los registros diferentes.

Así, se denomina clave primaria o llave primaria a un campo o combinación de campos que identifican de forma única a cada registro.
Si analizas tablas de uso habitual, se podrá determinar lo siguientes campos como clave primaria:

  • Tabla (Clientes) =>Campo (DNI){clave primaria} => No existen dos personas con el mismo DNI.
  • Tabla (Coches) =>Campo (Matrícula){clave primaria} => No existirá dos coches con la misma matrícula.
  • Tabla (Componentes) =>Campo (Numero Serie){clave primaria} => No existirá dos componentes con el mismo número de serie.

Puede ocurrir que en una tabla no exista un campo susceptible de ser clave primaria, con lo que se podrá crear un campo que su valor se genere solo y de forma secuencialmente al añadir cada registro. Generalmente estos campos utilizan tipos de datos Integer y activan una propiedad del campo llamada "Valor automático", de esta forma al introducir un registro se genera un número entero (por ejemplo el 1) y al introducir el siguiente se genera otro entero consecutivo (por ejemplo 2) y así con cada registro. De manera que este campo podrá ser clave primaria.

Es la marca que hay que poner a un campo cuando este no tiene ningún dato repetido en los diferentes registros. En Base se le conoce como llave primaria.

Autoevaluación

Pregunta

Si tenemos una tabla con datos de libros de una biblioteca, determina cual de los siguientes campos podrá ser clave primaria.

Respuestas

Autor.

Páginas.

ISBN (International Standard Book Number), en español: número estándar internacional de libro.

Título.

Retroalimentación

2.5.- Elementos de una base de datos. Relaciones.

Ilustración que muestra un ejemplo de base de datos relacionales.
Afpineda (CC BY-SA)



Otro elemento importante en las bases de datos relacionales son las relaciones. Si no existiera este concepto, las bases de datos estarían compuestas por una tabla con todos los datos juntos. Al poder relacionar tablas, se puede utilizar más de una tabla con campos comunes, de manera que se evite la duplicidad de datos.

Una de las ventajas que ofrece la relaciones con respecto a las bases de datos son: Ahorro de recursos hardware (memoria y espacio en disco), aumento de la velocidad de ejecución y ayuda al usuario y usuaria en el trabajo con las tablas.

La relación entre tablas necesita un campo común en las tablas, cuyos valores sean los mismos, el cual será clave principal en una de ellas. Cuando dos tablas están relacionadas, una de ellas se conocerá como tabla principal de la que parte la relación, donde el campo relacionado es clave primaria y la otra será la tabla secundaria destino de la relación, en la que el campo relacionado se conoce como, clave foránea.
La clave foránea se puede definir como una referencia, en una tabla, a la clave primaria de otra tabla.

Cuando dos tablas se relacionan entre sí, pueden existir diferentes formas de relacionarse en función de los registros implicados en cada una de las tablas, a este tipo de relación se la conoce como cardinalidad siendo sus tipos:

  • Relaciones uno a uno: un registro de una tabla sólo puede estar relacionado con un único registro de la otra tabla y viceversa.
  • Relaciones uno a muchos: Cuando un registro de una tabla (tabla secundaria) sólo puede estar relacionado con un único registro de la otra tabla (tabla principal) y un registro de la otra tabla (tabla principal) puede tener más de un registro relacionado en la primera tabla (tabla secundaria).
  • Relaciones muchos a muchos: Cuando un registro de una tabla puede estar relacionado con más de un registro de la otra tabla y viceversa.

Es la relación que se establece entre dos campos de diferentes tablas. Esta puede ser uno a uno, uno a muchos y muchos a muchos.

Reflexiona

¿Podrías dar un ejemplo de relaciones uno a uno?¿Y de uno a muchos?¿Y de muchos a muchos?

2.6.- Modo vista diseño.

Ilustración que muestra el acceso a un gestor de base de datos en modo comando.
Ministerio de Educación y Formación Profesional. (Elaboración propia)

El modo vista diseño es una interfaz gráfica que ayuda al diseñador o diseñadora a realizar una función de manera más amigable. Este modo de trabajo hace que no se requieran altos conocimientos para utilizar funciones, ya que de otra manera requerirían un alto nivel de programación por parte de quien la realizara.

Cuando se empezaron a utilizar los programas gestores de bases de datos, su manejo era complicado, ya que el modo en el que se interactuaba era un modo en línea de comando, en el cual, la visualización de los resultados era muy básica y difícil de interpretar. También la realización de las acciones habituales requería el conocimiento de los comandos por parte los usuarios o usuarias.

En la imagen se puede ver la forma de visualizar una tabla en modo comando, este modo de trabajos es la base sobre la que se fundamenta los interfaces gráficos actuales y suele ser oculta para quien lo maneja.

Los programas gestores de bases de datos empezaron a incorporar este modo de trabajo, para facilitar su utilización a los usuarios y usuarias, con el fin de que cualquiera sin altos conocimientos pudiera manejar estos programas.

Los programas gestores comerciales como Base y Access tienen la opción para emplear el modo vista diseño en la creación de aplicaciones internas, como son crear tablas, crear consultas, crear formularios y crear informes.

El modo vista diseño se fundamenta en interfaces que son diseñados por el usuario o usuaria, a base de añadir objetos de los interfaces como son tablas, botones, campos de lista, etc.

2.7.- Los asistentes.

Los asistentes son pantallas gráficas donde se indican paso a paso, las acciones necesarias para realizar una acción o función de trabajo. Al igual que el modo vista diseño, surgen para facilitar la labor de los usuarios y usuarias, pero además tiene la finalidad de ir enseñando a utilizar las funciones, a modo de tutorial.

Este modo de trabajo ha hecho que sea mayor el número de personas que manejen los sistemas gestores de datos y otras aplicaciones. En "Base" vamos a poder realizar casi todas las acciones principales utilizando asistentes, así tendremos:

  • Asistente de inicio, el cual nos ayuda a abrir una base de datos nueva o abrir una ya existente. Anteriormente vimos una presentación donde se explican todas las opciones al detalle.
  • Asistente para crear tablas, el cual nos guía en la creación de tablas, utilizando los formatos genéricos de un conjunto de tablas de uso habitual, en 4 pasos: Seleccionar campos, establecer los tipos y formatos, establecer la clave principal y crear tabla. Más adelante tienes una explicación con más detalle.
  • Asistente para crear consultas, el cual nos guía en la creación de consultas, utilizando los formatos genéricos de un conjunto de consultas de uso habitual, en 8 pasos: selección de campos, orden de clasificación, condiciones de búsqueda, detalles o resumen, agrupación, condiciones de agrupación, alias, e información general. En un punto posterior tienes una explicación más completa.
  • Asistente para crear formularios, el cual nos guía en la creación de formularios, utilizando los formatos genéricos de un conjunto de formularios de uso habitual, en 8 pasos: selección de campos, configurar un subformulario, obtener campos combinados, establecer entrada de datos, aplicar estilos, y establecer nombre. Posteriormente tienes una explicación más completa.
  • Asistente para crear informes, el cual nos guía en la creación de informes utilizando los formatos genéricos de un conjunto de informes de uso habitual, en 6 pasos: selección de campos, campos de etiquetas, agrupación, opciones de ordenación, selección de diseño, crear informes.

Para saber más

Échale un vistazo a la traducción de la Wikipedia sobre los asistentes de software. Ahí encontraras información de cuándo y quién empezó utilizar los asistentes para el manejo de software.

Asistentes

3.- Tablas.

Caso práctico

Imagen de Nekake y Juan trabajando juntos.
Ministerio de Educación y Formación Profesional. (Elaboración propia)

Nekane y Juan se han juntado para crear la base de datos de la empresa. Tras una pequeña explicación de lo que quieren, y de lo que pueden conseguir, van a empezar a crear las distintas tablas.

JUAN: Lo que no acabo de entender, es por qué no nos bastaba con CALC. ¿Qué diferencia hay entre una hoja y una tabla?


NEKANE: Verás, en las hojas tu puedes meter lo que quieras, sin relación al resto de datos. En una base de datos, puedes establecer reglas: tipos de datos, rango de valores....


JUAN: ¿y cómo empiezo?

Imagen que muestra el logotipo de la aplicación LibreOffice Base.
The Document Foundation (CC BY-SA)

Hasta ahora has estado asimilando los conceptos teóricos básicos que necesitas para trabajar con las bases de datos. En este punto y los siguientes vas a aprender a llevar a la práctica, bases de datos que te propondremos. Con la destreza que alcances, podrás empezar a plantearte las tuyas.
Para ello, tendrás que manejar el SGBD con el que hemos decidido realizar las bases de datos como es "Base". Aunque otros SGBD como Access son más completos respecto a sus funcionalidades y opciones, "Base" es un buen programa para iniciarse.
Si en el futuro te dedicas a crear bases de datos con ambos programas verás que no es muy complicado adaptarse, ya que ambos utilizan un formato y terminología muy parecida.

Las bases de datos son realmente útiles y efectivas cuando la cantidad de datos es muy elevada, donde intervienen cientos de tablas con cientos de relaciones y billones de registros. Un ejemplo de esto serían las bases de datos que utiliza una entidad bancaria, que recoge:

  • Grupos o tablas de datos; clientes, oficinas, empleados, operaciones, prestamos, hipoteca, etc.
  • Cada tabla tendrá un buen número de campos en donde la tabla clientes, tendrá campos como nombre, dirección, DNI, número de cuenta, etc, y los otros campos tendrán los que sean específicos de la tabla.
  • Cada tabla tendrá miles o millones de registros, que son los datos o información relevante.

Pero para iniciarse en la creación de las tablas de una base de datos, es mejor practicar con bases de datos con pocas tablas que tengan tres o cuatro campos y contengan pocos registros, para que sea más fácil, realizar pruebas y ver la organización de los datos.

Ya has visto en puntos anteriores las partes que compone una tabla y también conoces la descripción que se hace del diseño de una base de datos con respecto a las tablas, con lo que solo te queda llevar todo lo visto al formato de un SGBD, como "Base".

3.1.- Creando Tablas.

Imagen que muestras las opciones que aparecen en Base para crear tablas.
Agustín Nieto Espino (Elaboración propia)

En Base, tienes a tu disposición tres métodos para crear tablas:

  • Crear tabla en modo diseño: permite editar los campos especificando el tipo de datos en un interfaz gráfico a través de filas y columnas. Es la forma más cómoda de crear tablas y la más utilizada.
  • Crear una tabla mediante el asistente: permite generar y editar tablas a partir de tablas con campos preconfiguradas. Esta forma de crear tablas es útil cuando se utilizan tablas de uso habitual, pero no son buenas cuando se usan tablas con campos poco comunes.
  • Crear una vista: esta opción te permitirá crear una vista de las tablas con los campos que consideres interesantes de entre todos los que forman las base de datos.

Para crear una tabla hay que elegir alguno de los métodos citados. Los dos primeros son los más apropiados para crear tablas partiendo de cero y el método de "Crear Vista" es el indicado para cambiar o reestructurar una tabla ya existente.
Para crear una base de datos desde cero utilizando la "Vista Diseño", es necesario pulsar la tarea de "Crear tabla en Vista Diseño" y se abrirá una nueva ventana que te permitirá realizar las labores de creación de campos, (nombre, tipo de datos, descripción y propiedades de los campos). En los siguientes puntos veras en qué consisten esas labores.

Imagen que muestra la ventana que nos aparece cuando pulsamos el botón de guardar o guardar cómo.
Agustín Nieto Espino (Elaboración propia)


Esta ventana o interfaz de llama "Diseño de tablas". Una vez que se creen los campos tendremos que guardar la tabla creada con un nombre, y para ello utilizarás el menú Archivo> Guardar como o Guardar.

Para salir de la ventana "Diseño de Tablas" pulsa menú Archivo> Cerrar y se regresara a la pantalla principal de "Base".

Recomendación

Nunca debes de acentuar los nombres de las tablas ni de los elementos que contengan las tablas. Tampoco que comiencen por caracteres especiales cómo pueden ser @, |, !, etc, ni que comiencen por número o punto.

No utilices espacios en blancos para nombrar cualquier objeto que crees en la base de datos.

No asignes a los objetos palabras reservadas del lenguaje interno que utilice el propio Sistema Gestor de Base de datos.

3.2.- Generando Campos.

Todos los registros están formados por una serie de campos que contienen datos que especifican una característica concreta del registro con respecto a la agrupación que se ha hecho en la tabla.
Por ejemplo, vamos a crear la tabla "AVERIAS". Está formada por los siguientes campos:

Imagen que muestra los campos de la tabla Averias en el momento de su creación.
Agustín Nieto Espino (Elaboración propia)
  • Identificador de avería, que será un número que identifica las averías. Y que pondremos por nombre: "id_averia".
  • Empresa, que será el nombre de la empresa en la que se realiza la reparación de la avería. Y que pondremos por nombre: "empresa_cliente".
  • Nombre de la avería, es una descripción que describe en qué consistía la avería que pondremos por nombre: "descripción".
  • Tiempo de reparación, representa el tiempo medido en horas que se ha dedicado a la reparación de la avería. Y que pondremos por nombre: "horas".
  • Día de la reparación, indica la fecha en la que se ha realizado la reparación. Y que pondremos por nombre: "fecha".
  • Empleado, indica que empleado o empleada que ha realizado la reparación. Y que pondremos por nombre: "id_empleado".

Para poner los campos en la base de datos que estamos creando con "Base", es necesario crear una tabla (como se ha indicado en el punto anterior). En la ventana de Diseño de Tabla rellanamos el nombre de los campos que contiene nuestra tabla e indicamos la descripción sobre la que tratan los campos. El tipo de datos lo explicamos en el punto siguiente. De momento, dejamos el que salga por defecto.

Autoevaluación

Pregunta

Dada una tabla que va a contener datos sobre la colección de DVD, Indica la opción que contiene campos que no podrían pertenecer a esta tabla.

Respuestas

Los campos: "Autor", "Genero"," Director".

Los campos: "Comprado_en", "Año_lanzamiento"," Precio_comprar".

Los campos: "Titulo", "clasificacion"," Id_coleccion".

Los campos: "Notas", "Tamaño_impresion"," Acciones_compradas".

Retroalimentación

3.3.- Seleccionando el tipo de datos.

Imagen que muestra el despegable con los tipos de datos que podemos seleccionar al definir un campo.
Agustín Nieto Espino (Elaboración propia)

A la hora de definir los campos tienes que determinar de qué tipo serán los datos. Cuando me refiero a tipo, quiero decir si son números, texto, fechas…
Los tipos de datos van a estar clasificados en cuatro grupos:

    • Alfanuméricos: Sirve para representar datos que contienen letras y números, donde los números son considerados como caracteres. Entre los más utilizados están:
      • Texto (Varchar): almacenan textos de longitud limitada.
      • Nota (LongVarchar): Almacenan textos de longitud ilimitada (depende del hardware).

    • Numéricos: Sirve para representar números enteros y reales.
      • Entero minúsculo (Tinyint), entero pequeño (SmallInt), Entero (Integer): Almacenan enteros de hasta 3, 5, 10 dígitos, respectivamente.
      • Coma flotante (Float): almacenan números decimales con menor precisión.
      • Doble precisión (Doble): almacenan números decimales con mayor precisión.
      • Decimal (Decimal): almacena números decimales donde se pueden especificar la cantidad de cifras decimales.
    • Temporales: Sirve para representar fechas (días, meses, años, horas).
      • Fecha(Date): almacenan datos de tipo fecha con formato date, "DD-MM-YY" (Ejemplo. 12-06-98).
      • Hora(Time): almacenan datos de tipo fecha con formato Time: "HH:MM:SS" (Ejemplo: 12:45:20).
      • Fecha/Hora(TimeStamp): almacenan datos de tipo fecha con formato Fecha/Hora: "DD-MM-YY HH:MM:SS" (Ejemplo. 12-06-98 12:45:00).
  • Especiales: Representan otros tipos que no son catalogables en los anteriores.
    • Sí/no(Boolean):Almacena datos de dos valores verdadero- falso, uno-cero.

Esta labor es muy importante ya que de ella depende la optimización y la rapidez de procesado de datos de la base de datos. No se realiza igual la búsqueda de un nombre en una base de datos de millones de registros en la que el nombre está definido como texto limitado.

Reflexiona

A partir los campos definidos en la tabla "AVERIAS" del punto anterior y del enunciado del punto 1.5, determina qué tipo de datos tienen que ser los campos : "id_averia", "empresa_cliente", "descripción", "horas", "fecha" ,"id_empleado".

Para saber más

En esta web de Microsoft verás los tipos de datos en Access, verás que son muy parecidos aunque hay diferencias en la forma de nombrarlos.

Tipos de Datos en Access

3.4.- Propiedades de los campos.

Imagen que muestra las propiedades de un campo definido con el tipo de datos Integer.
Agustín Nieto Espino (Elaboración propia)

Otro aspecto en relación a los campos que puedes manejar a la hora de crear tablas y generar campos, son las propiedades de los campos. Estas propiedades de los campos se establecen en función del tipo de dato. Como ejemplo, cuando definimos un tipo de dato como Decimal, una de sus propiedades puede ser que tenga 3 cifras decimales (después de la coma).
En "Base" vamos a poder modificar esas propiedades en el espacio de propiedades que aparece en la parte inferior de la ventana de Diseños de Tablas.
En función del tipo elegido para el campo, hay una serie de propiedades que dan formato a los tipos de datos a introducir y consistencia para que los datos sean coherentes y realizables. Las propiedades son:

  • Entrada requerida: Indica si es obligatoria una entrada.
  • Valor automático: Indica si se da un valor secuencial a ese dato.
  • Tamaño o longitud: Indica la longitud máxima de caracteres o valores.
  • Decimales: Indica el número de cifras decimales que tendrá el tipo de dato.
  • Valor predeterminado: Pone un valor por defecto a ese campo en todos los registros a introducir. Este valor se puede modificar.
  • Ejemplo de formato: Indica el formato del campo, muy utilizado en los tipos de datos de fechas.

Reflexiona

Siguiendo con el ejemplo anterior, vamos a determinar qué tipo de datos ha de llevar los campos que estamos definiendo, así tendremos:

Recomendación

Para que te sean de utilidad el ejemplo que se está utilizando para explicar los contenidos, llegado este momento, debes de tener creado en Base una base de datos y en su interior tienes que tener creadas las tablas AVERIAS y EMPLEADOS con la estructura que aparece en las siguientes imágenes:

Imagen que muestra la estructura de la tabla Averias
Agustín Nieto Espino (Elaboración propia)

Imagen que muestra la estructura de la tabla Empleados.
Agustín Nieto Espino (Elaboración propia)

3.5.- Las claves.

Imagen que muestra el acceso a la opción Editar al seleccionar una tabla.
Agustín Nieto Espino (Elaboración propia)


De las dos tablas que tienes en el ejemplo que estamos utilizando "EMPLEADOS" y "AVERIAS", tienes que determinar cuál de los campos que la forma puede representar unívocamente a cada registro.
En la tabla "EMPLEADOS" leyendo el enunciado, puedes llegar a la conclusión que solo el campo "id_empleado" que representa el DNI es el único campo que hace único a cada registro, así podrás decir que este campo es clave primaria.
En la tabla "AVERIAS", leyendo el enunciado, puedes llegar a la conclusión que solo un campo que represente con un número entero a cada avería es el único campo que hace único a cada registro. Así, podrás crear un campo llamado "id_averia" que realizará la labor clave primaria, cuando no existe en esa tabla ningún campo que pueda realizar esa función.

En "Base" vamos a identificar esos campos clave a través de la ventana de Diseños de Tablas. Para ello, se puede llegar a la ventana de diseño de tablas desde la principal pulsando con el botón derecho en la zona de tareas sobre la tabla a trabajar y eligiendo la opción Editar.

Para marcar en "Base" un campo como campo clave, hay que seleccionar el campo a marcar y pulsando botón derecho del ratón y elegir la opción llave primaria.
Realizado esta acción aparecerá un icono en forma de llave que nos ayuda a identificar el campo de clave primaria. Cuando en una tabla no hemos marcado ningún campo como clave saldrá un mensaje de error indicándolo.

Imagen que muestra la opción de clave primaria cuando nos situamos sobre el campo id_averia y pulsamos el botón derecho del ratón
Agustín Nieto Espino (Elaboración propia)

3.6.- Relacionando Tablas.

Imagen que muestran las tablas que podemos utilizar una vez que pulsamos la opción Relaciones.
Agustín Nieto Espino (Elaboración propia)
Imagen que muestra el acceso a la opción Relaciones,
Agustín Nieto Espino (Elaboración propia)

Siguiendo con las dos tablas del ejemplo que estamos utilizando, "EMPLEADOS" y "AVERIAS", tienes que determinar ahora cual es la relación que se puede establecer entre ellas. Importante, para que exista relación el valor, tipo y propiedades del campo debe coincidir en los campos de ambas tablas.

Analizando el enunciado de la base de datos puedes establecer que quien soluciona las averías son los empleados o empleadas, y estos son identificados de forma única por el campo "DNI" de la tabla "EMPLEADOS". Así que, en la tabla de "AVERIAS", en el campo que representa al empleado o empleada que resuelve esa avería ("id_empleado"), se puede establecer una relación siempre que el tipo y propiedades de ese campo sean iguales que las del campo "DNI" de la tabla "EMPLEADOS". Es importante es que coincidan los tipos y propiedades.

Para aplicar en "Base una relación entre dos tablas ", hay que ir al menú herramientas de la ventana principal y seleccionar la opción "Relaciones".

Después se eligen las tablas sobre las que se van a realizar las relaciones, y aparece una ventana llamada Diseño de relación con una representación gráfica de las tablas seleccionadas.
Pulsando y manteniendo pulsado el ratón sobre el nombre del campo que queremos relacionar de la tabla principal (campo "id_empleado" de la tabla "EMPLEADOS"), arrastramos el puntero del ratón a la tabla secundaria al campo que tiene relación (campo "id_empleado" de la tabla "AVERIAS") y soltamos estableciéndose una unión que relaciona las tablas. En los extremos de la unión se indican el tipo de relación, en este caso n y 1(Relaciones uno a muchos), que indica que una avería puede ser resuelta por muchos empleados o empleadas y que un empleado o empleada solo resuelve una avería cada vez.

Imagen que muestra la relación de la tabla empleados con la tabla averías. Aparece una línea que une los campos DNI de la tabla empleados con el campo id_empleado de la tabla averías,

3.7.- El Asistente para tablas.

Otro método para crear una base de datos desde cero es utilizar los asistentes que facilitan las labores para los usuarios y usuarias más inexpertas.
Para crear una tabla desde cero, utilizando el asistente, es necesario pulsar la tarea de "Crear una tabla mediante el asistente" y se abrirá una nueva ventana que te guiará en el proceso.

 

Imagen que muestra la comienzo de la creación de una tabla utilizando el asistente. Aparece seleccionada la tabla de muestra empleados.
Agustín Nieto Espino (Elaboración propia)
  • Seleccionar los campos de entre dos tipos de categorías (Negocios y Personal). Cada categoría tiene una serie de tablas preparadas donde podrás personalizar los campos. Por ejemplo, si eliges la categoría de Negocios, puedes elegir nuestra tabla llamada "EMPLEADOS", la cuál genera una lista de campos disponibles de los que elegiremos los que tenga nuestra tabla y los pasaremos al cuadro de campos seleccionados. Recuerda tabla (EMPLEADOS ) => campos (id_empleado, nombre ,tasafacturacion, departamento).El asistente te guiara en cuatro pasos:

 

Imagen que muestra la definición de la tabla Empleados. Paso 2 del asistente.
Agustín Nieto Espino (Elaboración propia)
  • Elegir los tipos y formatos de los campos elegidos, pudiendo cambiar el nombre de campo. Siguiendo con la tabla de "EMPLEADOS" tendremos que indicar:
    • Id_empleado: será un texto con letras y números limitado a 9 caracteres que identifican unívocamente a los empleados y empleadas, este dato es conocido en España como DNI. Así el dato será Texto (Varchar)
    • Nombre: será un texto que contenga el nombre y apellido del empleado o empleada, donde el número de caracteres será limitado (no superior a 50). Así, el dato será Texto (Varchar). 
    • Tasafacturacion: será un número decimal con dos decimales. Así, el dato será Decimal (Decimal)
    • Departamento: será un texto que contenga el nombre de la empresa, donde el número de caracteres será limitado (no superior a 50). Así, el dato será Texto (Varchar).

 

  • Elegir el campo clave principal. En la tabla "EMPLEADOS" hemos definido como clave principal, el campo "id_empleado" porque contiene una combinación de letras y números que es única para cada empleado o empleada.

Imagen que muestra el tercer paso del asistente para definir la tabla.
Agustín Nieto Espino (Elaboración propia)

  • Poner el nombre a la tabla que hemos creado, en este caso utilizará el elegido en el paso primero, "EMPLEADOS". Y nos da la opción de indicar cuál será la acción que vamos a realizar a continuación, siempre relacionada con la tabla:
    • Insertar datos inmediatamente.
    • Modificar el diseño de la tabla.
    • Crear un formulario basado en la tabla.
      Imagen que muestra el último paso del asistente para crear la definición de la tabla.
      Agustín Nieto Espino (Elaboración propia)

Recomendación

Te recomendamos que crees una base de datos nueva y sobre ella definas la tabla Empleados utilizando el asistente. Así practicarás la creación de las bases de datos y la creación de tablas.

3.8.- Editar una tabla.

Una vez que tienes creadas tus tablas viene el proceso de llenar estas tablas y sus campos con datos que tienen información real.

La carga de datos en las tablas puede llegar a ser una labor lenta y trabajosa ya que hay que teclear los datos uno a uno en sus respectivos campos. Para facilitar esta labor, se pueden crear aplicaciones específicas dentro del SGBD, llamadas formularios que nos preparan un interfaz adecuado a las necesidades de los operadores que tienen que introducir los datos, facilitando mucho su labor.

Para insertar una tabla en "Base" hay que abrir la ventana llamada Table Date View. Para que se abra este interfaz desde la ventana principal, basta con hacer doble clic sobre la tabla que queremos editar en la zona Tareas. También sobre la tabla a editar y botón derecho del ratón selecciona la opción abrir. En parte inferior aparece el símbolo +. Lo seleccionamos y procedemos a completar la nueva fila.

 

Imagen que muestra la inserción de datos en la tabla empleados.
Agustín Nieto Espino (Elaboración propia)


Inserción de datos
: Para insertar un nuevo registro se selecciona el último registro vacío que está señalado con un icono (estrella amarilla en la primera columna) apareciendo un icono verde que indica que el registro está seleccionado. Y pinchando en cada celda de ese registro da la posibilidad de teclear el dato a introducir. En la parte inferior de la ventana, aparece un navegador de registro que te indica cuantos registros hay y cual está seleccionado. Estas opciones también están en el menú principal en Insertar> Registro. Dentro de la edición podemos realizar las siguientes operaciones:


Eliminación de registros
: Para eliminar un registro seleccionamos con el cursor en el registro y pulsando botón derecho seleccionamos eliminar filas.

Modificación y eliminación de datos: Para modificar o eliminar un dato, nos situamos con el cursor en el valor a modificar o eliminar y lo reescribimos.

Imagen que muestra la opción Eliminar un registro de la tabla empleados.
Agustín Nieto Espino (Elaboración propia)

Autoevaluación

Pregunta

Cuál de las siguientes informaciones o acciones no aparece  en la ventana "Table Data View", en la barra de estado.

Respuestas

Cuántos registros se pueden poner en la tabla.

Cuántos registros tenemos introducidos.

Qué registro tenemos seleccionado.

Ir al primer registro y al último.

Retroalimentación

3.9.- Operaciones con registros: ordenar y filtrar datos.

Imagen que muestra los iconos para ordenar los datos.

 

Imagen que muestra la ventana para ordenar los despegables para realizar una ordenación personalizada.
Agustín Nieto Espino (Elaboración propia)

Si realizas la ordenación, indicando tú los criterios de ordenación, te aparece una ventana en la cual tienes que seleccionar un primer campo, por el que se realizará la ordenación de los datos alfabéticamente, ya sea de forma ascendente o descendente. Después, puedes seguir poniendo campos que servirán para añadir más criterios de ordenación. Si utilizas cualquiera de las otras dos formas, tendrás que seleccionar el campo o campos que quieres ordenar (columnas) y pulsar el orden que quieres aplicar ascendente o descendente. Otras operaciones importantes a realizar con los datos en la edición de las tablas son la ordenación y el filtrado. Mediante la ordenación podrás ordenar los registros de alguna manera, ya sea especificando los criterios, de forma ascendente o de forma descendente.

Imagen que muestra los iconos para filtrar los datos.
Agustín Nieto Espino (Elaboración propia)

Mediante el filtrado podrás elegir de forma simple los datos que queremos que se muestren. Las cuatro opciones que se pueden realizar con el filtrado son:
Imagen que muestra la ventana cuando se pulsa la opción Filtro personalizado.
Agustín Nieto Espino (Elaboración propia)
  • Filtrado automático: filtra las filas según el contenido del campo seleccionado.
  • Usar o no el filtro: Cambia entre las vistas con y sin filtro.
  • Filtro predeterminado: Establece las opciones de búsqueda de forma parecida a cuando realizamos los criterios de ordenación., donde se pueden concatenar varios criterios.
  • Cancelar filtro: Cancela la acción de filtrado y se muestran todas las filas.

4.- Consultas.

Caso práctico

Imagen que muestra a Alicia trabajando.
Ministerio de Educación y Formación Profesional. (Elaboración propia)

Juan ha terminado todo el esquema relacional de la base de datos, e incluso ha creado las tablas con algunos datos con ayuda de Nekane. Después de darle las gracias por tanta ayuda, le ha pasado el fichero a Alicia para que comience a trabajar.

ALICIA: Caray Juan, ¡menudo trabajo habéis hecho!


JUAN: La verdad es que Nekane es fenomenal. ¿Te das cuenta de las posibilidades que nos brinda ésta herramienta?


ALICIA: Sí, es increíble lo organizado que está todo. Sin embargo, echo en falta algo.


JUAN: ¿El qué?


ALICIA: ¿No crees que es complicado sacar conclusiones sólo de las tablas? ¿No habría alguna forma de preguntar algo a varias tablas a la vez?


JUAN: Nekane me contó algo de unas CONSULTAS. ¿Qué te parece si le echamos un vistazo?

Una vez creada la estructura de una base de datos, y una vez introducidos los datos principales, llega el momento de que empieces a utilizar la información registrada. Como verás en próximos apartados, la forma de explotar una base de datos es mediante el uso de formularios e informes. Sin embargo, antes de eso, necesitas saber cómo obtener datos concretos a partir de toda la información almacenada.
En una base de datos pequeña, con pocos registros en cada tabla, entender la importancia de las consultas te puede resultar difícil. Lo mejor es que pienses en un conjunto gigantesco de datos, tablas con miles de filas, de las cuales sólo quieras obtener unas pocas: un conjunto o un resumen de datos.

Una consulta no sólo te permitirá filtrar la lista de datos sino, además, realizar rutinas con el conjunto de operaciones. Podrás, por ejemplo, en una tabla que contenga todos los habitantes de una región, listar sólo aquellos que son hombres, y calcular su media de edad.

Para saber más

Las bases de datos actuales permiten almacenar la información privada de millones de personas. Muchas veces, las propias personas desconocen que esa información se almacena y, en muchas ocasiones, ni tan siquiera están de acuerdo con que esto ocurra.
La Ley de Protección de Datos obliga a las empresas que gestionen datos de personas, a establecer mecanismos para que los titulares puedan borrarse de la base de datos.

Ley Orgánica de Protección de datos

En Base, tienes a tu disposición tres métodos para realizar consultas:

  • Imagen que muestra las operaciones que se pueden realizar cuando seleccionamos la opción Consultas.
    Agustín Nieto Espino (Elaboración propia)
    Crear consulta en modo diseño: permite seleccionar las tablas y los campos de una forma gráfica. Muy útil para la mayor parte de los casos pero, como verás, no sirve para todos los tipos de consultas existentes.
  • Usar el asistente para crear una consulta: permite generar consultas preconfiguradas. Es muy cómodo para consultas sencillas, pero se queda corto cuando requerimos algo más elaborado (mezcla de múltiples tablas).
  • Crear consulta en modo SQL: te permite definir textualmente las consultas mediante un lenguaje estándar. Es la opción que te resultará más compleja pero, con unas recetas básicas, verás lo útil que resulta.

En los siguientes apartados verás cómo funcionan cada uno de ellos a través de distintos tipos de consulta.

Reflexiona

En este apartado verás en repetidas ocasiones el lenguaje SQL (Standar Query Language). Sería bueno que fueras conociendo de qué va el tema. Wikipedia te puede echar una mano:
 Wikipedia SQL y alguno específico de comandos.

No te asustes. Sólo vamos a utilizar unas consultas sencillas de SQL a modo de introducción. Tratar SQL en profundidad, podría llevarnos un curso completo, y no es ni de lejos, el objetivo de este tema.

4.1.- Consultas de selección.

Imagen que muestra un conjunto de datos de la tabla habitantes.
Agustín Nieto Espino (Elaboración propia)


Se denomina consulta de selección a aquella consulta que te permite elegir un conjunto de filas de una o más tablas.
Partamos del caso del censo: en el fichero SMR_AOF05_CONT_R59b_HabitantesCiudad.odb, tienes la tabla Habitantes, con un aspecto como el de la imagen. Se trata de una tabla que contiene 1000 registros. (Para seguir los ejemplos deberás de descargarte el fichero zip asociado al enlace anterior y extraerlo).

Aunque te pueda parecer lo contrario, es una tabla pequeña: si quisieras realmente almacenar los datos de todos los habitantes de una región tendrías que pensar en cientos de miles o millones de filas. La aplicación Base no está preparada para semejante cantidad de datos, así que, de momento, usarás este ejemplo de nivel medio. La cuestión que te debes plantear es: ¿Cómo puedes obtener un listado en el que selecciones sólo un conjunto de registros?

Por pasos: imagina que quieras ver solo el listado de aquellos habitantes con ingresos inferiores a 10.100€.

Para obtener los datos de los habitantes con ingresos inferiores a 10.100 €, dentro de la vista de consultas, escoge la opción "Usar el asistente para crear una consulta", y sigue la siguiente secuencia de diálogos:

  • Selección de campo: te permite escoger la tabla en la que se encuentran los datos a seleccionar. De la tabla puedes escoger todos o sólo algunos de los campos. En tu caso escoge la tabla Habitantes, y quédate con todos los campos.
Imagen que muestra la selección de los campos.
Agustín Nieto Espino (Elaboración propia)
  • Orden de clasificación: permite especificar en qué orden se mostrarán las filas. Es opcional hacerlo: escoge, por ejemplo, ordenar por orden descendente el campo Ingresos.
Imagen que muestra los despegable para seleccionar lo campos de la tabla que utilizaremos para ordenar los datos.
Agustín Nieto Espino (Elaboración propia)
  • Condiciones de búsqueda: esta es la pantalla clave. Permite establecer uno o varios criterios de selección. Para este ejemplo, debes realizar sólo uno: el campo Habitantes. Ingreso menor que 10.100.
Imagen que muestra las condiciones de búsqueda.
Agustín Nieto Espino (Elaboración propia)
  • Detalle o resumen: te permite agrupar los datos seleccionados. Es una opción que verás con detalle en el apartado 4.3. Ahora solo tienes que pulsar el botón Siguiente.
  • Alias: permite cambiar el nombre de las columnas. Te será muy útil cuando realices consultas a múltiples tablas, o cuando simplemente los nombres originales son muy crípticos. En este caso no hagas ningún cambio y mantén los nombres originales. Solo debes de pulsar el botón Siguiente.
  • Información general: te muestra un resumen textual de la definición de consulta que vas a realizar y permite indicar el nombre con el que guardar la consulta en la base de datos. En este caso, le vamos a llamar Cons_Habitantes_MenosDe10100.
Imagen que muestra el resumen del diseño de la consult realizada.
Agustín Nieto Espino (Elaboración propia)

Pulsa finalizar, obtendrás el listado de los registros resultado de la consulta. Ahora sólo han quedado 3 registros de los 1000 originales. Si cierras la vista de registros, verás que la base de datos ha almacenado tu nueva consulta.

Imagen que muestra el resultado de la ejecución de la consulta.
Agustín Nieto Espino (Elaboración propia)


Puedes proceder a editarla (la seleccionas y pulsas botón derecho Editar), para ver cómo tendrías que haber hecho si la hubieras realizado desde la opción de Diseño. Verás que queda algo parecido a la imagen de la derecha (pulsando F5, podrás ver los resultados).

Imagen que muestra el diseño de la consulta.
Agustín Nieto Espino (Elaboración propia)

Autoevaluación

Pregunta

¿Cómo modificarías el diseño si quisieras quedarte sólo con los que además estuvieran solteros (S)?

Respuestas

Tendría que repetir todo el asistente.

Quitaría el seleccionable Visible de la columna Nombre.

Escribiría 'S' en la celda correspondiente a la columna EstadoCivil, dentro de la fila Criterio.

Ninguna de las anteriores respuestas es correcta.

Retroalimentación

4.2.- Uso de operadores y cálculos.

Tanto si realizas una consulta mediante el asistente, o a través del diseñador, lo que finalmente almacena la base de datos es una consulta SQL. Se trata de un lenguaje estándar de consultas (compatible entre distintas bases de datos), con el que fácilmente puedes realizar complejas consultas.
Para que puedas ver la consulta asociada al diseño, simplemente selecciona la consulta y, con el botón derecho, escoge la opción "Editar en vista SQL". Te aparecerá una ventana con un texto similar a éste:

Imagen que muestra la ejecución de la instrucción SQL
Agustín Nieto Espino (Elaboración propia)



SELECT "ID" AS "ID", "Nombre" AS "Nombre", "FechaNac" AS "FechaNac", "Ciudad" AS "Ciudad", "EstadoCivil" AS "EstadoCivil", "Ingresos" AS "Ingresos", "Sexo" AS "Sexo"
FROM "Habitantes" WHERE "Ingresos" < 10100.0 ORDER BY "Ingresos" DESC
Explicarte el completo significado de la consulta (y sus posibles variaciones), excede con mucho los propósitos de este módulo. Sin embargo, es interesante que realices una sencilla modificación. Sustituye el texto del listado anterior por la siguiente consulta (y después pulsa F5 para ejecutarla):
SELECT "Habitantes".*,
YEAR("FechaNac") AS "AñoNacimiento"
FROM "Habitantes"
WHERE "Ingresos" < 10100.0
ORDER BY "Ingresos" DESC

La modificación te permitirá ver el mismo número de registros (aquellos con menos de 10100€ de ingresos), indicando además en una nueva columna el año de nacimiento de cada habitante.

Reflexiona

¿Cómo crees posible esto?

Para probarlo y añade una nueva columna con las siguientes propiedades:

Campo: YEAR( NOW( ) ) - YEAR( "FechaNac" )
Alias: Edad
Tabla:  
Orden:  
Visible: (Activado)
Función:  
Criterio: <>7

Con ello, pulsando F5, habrás modificado la consulta para mostrar una nueva columna con la edad (aproximada) de los habitantes.
Además, a la consulta le has añadido una nueva restricción para que muestre sólo aquellos cuya edad sea distinta a 7 años.

Imagen que muestra la sentencia SQL indicada en los apuntes de la unidad.
Agustín Nieto Espino (Elaboración propia)

Claramente, las posibilidades del editor de consultas son muy superiores a las del asistente de consultas. El principal problema radica en conocer las funciones SQL (como YEAR(NOW()) que te permite saber el año actual), para sacar todo el partido a la herramienta. No es objetivo de este módulo que aprendas con detalle todas las funciones de SQL, así que no te preocupes por ello.
Sí es importante que conozcas los distintos operadores que pueden usarse en las consultas:

  • Para realizar operaciones matemáticas suma, resta, multiplicación y división entera: + - * /
  • Para realizar operaciones de comparación: igual (=), distinto (<>), mayor que (>), menor que (<).

En el momento de introducir fórmulas debemos de fijarnos cómo se encuentran definidos los campos y respetar las mayúsculas de las minúsculas. Base diferencia en el nombre de las columnas de las tablas las mayúsculas de las minúsculas.

Autoevaluación

Pregunta

¿Cómo haríamos para que la consulta nos mostrara todos los habitantes varones de la región (con independencia de su edad o ingresos?

Respuestas

Añadiría la columna Sexo y en criterio escribiría H.

Sustituiría <10000 por =H.

Añadiría la columna Sexo (con criterio H), y eliminaría los criterios <10000 y >7

Todas las respuestas son falsas.

Retroalimentación

4.3.- Consultas avanzadas de agrupación.

La agrupación es uno de los tipos de consultas que más veces vas a utilizar trabajando con bases de datos. Supón que quieres saber cuáles son los ingresos medios de los habitantes en cada una de las ciudades. Si tuvieras que hacerlos a mano, sin duda, sería una labor de chinos. Tendrías que hacer un listado ordenado por ciudades, y por cada ciudad, sumar todos los ingresos de sus habitantes y dividirlo por el número de ellos.
Gracias a las bases de datos puedes realizar la tarea de una forma sencilla y rápida. La aplicación Base además, te permite realizar este proceso a través de un asistente.

Vamos a crear una consulta de agrupación para calcular los ingresos medios de los habitantes en cada una de las ciudades

  • Selección de campos: selecciona la tabla o consulta sobre la que vas a consultar, escogiendo los campos a usar. Usa, de la tabla Habitantes, los campos Ciudad e Ingresos. Una vez seleccionado pulsaremos el botón Siguiente.
Imagen que muestra la selección de la tabla y de los campos Ciudad e ingresos.
Agustín Nieto Espino (Elaboración propia)
  • Orden de clasificación: es opcional, pero escoge ordenar por el nombre de la ciudad.
Imagen que muestra la selección del campo Ciudad para ordenar los resultados de la consulta.
Agustín Nieto Espino (Elaboración propia)
  • Condiciones de búsqueda: para esta consulta en concreto no realices ningún filtro adicional, solo debes de pulsar el botón Siguiente.
  • Detalle o resumen: ésta es la ventana fundamental para realizar una consulta de selección. Escoge la opción "Consulta abreviada", y como configuración (en funciones agregadas) "obtener el promedio de" (campos) "Habitantes.Ingresos".
Imagen que muestra la definición de la función promedio de los ingresos.
Agustín Nieto Espino (Elaboración propia)
  • Alias: modifica el alias de Ingresos, y cámbialo a IngresosMedios. Es simplemente por estética, el resultado de las filas no variará, pero en el encabezado figurará IngresosMedios (de no hacerlo figuraría sólo Ingresos y daría pie a confusión).
Imagen que muestra cómo asignar el alias ingresosMedios.
Agustín Nieto Espino (Elaboración propia)
  • Información General: permite cambiar el nombre a la consulta (llámala "Consulta_IngresosMedios"), y escoge "Modificar Consulta".

Imagen que muestra la asignación del nombre a la consulta.


El proceso de asistente ha acabado, pero si ejecutas la consulta verás que el resultado no es el esperado. Figura una única columna con los ingresos medios de las ciudades, pero no figura el nombre de la ciudad en ninguna de las filas-

HabitantesConsultaDeActualizacionDetalleTrasAsistente
Agustín Nieto Espino (Elaboración propia)

Para arreglarlo, desplaza en el editor la columna de ciudades al lado izquierdo, y activa el seleccionable "Visible".

Imagen que muestra el intercambio de lugar de las columnas y la activación del campo visible para la columna ciudad.
Agustín Nieto Espino (Elaboración propia)

A continuación, procedemos a ejecutar la consulta pulsando la tecla F5 o bien pulsando el icono:

Imagen que muestra el icono que se muestra en la barra de iconos para ejecutar la consulta.
Agustín Nieto Espino (Elaboración propia)

Al ejecutarla, podemos ver que se muestran por cada ciudad los ingresos medios que poseen sus habitantes. Se puede seleccionar la columna IngresosMedios, acceder al menú contextual y seleccionar la opción Formato de columnas. A través de esta ventana, podemos hacer que los datos de la columna IngresosMedios aparezcan con dos decimales acompañados del símbolo del euro.

Imagen que muestra la ventana para mostrar la opción de aplicar Forrato a la columna seleccionada.
Agustín Nieto Espino (Elaboración propia)



En la imagen puedes ver el resultado de la consulta:

Imagen que muestra el resultado de la consulta.
Agustín Nieto Espino (Elaboración propia)


Si guardas la consulta, y la abres en modo Editar en vista SQL, observarás la siguiente instrucción:

SELECT "Ciudad", AVG( "Ingresos" ) AS "IngresosMedios" FROM "Habitantes" GROUP BY "Ciudad" ORDER BY "Ciudad" ASC

El AVG("Ingresos") es consecuencia de haber solicitado el promedio de Ingresos (AVG es acrónimo de AVERAGE, que significa promedio). Para utilizar esa función, es necesario usar también GROUP BY "Ciudad", que le indica a la base de datos que agrupe los datos en torno al campo "Ciudad", para luego poder obtener el promedio.
Claramente, el entorno gráfico del editor te facilita la labor sin necesidad de entender complejas instrucciones.

Autoevaluación

Pregunta

Si quisieras modificar la consulta para que obtuviera el total de ingresos por sexos (no por ciudades)… :

Respuestas

Deberías cambiar el campo Ciudad por Sexo, y cambiar la función Promedio a Suma. En este caso, obtendrás que los hombres en total ganan más que las mujeres.

Deberías cambiar el campo Ciudad por Sexo, y cambiar la función Promedio a Suma. En este caso, obtendrás que los hombres ganan menos que las mujeres.

No existe ninguna forma de calcularlo más que manualmente.

Retroalimentación

4.4.- Consultas avanzadas de eliminación, actualización y creación de tablas.

Las consultas de selección y agrupación son sólo dos tipos de operaciones que puedes realizar con los registros de una base de datos. Son los tipos más comunes, sencillos y de mayor potencia, por lo cual BASE los incorpora a través de asistentes. Sin embargo, hay otras operaciones necesarias que Base no incorpora de forma asistida pero merece la pena que las tengas en cuenta. Son las consultas de eliminación, actualización y creación de tablas. Estos tres tipos no generan un listado de registros, sino que simplemente actúan sobre ellos (o sobre el conjunto de tablas).

  • Consulta de Eliminación: Supón que has detectado errores en los datos aportados para una ciudad, y que por tanto quieres borrar una selección de ellos. Para no ir registro a registro en la base de datos, puedes indicarle en una sola orden que, (por ejemplo), quieres borrar todos los datos de la ciudad "Torrelavega" existentes en la tabla "Habitantes". Expresado en SQLA diferencia de otros gestores personales de bases de datos, BASE no te permite almacenar estas consultas. Lo que hace es permitir que las ejecutes a través de una especie de intérprete de comandos SQL. Para lanzar este intérprete, debes ir al menú Herramientas -> SQL. Así funciona con el primer tipo de consultas:
    Imagen que muestra la orden de borrado.
    Agustín Nieto Espino (Elaboración propia)


DELETE
FROM "Habitantes"
WHERE "Ciudad"='Torrelavega'

La herramienta te indicará que el comando se ha ejecutado correctamente, pero no verás ningún resultado. Si quieres comprobar que realmente ha sido así, tendrás que abrir la tabla "Habitantes" y ver que no queda ni un solo registro de Torrelavega.

  • Consulta de actualización: es habitual que tengas que cambiar algún valor de un gran número de registros. En lugar de hacerlo a mano, este tipo de consulta te permitirá hacerlo con una simple instrucción. Imagina que quieres asignar a todos los habitantes de Cartes el doble de sus ingresos. Sólo tienes que volver a Herramientas->SQL e introducir:

UPDATE "Habitantes" SET "Ingresos"="Ingresos"*2 WHERE "Ciudad"='Cartes'

Ejecuta la instrucción y, si entras en la tabla Habitantes, verás que, cada uno de los ingresos de los ciudadanos de Cartes se ha duplicado. En la siguiente imagen puedes ver cómo eran los datos antes de las consultas de eliminación y actualización, y cómo han quedado después.

La segunda ciudad del listado, Torrelavega, desaparece en el listado final. Los ingresos medios de Cartes pasan de 23.841€ por habitante a 47.683,67€ (es decir, se duplican).

Imagen que muestra la orden de actualización de los datos de la tabla habitantes.
Agustín Nieto Espino (Elaboración propia)
  • Consulta de creación de tablas: esta consulta es menos frecuente, especialmente en entornos domésticos como base, pero refleja muy bien la potencia de un gestor de bases de datos. La propia creación o destrucción de tablas la puedes realizar con una simple consulta como la siguiente:

CREATE TABLE "TablaEjemplo" ( id INT, campo VARCHAR(100));

Si ejecutas el comando en base no obtendrás ningún error. Al ir a la vista de tablas, en principio, todo estará igual también. Deberás ir al menú ver "Actualizar Tablas" para que te aparezca la nueva tabla creada (TablaEjemplo). Si la abres comprobarás que posee dos campos: id (entero), y campo (cadena de 100 caracteres).

Imagen que muestra la orden para crear la tabla mediante lenguaje SQL.
Agustín Nieto Espino (Elaboración propia)

Reflexiona

Si CREATE TABLE (…) permite crear tablas. ¿Para qué crees que sirve DROP TABLE?

5.- Formularios.

Caso práctico

Imagen de Alicia y Juan,
Ministerio de Educación y Formación Profesional (Elaboración propia)

ALICIA: ¿Has visto que cómodo resulta sacar ahora la información? Lo de las consultas ha estado realmente bien.

JUAN: Sí. Pero si te fijas, ahora tenemos el problema contrario. ¿No te resulta incómodo meter los datos en tablas?

ALICIA: Tienes razón. En otras aplicaciones, para meter datos, tienen ventanas más cómodas, personalizadas para cada caso.

JUAN: Fíjate, aquí en BASE hay una apartado de Formularios. ¿Investigamos?

Aunque mediante tablas y consultas puedas manejar toda la información de una base de datos (tanto para leer como para introducir datos), normalmente no la manejarás así. Si trabajaras sólo con tablas y consultas, las labores de edición y creación de registros serían muy tediosas y complejas para el común de los usuarios y usuarias.
Por ello, en la mayor parte de los casos se recurre a formularios para trabajar con la información.
¿Qué es un formulario? Simplemente una forma de presentar o introducir los datos a través de una ventana gráfica específicamente confeccionada para esa labor.
En este apartado aprenderás a crear formularios a través de asistentes, incluidos aquellos formularios que a su vez contienen otros formularios (llamados subformularios). Antes de empezar, reflexiona un poco.

Reflexiona

Si las páginas web en las que te piden información, (como el registro telemático en alguna entidad, o las consultas al banco), están conectadas a bases de datos (que lo están).
¿Se las puede considerar por tanto formularios?

Imagen que muestra las relaciones entre las tablas
Agustín Nieto Espino (Elaboración propia)

Para trabajar continuarás con la base de datos del apartado anterior, SMR_AOF05_CONT_R71b_Habitantes-Forms.odb, que contiene un par de nuevos elementos para facilitarnos el trabajo. (Para poder utilizarla debes de descargarla y descomprimir el fichero zip en el que se encuentra).

Aquí, puedes ver, en la ventana de relaciones, la estructura de la base de datos.


Tienes añadidas dos tablas nuevas:

  • Ciudades: que almacenará el texto de las distintas ciudades en las que pueden vivir los habitantes. El modo de almacenar las ciudades en la tabla habitantes es poco eficiente, pero te va a servir para entender fácilmente el funcionamiento de un tipo de control.
  • Profesiones: enlazada por una relación 1 a n con Habitantes, permite almacenar la profesión de cada habitante. (Éste es el modo eficiente que debiera haber usado Ciudades para almacenarse).
Imagen que muestra los datos de la ejecución de la consulta.
Agustín Nieto Espino (Elaboración propia)


A través de ésta consulta es muy fácil, ver la información. El problema que tiene es que no te permite agregar registros nuevos. Si quieres añadir un nuevo habitante, hasta ahora, tendrías que abrir la tabla habitantes, y meter el registro nuevo. La cuestión te resultará especialmente compleja al indicarle una profesión, ya que deberás indicar el número del indicador de la tabla de profesiones. 
Para que puedas ver el resultado, tienes creada la consulta HabitantesConProfesiones, en la cual tienes el listado de Habitantes unido a la tabla Profesiones para poder ver cada habitante con su profesión. (Por defecto no se ha asignado ninguna profesión a ningún habitante).

Intenta hacerlo. ¿No te resulta complejo? Pues claro. Así no hay forma de trabajar. Es necesario recurrir a formularios para facilitarnos la labor de entrada y edición de datos. 

BASE no tiene una herramienta propia para la creación de formularios, si no que se basa en la aplicación Write para su creación. Por ello, según arranques el asistente, o cuando trabajes con formularios, verás que aparece la aplicación Write como ventana auxiliar.

5.1.- Creación y Diseño de formularios con el Asistente.

Imagen que muestra la ventana que se nos abre cuando pulsamos la opción "Crear un formulario mediante el asistente"
Agustín Nieto Espino (Elaboración propia)


Continúa con la base de datos SMR_AOF05_CONT_R71b_Habitantes-Forms.odb y selecciona la categoría Formularios. Como en el resto de apartados, verás que tienes la opción de crear un formulario a través de un asistente o con vista diseño. En esta unidad verás cómo utilizar el asistente de formularios. Comienza seleccionando "Crear un formulario mediante el asistente".

Para crear un formulario debes de detallar los siguientes pasos:

  • Selección de campos: Bien de una tabla o de una consulta, puedes escoger qué campos mostrar en tu formulario. Como vas a querer utilizar el formulario para meter datos, lo mejor es vincular el formulario directamente a la tabla Habitantes, seleccionando los campos que quieres ver, es decir, todos menos ID e idProfesión (son números que no te aportan información).
Imagen que muestra el primer paso para crear un formulario. Se han seleccionado todos los campos de la tabla habitantes menos el campo ID.
Agustín Nieto Espino (Elaboración propia)
  • Configurar un subformulario: de momento no vamos a utilizarlo hasta el siguiente apartado. Te adelanto que sirve para configurar un formulario dentro de otro. Pulsa el botón Siguiente para continuar.
  • Organizar los campos de control: el asistente tiene unas estructuras de configuración predefinidas. Por defecto te ofrece usar "Como hoja de Datos", que implica un aspecto similar al de edición de una tabla. Escoge mejor la opción lateral derecha "En bloques: etiquetas arriba" (aunque, si te apetece, puedes utilizar cualquiera de las otras dos opciones "En columnas").
Imagen que muestra la configuración de la organización de los campos de control, Se ha seleccionado en el apartado organización del formulario la opción En bloques - etiquetas arriba.
Agustín Nieto Espino (Elaboración propia)
  • Establecer entrada de datos: esta pantalla del asistente te permite configurar las opciones de edición de datos. Podrías, por ejemplo, evitar que a través de este formulario se añadieran o editaran datos (es decir, estarías creando un formulario "de solo lectura"). Para este ejemplo, deja las opciones tal y como se presentan y pulsa siguiente.
  • Aplicar estilos: mediante esta ventana puedes modificar la apariencia del formulario a través de unos estilos preconfigurados. Al gusto del consumidor: mantén el estilo que viene predeterminado, o bien investiga el aspecto final de otros estilos. Cuando te decidas por uno, pulsa Siguiente.
Imagen que muestra la ventana para seleccionar el aspecto visual del formulario a través de la selección de los estilos.
Agustín Nieto Espino (Elaboración propia)
  • Establecer nombre: para no confundirnos con la tabla Habitantes, cambia el nombre del formulario a "FormularioHabitantes". Además, en lugar de trabajar con los datos, escoge "Modificar el formulario": verás que el aspecto inicial no nos convence.
Imagen que muestra el paso del asistente para asignarle un nombre. En el campo Nombre del formulario se ha introducido el nombre FormularioHabitantes y se ha seleccionado la opción modificar el formulario tras su creación.
Agustín Nieto Espino (Elaboración propia)
Imagen que muestra el formulario creado.
Agustín Nieto Espino (Elaboración propia)


La barra de navegación de registros te permite moverte por los registros de la tabla vinculada al formulario, (Habitantes), mostrando los datos en el formulario. Puedes moverte adelante, atrás, al final y al principio. 
Al finalizar el asistente, te saldrá por defecto una configuración de formulario. Mueve los controles para que tenga un aspecto similar al de la imagen.
Si seleccionas el formulario en la ventana principal de base, accedes al menú contextual puedes encontrar la opción de Editar el formulario. A través de esta opción, podrás modificar el formulario creado.

Pulsando el botón de Diseño Imagen que muestra el icono para acceder a la vista diseño del formulario. , conmutarás entre el modo diseño y el modo formulario. Lo notarás porque en el modo formulario ves los datos de la tabla, y te aparece una barra de navegación en la parte inferior.

Quizás el botón más interesante sea el correspondiente a "Nuevo Registro" DetalleBotonNuevoRegistro . Te permite colocarte al final de la tabla y añadir un nuevo Habitante a la tabla. Prueba a rellenar datos y avanzar después con la barra de navegación de registros. Verás que se introduce sin problemas.

Reflexiona

Has creado un formulario que te permite introducir el sexo, la ciudad y el estado civil. ¿Te has dado cuenta que puedes escribir cualquier cosa? Es decir, en sexo podrías escribir "K", o en ciudad "Cantabria", o en estado civil "J", y no pasaría nada.
¿Crees que eso está bien?

5.2.- Creación y Diseño de formularios de Cuadro Combinado.

El formulario creado en el paso anterior no impone ninguna restricción a la hora de introducir datos, y eso, en campos como Sexo, Ciudad o Estado Civil supone un problema. La forma de solucionarlo es no permitir que el usuario o usuaria escriba lo que quiera, sino que directamente escoja entre una serie de opciones.
En definitiva, lo que estás haciendo es dejar de utilizar un control libre (el campo de texto), por un control limitado como puede ser el cuadro de lista o el cuadro combinado.

Por lo tanto, un cuadro combinado consiste en mostrar una lista de valores en lugar de un campo de texto, para que el usuario o usuaria solo pueda seleccionar un dato de los que se les muestra en la lista. De esta forma, evitaremos que el usuario o usuaria pueda introducir cualquier valor.

Los pasos que debemos de seguir para añadir a nuestro formulario un cuadro combinado son:

  • Accede al formulario en modo diseño. Pulsa el botón cuadro combinado Imagen que muestra el icono que representa al control del cuadro combinado. , y señala el área del formulario donde quieres colocarlo. Esto provocará que aparezca un nuevo asistente para configurar el nuevo control.
Imagen que muestra el inicio del asistente cuando se inserta un cuadro combinado,
Agustín Nieto Espino (Elaboración propia)
  • Selección de tabla: escoge la tabla Ciudades, para indicar que el cuadro combinado se rellene con las ciudades de ésa tabla. Pulsa siguiente.
Imagen que muestra la selección de la tabla ciudades.
Agustín Nieto Espino (Elaboración propia)
  • Selección de campo: de la tabla Ciudades, selecciona el único campo existente (Ciudad), que será el utilizado para mostrar en el listado del cuadro combinado.
Imagen que muestra la selección del campo ciudades.
Agustín Nieto Espino (Elaboración propia)
  • Campo de Base de Datos: A la pregunta "Desea guardar el valor…?", debes señalar la opción "Si, en el siguiente campo", y a continuación seleccionar el campo "Ciudad". Estás diciendo que, a través del campo combinado, se rellene el campo "Ciudad" de la tabla "Habitantes" vinculada a tu formulario. Hecho esto, puedes finalizar el asistente.
Ampliar la imagen
Agustín Nieto Espino (Elaboración propia)

El resultado lo puedes comprobar si conmutas de nuevo al estado entrada de datos. Verás que si cambias con el seleccionable la ciudad, al pulsar después sobre el texto Ciudad, ésta cambia y se sincroniza con el cuadro combinado. Realmente no necesitas para nada el cuadro de texto antiguo, así que le puedes eliminar (entrando de nuevo en el modo edición), y colocar en su lugar el combo creado.
Para dejarlo igual que estaba, es aconsejable que añadas una etiqueta encima del cuadro combinado: simplemente selecciona en la barra de herramientas, insértalo en el formulario y edita la propiedad "Etiqueta"  para asignarle el valor Ciudad.

Imagen que muestra la ventana de control de la etiqueta insertada. Aparece seleccionado el campo título y se le ha asignado el valor Ciudad.
Agustín Nieto Espino (Elaboración propia)

Una vez que realices todos los pasos, el formulario deberá de tener el siguiente aspecto:

Imagen que muestra el aspecto final del formulario.
Agustín Nieto Espino (Elaboración propia)



Reflexiona

¿Es este método válido para el campo Estado civil o "Sexo"?

5.3.- Creación y Diseño de formularios de Cuadro de Lista.

El cuadro combinado es una solución idónea para insertar datos en un campo pero no siempre te será suficiente. Si te fijas, en el formulario tienes una importante carencia: no has contemplado la profesión del habitante. Con el asistente, ignoramos agregar el campo idProfesión, ya que este campo sólo indica un número sin más. Necesitamos combinar ese número con la tabla Profesiones para saber la profesión asociada.

Reflexiona

¿Por qué no usar entonces la consulta HabitantesConProfesiones, que indica todo?

Vuelve a abrir el formulario "FormularioHabitantes", entra en el modo edición e inserta un cuadro de lista (pulsa el botón Imagen que muestra el icono del control lista. , y crea un área rectangular en el formulario). Con ello se te abrirá un asistente muy parecido al del cuadro combinado, en el cual deberás seguir los siguientes pasos:

  • Selección de Tabla: indicas aquí la tabla con la que se rellenará la lista. Escoge la tabla Profesiones.
Imagen que muestra el inicio del asistente para crear la lista. Se ha seleccionado la tabla profesiones.
Agustín Nieto Espino (Elaboración propia)
  • Selección de Campo: la tabla profesiones cuenta con dos campos (el identificador ID, y el campo Profesión). Has de indicar el campo que quieres que el usuario o usuaria vea, es decir, el campo Profesión (que es el que contiene realmente la información).
Imagen que muestra la selección del campo Profesión.
Agustín Nieto Espino (Agustín Nieto Espino)
  • Vínculo de Campo: en esta ventana indicas la relación que existe entre la tabla Habitantes (del formulario), y la tabla Profesiones (a mostrar en el cuadro de Lista). Señalarás del despegable "Campo de la tabla de valores" (Habitantes) el campo idProfesion, y del "campo de la tabla de listas" el campo ID. Si te fijas en el diagrama de relaciones mostrado en el apartado 5, verás que coincide con la relación allí marcada. Es precisamente para este tipo de uniones para las que es óptimo el cuadro de lista.
Imagen que muestra el vínculo de los campos idProfesión y el campo ID.
Agustín Nieto Espino (Elaboración propia)

Pulsando finalizar se acaba el asistente, y ya puedes quitar el modo edición para ver el resultado. Probablemente te sorprenda, pues tendrá un aspecto similar al de la imagen: un cuadro de lista.

En cada registro del formulario, verás la lista completa de profesiones y podrás señalar una. El cuadro de lista se encarga de guardar en el registro el número asociado a ese campo. Si navegas por los registros, verás que el elemento seleccionado en la lista irá cambiando (por defecto todas las profesiones están en "Sin Asignar", así que no te sorprenda eso: cambia algunos registros para probar el funcionamiento).

Normalmente, no es cómodo usar el cuadro de lista en formato cuadro. Solemos querer tenerle con la misma funcionalidad que el cuadro combinado, es decir, una lista desplegable. Por suerte BASE te lo permite. Sólo tienes que volver a entrar en el modo edición, entrar en las propiedades del cuadro de control, y en la propiedad "Desplegable" escoger "SI".

Imagen que muestra el aspecto final del formulario.
Agustín Nieto Espino (Elaboración propia)

5.4.- Uso de subformularios.

Un subformulario es un formulario insertado dentro de otro formulario. ¿Para qué te puede valer eso? Precisamente para ampliar la información que no puede ser mostrada completamente en el formulario principal. En muchas ocasiones, por cada registro del formulario principal habrá uno o muchos registros relacionados en alguna tabla. Un subformulario te va a permitir ver esa información.

Vamos a crear un formulario que contenga subformulario. Como primer paso, en la ventana principal de base, selecciona la opción "Crear un formulario mediante el asistente".

  • Selección de campo: Selecciona la tabla Profesiones, y todos sus campos.
Imagen que muestra el asistente para crear formularios. Aparece seleccionado la tabla profesiones y todos sus campos.
Agustín Nieto Espino (Elaboración propia)
  • Configurar un subformulario: aprovechamos la relación existente entre las tablas Profesiones y Habitantes. Selecciona "Subformulario basado en relación existente", y después la tabla "Habitantes".
Imagen que muestra la opción activada para agregar un subformulario.
Agustín Nieto Espino (Elaboración propia)
  • Agregar campos de subformulario: agrega todos los campos de la tabla habitantes salvo los identificadores numéricos (ID e IdProfesion). Estos son los campos que mostrará el subformulario.
Imagen que muestra la selección de campos del subformulario.
Agustín Nieto Espino (Elaboración propia)
  • Obtener campos combinados: este paso se omite por haber escogido "Subformulario basado en relación existente". Con ello se creó un vínculo automático entre subformulario y formulario a través de Profesión.ID y Habitantes.idProfesion. Es decir, por cada profesión, el subformulario mostrará una lista de habitantes que ejerzan ésa profesión.
  • Organizar campos de control: no hagas cambios en este paso. Te va a interesar tener dos listas para introducir los datos de forma más fácil. Solo debes de pulsar el botón Siguiente.
  • Establecer entrada de datos: mantén las opciones por defecto. Podremos editar, borrar y crear tanto en el formulario principal como en el subformulario. Pulsa el botón Siguiente.
  • Aplicar estilos: como siempre… a tu gusto. Puedes mantenerlo o escoger otro estilo. Pulsa el botón Siguiente.
  • Establecer nombre: escribe un nombre adecuado al formulario (como "FormularioProfesionesyProfesionales"), y escoge "Modificar formulario".
Imagen que muestra el nombre asignado al formulario y la opción Modificar formulario activada.
Agustín Nieto Espino (Elaboración propia)

Por defecto, el formulario creado está orientado horizontalmente. Es aconsejable que modifique las estructuras y coloques los listados paralelos y en vertical, ajustándote al ancho de las columnas (como se muestra en la imagen). La columna ID del formulario principal la puedes ocultar (es una clave autonumérica, y además queda fea, solo debes de seleccionar la columna y acceder al menú contextual para seleccionar Ocultar columna).

Imagen que muestra el diseño del formulario.
Agustín Nieto Espino (Elaboración propia)

Pulsa el botón de Edición para conmutar a modo formulario, y comprueba el funcionamiento.

Imagen que muestra el aspecto final del formulario.
Agustín Nieto Espino (Elaboración propia)

Autoevaluación

Pregunta

¿Qué hace el formulario creado?

Respuestas

Cada vez que seleccionamos un registro en la tabla profesiones (formulario principal, a la izquierda), se carga la lista de habitantes con dicha profesión (en el subformulario, lista de la derecha).

Cada vez que seleccionamos un registro en la tabla "habitantes" (formulario principal, a la derecha), se carga la lista de profesiones con sólo la profesión del habitante (en el subformulario, lista de la izquierda).

Los dos listados funcionan de forma independiente.

Todas las respuestas anteriores son falsas.

Retroalimentación

6.- Informes.

Caso práctico

Imagen de NEKANE
Ministerio de Educación y Formación Profesional (Elaboración propia)

Nekane acaba de llamar a Alicia y Juan para preguntarles por la base de datos:

NEKANE: ¿Qué tal os apañáis con BASE?


ALICIA: Estupendamente, hemos aprendido a hacer consultas, y formularios. ¡Estamos encantados!


NEKANE: ¿Y habéis imprimido algo? Mandadme un informe a ver qué tal os ha quedado todo.


ALICIA: ¿Que te mandemos qué?

Todo lo que has visto hasta ahora es imprimible. Una tabla, una consulta, un formulario (con o sin formulario), las relaciones etc, absolutamente todo puede ser imprimido con tan sólo ir al menú Archivo->Imprimir. Evidentemente, no es lo más óptimo. Para sacar en formato papel (estándar o digital pdf) la información de la base de datos, lo mejor es generar informes específicos. En este apartado vas a conocer las principales técnicas relacionadas con la generación de informes.

Para saber más

La generación de informes es casi una ciencia. De poco sirve que tengas excelentes almacenes de datos si luego no puedes plasmar la información en un soporte físico de manera amigable. En otras bases de datos más potentes (como el SQL Server, Oracle, …), existen herramientas de terceros orientadas exclusivamente a la generación de informes (de mejor calidad que la propia base de datos).

6.1.- Creación de informes.

En Base puedes crear dos tipos de informes:

  • Estático: la información se extrae una vez de la base de datos y se genera un documento WRITE con ella (formateado).
  • Dinámico: se configura una plantilla de informe y, cada vez que se quiera generar, se crea un nuevo listado con la última información almacenada en base de datos.

Cualquiera de los dos informes se genera a través de un asistente. Así que empezarás por el estático.

Vamos a comenzar por crear un informe estático. En la ventana principal de Base, seleccionamos Informes. En el panel de tareas, seleccionamos la opción "Crear un informe mediante el asistente" y seguiremos los siguientes pasos:

  • Selección de campo: escoge la tabla ciudades, y su único campo para realizar un informe sencillo.
Imagen que muestra el inicio del asistente para crear un informe estático. Se ha seleccionado la tabla ciudades y el campo ciudad.
Agustín Nieto Espino (Elaboración propia)
  • Campos de etiquetas: te permite cambiar el nombre del campo en el informe. Como en este caso es relevante, el campo le dejamos con el mismo nombre (Ciudades).
Imagen que muestra la opción Etiquetar campos del asistente creación de informe.
Agustín Nieto Espino (Elaboración propia)
  • Agrupación: no lo cambies y pulsa siguiente. (En el siguiente apartado usaremos esta opción).
  • Opciones de ordenación: esta pantalla te permite, si quieres, ordenar por los distintos campos del informe. Indica que quieres ordenar por Ciudades en orden ascendente.
Imagen que muestra la selección de campos que podemos elegir para ordenar los datos del informe.
Agustín Nieto Espino (Elaboración propia)
  • Selección de diseño: permite escoger el aspecto del informe siguiendo unas estructuras y estilos predeterminados. Prueba las distintas combinaciones y quédate con la que te guste.
  • Crear Informe: en esta ventana indicarás que el informe que quieres sea de tipo estático, e indicarás un nombre al informe (InformeCiudadesEstático).
Imagen que muestra la asignación de nombre al formulario.
Agustín Nieto Espino (Elaboración propia)

Al generar un informe estático, estás creando una instantánea de la base de datos en un documento Write. Es decir, muestras un listado del contenido de la tabla Ciudades en el momento de la creación del informe. 

Imagen que muestra el resultado del informe.
Agustín Nieto Espino (Elaboración propia)

Debes conocer

Generar un informe no tiene por qué implicar imprimir en papel. En muchas ocasiones generarás informes para ser mandados en algún formato de papel digital. El más común de éstos es el formato PDF, para lo cual BASE  tiene un exportador específico. Con la ventana del informe "InformeCiudadesEstático" abierto, dirígete a Menú Archivo->Exportar -> Exportar a PDF (otra forma más rápida es usar directamente el botón Imagen que muestra el icono de la opción Exportar directamente a PDF en la barra de herramientas. Para visualizar el contenido creado puedes usar el Acrobat Reader (), o el Foxit Reader (), ambas herramientas gratuitas que se pueden obtener desde sus respectivas webs:

Adobe Acrobat Reader.

Foxit Reader

Autoevaluación

Pregunta

¿Podrías ordenar ahora el informe generado en orden descendente?

Respuestas

Sí, sólo hay que editar el informe y escoger la opción Ordenar Descendente.

No, se trata de un informe dinámico y por tanto no puede modificarse.

No, se trata de un informe estático y por tanto no puede ser reconfigurado.

Sí, se trata de un informe estático y por tanto es perfectamente editable a través de asistente.

Retroalimentación

6.2.- Informes agrupados.

El apartado anterior sólo era un ejemplo del tipo de informe más sencillo que puede generar base: una sola tabla exportada de forma estática. Evidentemente, ese tipo de informe no será el que más comúnmente produzcas. Tus informes casi siempre serán de tipo dinámico, y querrás realizar algún tipo de agrupación de datos.

Plantéate la siguiente situación. Quieres obtener un listado completo de habitantes registrados, pero quieres hacerlo agrupando, por las distintas profesiones de los habitantes, y después por las ciudades en las que viven.

Vamos a proceder a crear un informe dinámico. Accedemos a la ventana principal de Base, en el panel de tareas seleccionamos la opción "Crear un informe mediante el asistente" y seguiremos los siguientes pasos:

  • Selección de Campo: usa la consulta "HabitantesConProfesiones" como origen de datos, escogiendo todos los campos para el informe salvo los identificadores numéricos (idProfesión, e idHabitante).
Imagen que muestra el inicio de la creación del informe. Se ha seleccionado la consulta y los campos indicados.
Agustín Nieto Espino (Elaboración propia)
  • Campos de Etiquetas: para que quede un poco más claro en el informe modifica las etiquetas, cambia "FechaNac" por "Nacimiento", "Estado Civil" por "Solter@/Casad@", y "Sexo" por "Hombre/Mujer".
Imagen que muestra los nombres que serán asociados a dichos campos.
Agustín Nieto Espino (Elaboración propia)
  • Agrupación: ésta es la clave para un informe agrupado. Deberás escoger los niveles que quieres agrupar. En este caso debes escoger primero Profesión, y luego Ciudad.
Imagen que muestra la agrupación por los campos profesión y ciudad.
Agustín Nieto Espino (Elaboración propia)



  • Opciones de Ordenación: al ser un informe agrupado, esta ventana ya te incluye por defecto el ordenamiento de los campos de agrupación (Profesión y Ciudad: puedes mantenerlos en ascendente o modificarlos). Además, vamos a seleccionar el campo Edad (Descendente) y luego por Nombre (Ascendente), simplemente a título de ejemplo.
Imagen que muestra los campos por los que se van a ordenar los datos que se muestren en el informe.
Agustín Nieto Espino (Elaboración propia)
  • Selección del diseño: en esta parte del asistente escogerás el aspecto que más te apetezca para tu informe. Para este caso concreto, puedes escoger un diseño predeterminado
  • Crear Informe: indícale al asistente que se trata de un informe dinámico (cuyo diseño quieres modificar), y cambia el nombre a "HabitantesPorProfesionesYCiudad".

A partir de este momento podemos pulsar el botón Finalizar y se nos mostrará el informe:

Imagen que muestra el informe agrupado creado.
Agustín Nieto Espino (Elaboración propia)

Autoevaluación

Pregunta

El campo de ordenación "sólo" permite  5 niveles de ordenamiento. ¿Qué pasa si quieres un nivel más? ¿Cómo harías para, por ejemplo, ordenar también por Ingresos?

Respuestas

Escogería una sexta categoría ingresos en la lista desplegable.

Borraría algún nivel anterior y le colocaría doble (ejemplo: Edad-Ingresos).

Directamente con el asistente no podría. Tendría que apoyarme en la definición de consulta, editarla y añadir el nuevo criterio de ordenación.

Ninguna de las anteriores respuestas es correcta.

Retroalimentación