Tema 56 – Bases de datos relacionales: diseño. Estructura. Operaciones. Lenguaje SQL. Diseño de programas. Importación/exportación de datos.

Tema 56 – Bases de datos relacionales: diseño. Estructura. Operaciones. Lenguaje SQL. Diseño de programas. Importación/exportación de datos.

BASES DE DATOS RELACIONALES: DISEÑO, ESTRUCTURA. OPERACIONES.

1. INTRODUCCIÓN

Estamos rodeados de bases de datos. La guía telefónica o las páginas amarillas son bases de datos. Las fichas de los libros en las bibliotecas son grandes bases de datos.

A lo largo del tema analizaremos el concepto de base de datos relacional, basándose para ello en el estudio y diseño de la base de datos relacional más utilizada en la actualidad, que es Access, perteneciente al paquete de Office.

Access es un gestor de bases de datos que nos facilita enormemente el trabajo. Con Access, localizar un libro en la base de datos de una biblioteca puede ser cuestión de pocos segundos.

De igual forma introduciremos el lenguaje de programación SQL, aunque sin entrar en pormenorizaciones, por ser este un tema que excede del estudio de las aplicaciones informáticas, que deben ser dominadas por un Profesor Técnico de FP de la especialidad de PGA.

También haremos referencia a la importación/ exportación de datos de Access.

2. BASES DE DATOS RELACIONALES: DISEÑO, ESTRUCTURA, OPERACIONES.

2.1. CONCEPTO DE BASES DE DATOS RELACIONALES.

Una base de datos relacional es un conjunto de información organizada sistemáticamente en la cual registros de una base de datos tienen relación con registros de otra base de datos distinta.

Como se comentó antes en la introducción, la base de datos relacional más utilizada en la actualidad es Access.

Si el manejo de cualquier base de datos tiene ventajas de uso, una base de datos relacional como es Access posee aún más ventajas. Entre ellas están:

– La creación de tablas que permiten ser utilizadas posteriormente sin ser manipuladas.

– La relación entre tablas que posibilitará utilizar diferentes datos de varias tablas a la vez sin repetir la información que contienen.

Y todo ello, además dentro del entorno Windows, lo cual significa:

– Utilización de Asistentes fáciles de usar (un asistente es una guía en pantalla, paso a paso).

– Incorporación de macros para automatizar tareas.

– Incorporación de módulos de programación Visual Basic para bases de datos.

– Soporte de DDE (Dynamic Data Exchange: intercambio dinámico de datos) y OLE (Object Linking and Embedding) enlace e incrustación de objetos.

– Importación, exportación y vinculación con archivos externos.

Access es un sistema de administración de datos relacional. Podemos guardar datos según temas, lo que los hace fáciles de encontrar y verificar, además podemos almacenar información acerca de la manera en que los temas se relacionan entre sí, por lo que es fácil agruparlos en temas relacionados.

2.2. DISEÑO.

Antes de utilizar Microsoft Access para crear las tablas, los formularios y los demás objetos que formarán la base de datos, es importante invertir algún tiempo en diseñar la base de datos.

Un buen diseño de la base de datos es la pieza clave para crear una base que realice las operaciones que deseemos de una forma efectiva, precisa y eficaz.

Para diseñar una base de datos se han de seguir una serie de pasos:

1. Determinar la finalidad de la base de datos.

2. Determinar las tablas que se necesitan en la base de datos.

3. Determinar los campos que se necesitan en las tablas.

4. Identificar los campos por valores exclusivos.

5. Determinar las relaciones entre tablas.

6. Precisar el diseño.

7. Agregar datos y crear otros objetos de la base de datos.

8. Utilizar las herramientas de análisis de Microsoft Access.

Veamos un poco más profundamente cada uno:

1. Determinar la finalidad de la base de datos.

Debemos saber qué información deseamos obtener de la base de datos. A partir de ahí, podemos determinar sobre qué asuntos necesitamos almacenar hechos (las tablas) y qué hechos necesitamos almacenar sobre cada asunto (los campos de las tablas).

2. Determinar los campos que se necesitan.

Puede ser el paso más complicado del proceso de diseño de una base de datos. Esto se debe a que los resultados que deseamos obtener de la misma (los informes a imprimir, formularios a utilizar, preguntas para las respuestas) no proporcionan pistas necesariamente acerca de la estructura de las tablas que los producen.

Al diseñar las tablas, dividimos la información teniendo en cuenta los siguientes pasos de diseño fundamentales:

– Una tabla no debe contener información duplicada y la información no debe duplicarse entre las tablas.

– Cada tabla debe contener información sobre un asunto.

3. Determinar los campos que se necesitan.

Cada tabla contiene información acerca del mismo asunto, y cada campo de una tabla contiene hechos individuales sobre el asunto de la tabla.

Por ejemplo, la tabla de Clientes puede incluir los campos del “nombre de la compañía”, la “dirección”, la “ciudad”, el “país”, y el “número de teléfono”.

4. Identificar los campos con valores exclusivos.

Para que Microsoft Access conecte información almacenada en tablas, independientes (por ejemplo, para conectar a un cliente con todos los pedidos del cliente), cada tabla de la base de datos debe incluir un campo o un conjunto de campos que identifiquen de forma exclusiva cada registro individual de la tabla. Este campo o conjunto de campos se denomina clave principal.

5. Determinar las relaciones entre las tablas.

Una vez que hemos dividido la información en tablas y que hemos identificado los campos de clave principal, necesitamos una forma de indicar a Access cómo volver a reunir toda la información relacionada de un modo significativo. Para ello, debemos definir las relaciones entre las tablas.

6. Precisar el diseño.

Una vez diseñadas las tablas, los campos y las relaciones que necesitamos, es el momento de estudiar el diseño y detectar los posibles fallos que puedan queda. Es más sencillo cambiar el diseño de una base de datos antes de rellenar las tablas con datos.

7. Introducir datos y crear otros objetos de la base de datos.

Cuando consideremos que la estructura de las tablas cumple los objetivos de diseño descritos anteriormente, es el momento de comenzar a agregar los datos existentes a las tablas. A continuación, podemos crear las consultas, formularios, informes, macros y módulos que deseemos.

8. Utilizar las herramientas de análisis de Microsoft Access.

Access incluye dos herramientas que pueden ayudarnos a precisar el diseño de la base de datos:

Asistente para analizar tablas: puede analizar el diseño de una tabla, proponer nuevas estructuras de tablas y relaciones si es conveniente y reestructurar una tabla en nuevas tablas relacionadas si es necesario.

Analizador de rendimiento: puede analizar la base de datos completa y realizan recomendaciones y sugerencias para mejorarla.

2.3. ESTRUCTURA Y OPERACIONES.

Los términos que utiliza Access y con los cuales se trabajará son los siguientes:

– Tabla.

– Consulta.

– Informes.

– Formularios.

Cuando activamos Access, lo primero que vamos a encontrar es una ventana con varias opciones:

– Base de datos en blanco.

– Asistente para bases de datos.

– Abrir una base de datos existente.

Al principio, se supone que no tenemos creada ninguna base de datos, con lo cual es primer paso a seguir es crearla (para ello, el propio programa, lo que hace es guardarla). Para carear una nueva base de datos, daremos los siguientes pasos:

1. Seleccionar la opción”Base de datos en blanco”/ Aceptar.

2. Access nos pregunta cuál será el nombre de nuestra base de datos y el lugar en que se guardará:

– En “Guardar en” seleccionaremos dónde queremos guardarla (Mis documentos, C:\>, A:\>,…).

– En “Nombre e Archivo” escribiremos el nombre que queramos darle a la base de datos.

– Pulsamos sobre el botón Crear.

Veamos un poco más en profundidad el estudio y diseño de una base de datos y los elementos (estructura) que la componen.

A) TABLAS

Una vez que hemos creado la base en blanco, ésta nos aparece sin ningún tipo de información; dicha información se introduce en forma de tablas.

Una tabla es una colección de datos acerca de un tema particular. Los datos de la tabla se representan en formato tabular con columnas (llamadas campos) y filas ( llamadas registros). Toda la información de la tabla describe el tema de ésta.

En una tabla, un campo es una categoría de información. Pueden ser nombres de compañías, fechas de contratación de empleados, precios de productos,…

Un registro es una colección de información acerca de una persona, cosa o evento. Puede ser toda la información sobre un producto, una transacción, un proveedor,…

Vamos a crear una tabla utilizando un ejemplo práctico, para así comprenderlo más fácilmente. Imaginamos que queremos crear una base de datos que contengan los siguientes datos:

PRODUCTO

PRECIO DE COMPRA

PRECIO DE VENTA

Pantalones

12 €

15 €

Falda

9 €

12 €

Camisa

6 €

9 €

Bañador

3 €

6 €

Los pasos para crear la tabla serían:

– Nos fijamos en la parte superior de la ventana. Aparece: Tablas, Consultas, Formularios, Informes, Macros y Módulos. Tiene que estar activada la primera de ellas (Tablas). A la derecha tenemos tres botones. Pulsamos sobre Nuevo (botón izquierdo del ratón).

– En la nueva ventana que aparece seleccionaremos “Vista diseño”/ Aceptar.

– En esta nueva ventana vamos a crear nuestra tabla, pero aquí no tenemos que introducir los datos, sino que hay que “avisar” a Access de cuáles son los datos que vamos a introducir. Access necesita saber que vamos a introducir tres campos, que son Producto, Precio de Compra y Precio de Venta. Comenzamos por el primero: Producto Pasos;

· Tecleamos la palabra Producto, veremos que se escribe en la primer casilla de la izquierda y pulsamos la tecla Enter.

· En la segunda casilla tenemos que definir el tipo de información que se va a guardar. Los productos aparecen normalmente en forma de texto (pantalones, falda,…). Automática Access define el tipo “texto”; como es el que necesitamos lo dejaremos así.

· En la parte inferior de la ventana aparece otra casilla que dice “tamaño de campo:50”. Esto indica que podemos escribir nombres de productos de hasta 50 caracteres (contando letras, números, espacios en blanco,…). En nuestro ejemplo, no vamos a necesitar tanto espacio, como mucho 10 ó 12 espacios. Podemos introducir 15 si acaso añadiéramos un producto con un nombre algo más largo. Borramos el número 50 y escribimos 15 en su lugar.

– Ya teneos introducido el primer campo (Producto), ahora tenemos que escribir los otros dos, que son (Precio de Compra) y (Precio de Venta). Comenzamos con el primero: Precio de Compra: Pasos;

· Pulsamos con el botón izquierdo del ratón en la casilla debajo del campo “Producto” escribimos el nombre del siguiente campo: “Precio de compra” y pulsamos Enter.

· Igual que antes, Access por defecto hace aparecer el tipo de texto, pero en este caso no nos va a servir, ya que el campo que estamos definiendo contiene números (los precios de compra). Pulsaremos sobre la tecla “n” y veremos que aparece “numérico”. De esta forma avisamos a Access que lo que vamos a escribir en este campo van a ser números. Como este es un campo “numérico”, no vamos a introducir los espacios que va a ocupar ( aparece la opción “entero largo”).

– Hacemos clic con el botón izquierdo del ratón en la casilla de abajo y escribimos el nombre del último de los campos: “Precio de venta” y volvemos a poner como tipo de datos el “numérico”. De esta forma ya tenemos “definida” nuestra tabla. Ahora sólo falta darle un nombre y rellenarla de datos.

– Debajo de la opción Archivo tenemos el botón llamado “vista”. Este botón es el que nos permite introducir los datos una vez que hemos terminado de diseñar la tabla. Pulsamos sobre dicho botón. Antes de introducir datos, nos pregunta si queremos guardar la tabla que hemos definido, le decimos que Sí. Luego escribimos el nombre de la tabla, por ejemplo: Productos/Aceptar. Pregunta ¿Desea crear una clave principal? Respondemos No.

– Ahora aparece la tabla vacía de datos para que la rellenemos. Utilizaremos los datos del ejemplo indicado al inicio:

· Tecleamos el primer dato de la tabla: Pantalones/ Enter.

· Precio de compra: 12/ Enter.

· Precio de venta: 15/ Enter.

· Como ya no quedan más campos nos aparece una nueva fila en blanco. Continuaremos introduciendo el resto de los valores de la tabla.

– Cuando hayamos terminado:

· Archivo/ Cerrar.

· Ahora aparece la ventana de nuestra base de datos, pero ya no está vacía. Si hacemos un doble clic sobre la tabla “Productos” veremos que se abre la ventana mostrando los datos introducidos.

· Cada fila es un bloque unido que se llama registro.

B) CONSULTAS.

Las consultas en Access nos permiten “filtrar” la información proveniente de una tabla. Por ejemplo, en el caso de trabajar con una tabla que contuviera una agenda telefónica, podríamos, mediante una consulta, hacer que aparecieran en pantalla sólo los teléfonos de las personas que fueran de una determinada ciudad, o los que tuvieran unos apellidos determinados.

Podemos utilizar consultas, tanto para campos numéricos, como para campos de tipo texto. Para comprender mejor como funcionan las consultas, lo haremos con un ejemplo.

Imaginamos que tenemos una tabla creada con el nombre de Alumnos como la siguiente:

NOMBRE

APELLIDOS

CIUDAD

TELÉFONO

NOTAS

Juan

Gómez

Cádiz

328471298

5,5

Ana

García

Milán

234837493

5,75

Antonio

García

Cádiz

123456789

7

Antonio

Fernández

Madrid

987654321

3

Pedro

Sánchez

Cádiz

343209830

1,5

Para crear una consulta seguiremos los siguientes pasos:

– Primero debemos activar el apartado de consultas en la ventana de la base de datos.

– Pulsamos sobre botón Nuevo/ Vista diseño/ Aceptar.

– Seleccionamos la tabla Alumnos/ Botón Agregar/ Cerrar.

– Arrastramos a la cuadrícula de Diseño el campo “Nombre”.

– Criterio: [ Introduzca el Nombre del Alumno].

– Introducir los datos restantes/ Cerrar/ Guardar. (Arrastrar).

Nombre: ConsNombre.

Una vez hecho esto, nosotros al intentar entrar en la consulta establecida, tendremos que introducir un nombre propio, y en ese caso nos saldrán todos los datos referidos a ese alumno.

Se pueden establecer los criterios que queramos para ver distintas consultas.

C) FORMULARIOS.

Para Access, un formulario no es más que un formato de pantalla que se utiliza para mejorar la imagen de las tablas. Cuando trabajamos con una tabla esta aparece en filas y columnas (parecido al formato de una hoja de cálculo). Podemos mejorar el aspecto de una tabla cuando la visualizamos en pantalla gracias a los formularios.

Para crear un formulario, seguiremos los siguientes pasos:

– Activamos la hoja Formularios/ Nuevo/ Asistente para formularios.

– En la casilla en blanco que aparece abajo podemos elegir la tabla ( o consulta) que queremos utilizar para crear el formulario. Seleccionamos la tabla Alumnos/ Aceptar.

– Aparecen los nombres de los campos que componen la tabla. A la derecha tenemos un panel en blanco. Los campos que pasemos a este panel, son los que aparecerán en el formulario. Para pasar los campos al panel de la derecha podemos utilizar uno de los botones existentes: (>): pasa los campos de uno en uno. (>>): pasa todos los campos a la derecha de una sola vez; (<): quita todos los campos que están en el panel de la derecha. Utilizando estos botones, pasamos todos los campos a la derecha (>>).

– Pulsamos sobre el botón Siguiente/ Distribución / En Columnas (por ejemplo)/ Estilo: el que queramos (elegimos uno) Ej: Nubes/ Siguiente/ Formulario Alumno/Terminar.

– Tras unos segundos, veremos el formulario con el estilo de colores que seleccionamos.

D) INFORMES.

Los informes nos sirven para realizar listados por impresoras de los datos de una tabla. Estos listados se pueden personalizar, o bien, utilizar un asistente (parecido al de los formularios).

De hecho, la función de los informes y los formularios es muy parecida: mejorar el aspecto de la tabla o consulta con colores, fondos, etc.

La única diferencia, prácticamente, es que los formularios se suelen utilizar para trabajar con la tabla en pantalla y los informes para realizar listados en la impresora.

Para poder visualizar un informe es NECESARIO tener instalada alguna impresora en nuestro ordenador.

Para crear un informe nuevo podemos seguir los siguientes PASOS:

– Clic sobre la lengüeta Informes/ Nuevo/ Asistente para informes.

– En la casilla inferior (en blanco), seleccionamos la tabla Alumnos (también vale una consulta)/ Aceptar.

– Aparecen dos paneles, uno a la izquierda ( con los nombres de la tabla) y otro a la derecha (vacío). Los campos que pasemos al panel de la derecha serán los que aparezcan en el informe. Añadimos todos los campos al panel de la derecha (>>) y pulsamos sobre el botón Siguiente.

– El siguiente paso es el “Nivel de Agrupamiento”. Aquí podemos indicar que el listado aparezca en “grupos”. ¿Qué tipo de grupos? Por ejemplo, en nuestra tabla existe un campo llamado “NOTAS”. Access agrupará el listado por este campo: hará que aparezcan primero los de una nota y luego los de otra. Para ello hacemos clic sobre el campo “NOTAS”. Y luego pulsamos sobre el botón (>) para añadirlo al panel de la derecha/ Botón siguiente.

– En esta ventana podemos añadir un orden a la tabla. Por ejemplo, si tenemos un informe para una tabla que tiene nombres y apellidos, puede ser bastante útil ordenar la tabla primero por los apellidos y luego por los nombres, de forma que si hubiera dos hermanos, aparecería primero el que le correspondiera alfabéticamente según su nombre. Tenemos cuatro casillas numeradas del 1 al 4 . Pulsamos sobre la primera y seleccionamos el campo “APELLIDOS”. Este será el campo principal por el que e ordenará la tabla. Podemos hacer lo mismo en la segunda casilla y seleccionar “NOMBRE”.

– Abajo tenemos un botón llamado “OPCIONES DE RESUMEN”. Este botón nos permite añadir al final del listado algunas operaciones. Por ejemplo, podemos decirle a Access, que haga una media de las notas, por ejemplo. Para ello pulsamos sobre el botón “OPCIONES DE RESUMEN”. Fijémonos que aparece sólo el nombre del campo “NOTAS”, y a que es el único numérico con el que se pueden hacer operaciones. Podemos hacer las operaciones suma, promedio, máximo y mínimo sobre el campo, según la casilla que se seleccionemos (probamos por ejemplo la de promedio). Pulsamos sobre el botón Aceptar/ Siguiente.

– En el paso siguiente tenemos una serie de distribuciones disponibles (en paros, esquema, bloqueo, etc.). Si seleccionamos cada una de ellas, veremos un ejemplo de cómo es en el panel de la izquierda. Algunas distribuciones aprovechan el papel mejor que otras, otras muestran líneas o cuadros. Más a la derecha podemos indicar si deseamos que el papel aparezca en horizontal o en vertical. El horizontal está recomendado cuando se van a visualizar muchos campos. Seleccionamos una cualquiera y pulsamos sobre el botón Siguiente.

– Ahora podemos escoger un estilo. Los estilos se basan en tipos de letra, colores y líneas que den un aspecto homogéneo a la tabla cuando imprimamos. Seleccionaremos el que más nos guste/ Botón Siguiente.

– Para terminar, sólo tenemos que darle un nombre al informe. Por ejemplo le damos el nombre de “INFORME DE NOTAS”/ Terminar.

– Si lo hemos hecho bien veremos una vista preliminar del informe. Si lo queremos imprimir, pulsaremos sobre Archivo/ Imprimir/ Aceptar.

También podemos personalizar el informe una vez que ha sido creado de una forma muy parecida a como se haría en un formulario: Botón vista/ Pasamos al diseño del informe/ Modificamos lo que queramos.

3. LENGUAJE S.Q.L. DISEÑO DE PROGRAMAS.

Access es un programa muy potente que permite al usuario confeccionar sus propios programas.

Aprender a programar en Access excede con mucho el objetivo del módulo de “Aplicaciones Informáticas” (GM), así como el de “Informática” (GS).

Por lo tanto, vamos a ver simplemente cómo se entra, cómo se sale y qué hay que hacer allí dentro.

Para elaborar el programa, es decir, para empezar a escribir las órdenes, debemos introducirnos en la pantalla de diseño de módulos de programación.

Esto lo conseguiremos a través de la ventana de la base de datos, eligiendo la pestaña Módulos y seleccionando Nuevo.

Una vez hecho esto, accederemos al ambiente de programación, que equivale a una hoja en blanco donde escribir nuestras órdenes, siempre una en cada renglón.

Cuando hemos terminado de dar las órdenes, guardamos nuestro programa asignándole un nombre para poderlo identificar.

Este entorno de programación permite crear menús, bifurcaciones, bucles, programación modular, etc., trazar nuevas pantallas, con ventanas y distintos colores…

Para programar con Access se utiliza el lenguaje SQL que es un lenguaje de programación estandarizado con sentencias preestablecidas y con una gramática determinada.

4. IMPORTACIÓN/ EXPORTACIÓN DE DATOS.

Access y cualquier otra base de datos, puede establecer interoperaciones con otras aplicaciones, es decir, puede compartir sus datos o documentos con otros programas del mismo tipo o con otras aplicaciones.

Para que un programa pueda operar con la información generada por otro, necesita convertidores.

Un convertidor es un programa incluido dentro del procesador del procesador de textos, la hoja de cálculo o el programa correspondiente, que cambia el formato del fichero generado por un programa determinado al formato del programa que lo va a utilizar.

Esta posibilidad de trabajar con datos generados por otros programas se conoce como integración de programas y se basa en la importación y exportación de datos o intercambio de información.

Cuando hablamos de compartir datos debemos diferenciarlos en función del origen de los mismos. Sí los datos a compartir son generados por nuestra Aplicación, hablaremos de “Exportar” datos. Si los datos a compartir han sido generados por otra Aplicación, hablaremos de “Importar” datos.

Podemos, por ejemplo, importar o vincular datos de un archivo delimitado o de un archivo de texto de ancho fijo, a una base de datos de Microsoft Access.

También se puede transferir texto, o bien, importar o vincular datos desde una hoja de cálculo.

Como ejemplo, vamos a ver los pasos que habrían de seguirse para el caso de importar o vincular datos desde una hoja de cálculo:

1. Abrir una base de datos o cambiar a la ventana Base de datos de la base de datos abierta

2. Archivo/ Obtener datos externos/importar: para importar una hoja de cálculo. Para vincular una hoja de cálculo: Archivo/ Obtener datos externos/ Vincular Tablas.

3. En el cuadro de diálogo Importar (o vincular), en el cuadro Tipo de archivo seleccionamos Microsoft Excel (*.xls) o Lotus 1-2-3- (*.WK*).

4. Hacemos clic en la flecha a la derecha del cuadro Buscar en, seleccionamos la unidad y la carpeta donde está ubicado el archivo de la hoja de cálculo y hacemos doble clic en su icono.

5. Seguimos las indicaciones de los cuadros de diálogo de Asistente para importar de hojas de cálculo.

También se pueden exportar datos de una base de datos a otros programas (hojas de cálculo, procesadores de textos,…).

Access 2000 puede exportar datos a los siguientes programas y versiones:

– Base de datos Microsoft Access: versiones compatibles: 2.0, 7.0/95, 8.0/97, 9.0/2000.

– D Base: Versiones III, III+, IV, y S.

– Microsoft Word, Rich Text Format.

– Lotus 1-2-3: Formatos WK1 y WK3.

– Archivos de texto delimitado: todos los juegos de caracteres.

– HTML e ICD/HTX: 1.0 (si es una lista). 2.0., 3.X, 4.X (si es una tabla o una lista)

– Páginas Active Server de Microsoft.

– Tablas SQL, Microsoft Visual FoxPro, programas y bases de datos que admiten el protocolo ODBC: Visual FoxPro 3.0, 5.0, 6.X.

Ejemplo: podemos exportar una tabla o consulta a un archivo de origen de datos de combinar correspondencia de Microsoft Word. PASOS:

1. En la ventana Base de datos, seleccionamos el nombre de la tabla o consulta (sólo para una base de datos Microsoft Access) que deseamos exportar, y en el menú Archivo, elegimos Exportar.

2. Cuadro Guardar como tipo, seleccionamos Combinación de Microsoft Word (*.txt).

3. Clic en la flecha a la derecha del cuadro Guardar en y seleccionamos la unidad o carpeta a la que deseamos exportar.

4. Cuadro Nombre de archivo, escribimos el nombre y hacemos clic en Guardar todo.