tema 10

19
Tema 10 Base de Datos (II) 1. Bases de datos con varias tablas. En esta unidad vamos a desarrollar todos los conceptos que se han estudiado en la unidad anterior. Además veremos una de las principales características de una base de datos relacional: la forma como se relacionan unas tablas con otras. Comenzaremos con una actividad resuelta y seguidamente explicaremos las relaciones y otras herramientas importantes en una base de datos, como la adición de imágenes y botones y la creación de un panel de control. a. Guardar como. Al igual que vimos al estudiar Word y Excel, una base de datos en Access puede guardarse en versiones anteriores. Siempre tendrán la extensión .mdb Si se guarda sin especificar lo hará en la versión 2007 y su extensión, será .accdb b. Clave principal y clave externa. Clave principal. Una clave principal es un campo o conjunto de campos de la tabla que proporcionan a Access 2007 un identificador exclusivo para cada fila. Una vez definidas las claves principales de todas las tablas, se relacionaran entre ellas, de modo que la base de datos quedara enlazada. El campo que se decida como clave principal de un atabla no podrá contener datos susceptible de repetirse. También valdrá como clave principal el DNI de una persona, puesto que ninguna tiene el mismo igual. Clave externa. En las otras tablas que se relacionen con la que tiene la clave principal, se debe incluir ese mismo campo, que se esas tablas se llamara clave externa, al margen de que cada tabla pueda tener su propia clave principal. c. Relaciones. Existen tres tipos de relaciones entre tablas: De uno a varios. Por ejemplo, un mismo cliente puede realizar varios pedidos. Por tanto, en dos tablas Clientes y Pedidos estarían relacionados por el campo Código de cliente incluido en ambas tablas y relacionando uno a varios.

Upload: victor-marot

Post on 27-Mar-2016

216 views

Category:

Documents


1 download

DESCRIPTION

este es el tema 10

TRANSCRIPT

Page 1: tema 10

Tema 10 Base de Datos (II)

1. Bases de datos con varias tablas.

En esta unidad vamos a desarrollar todos los conceptos que se han estudiado en la

unidad anterior. Además veremos una de las principales características de una base de

datos relacional: la forma como se relacionan unas tablas con otras.

Comenzaremos con una actividad resuelta y seguidamente explicaremos las relaciones

y otras herramientas importantes en una base de datos, como la adición de imágenes

y botones y la creación de un panel de control.

a. Guardar como.

Al igual que vimos al estudiar Word y Excel, una base de datos en Access

puede guardarse en versiones anteriores. Siempre tendrán la extensión

.mdb

Si se guarda sin especificar lo hará en la versión 2007 y su extensión, será

.accdb

b. Clave principal y clave externa.

• Clave principal.

Una clave principal es un campo o conjunto de campos de la tabla

que proporcionan a Access 2007 un identificador exclusivo para

cada fila.

Una vez definidas las claves principales de todas las tablas, se

relacionaran entre ellas, de modo que la base de datos quedara

enlazada.

El campo que se decida como clave principal de un atabla no podrá

contener datos susceptible de repetirse. También valdrá como clave

principal el DNI de una persona, puesto que ninguna tiene el mismo

igual.

• Clave externa.

En las otras tablas que se relacionen con la que tiene la clave

principal, se debe incluir ese mismo campo, que se esas tablas se

llamara clave externa, al margen de que cada tabla pueda tener su

propia clave principal.

c. Relaciones.

Existen tres tipos de relaciones entre tablas:

• De uno a varios. Por ejemplo, un mismo cliente puede realizar

varios pedidos. Por tanto, en dos tablas Clientes y Pedidos estarían

relacionados por el campo Código de cliente incluido en ambas

tablas y relacionando uno a varios.

Page 2: tema 10

• De varios a varios. Por ejemplo, en dos tablas pedidos y productos

un producto puede estar incluido en varios pedidos, a la vez que un

pedido puede tener varios productos. Se harían por tanto una

relación varios a varios en un campo común, en este caso conviene

crear una tabla intermedia, llamada tabla de unión, que tenga

relación uno a varios con cada una de las tablas anteriores.

• De uno a uno. De un registro de una tabla puede tener solamente

un registro correspondiente de otra tabla. Se usa muy poco y suele

hacerse solamente como medida de seguridad en casos muy

concretos.

Las relaciones entre tablas deben crearse, principalmente, y entre otros

motivos, para evitar errores e incoherencias en la base de datos, como por

ejemplo referenciar el rellenar una tabla de facturas un código de cliente

que no existe.

Para hacer las relaciones una vez creadas las tablas de una base de datos,

en la cinta de opciones se activa la pestaña Herramientas de la base de

datos y se hace clic en Relaciones.

A continuación se abre el grupo Relaciones y en el panel de trabajo

veremos las tablas que componen la base de datos o parte de ellas. Si se

desea mostrar más tablas, se hace clic en Mostrar tabla. Si no es necesario

que se muestre alguna, haremos clic en Ocultar tabla.

Campos relacionados. Una relación se realiza entre dos campos iguales en

dos tablas distintas. En una tabla el campo será clave principal y en la otra

clave externa. Los campos tienen que ser del mismo tipo en ambas tablas,

pero no será necesario que tengan el mismo nombre. Por ejemplo, en la

Page 3: tema 10

tabla clientes la clave principal puede estar en la tabla Facturas con el

nombre Código cliente, pero siempre ha de ser de tipo numérico.

La única excepción en lo que respecta a la igualdad de tipo de campo es la

de un campo Auto numérico. En la tabla relacionada no puede ser auto

numérico de nuevo. Un campo auto numérico que sea de tamaño Entero

largo, en la tabla relacionada será del tipo numero y de tamaño Entero

largo.

Modificar y borrar relaciones. Para modificar una relación podemos hacer

clic con el botón secundario del ratón sobre la línea que representa la

relación y elegir modificar relación o borrar relación.

d. Introducción de datos.

Observar las relaciones de las tablas puede darnos una idea de cuales serán

las tablas cuyos datos deben rellenarse en primer lugar y cuales deben

dejarse para el final.

Page 4: tema 10

Por ejemplo, viendo la imagen anterior, es obvio que no se podrá completar

la tabla Facturas si primero no hay unos clientes y unas forma de pago. Por

lo tanto, primero habrá que dar de alta a los clientes y a las formas de pago

y, por ultimo completar los registros de la tabal facturas.

Los datos pueden introducirse directamente en las tablas o, si se desea, una

vez que se han hecho las relaciones, puede crearse un formulario e

introducir los datos a través de el. Los datos introducidos en un formulario

se mostraran en la correspondiente tabla, y viceversa.

Datos introducidos a partir de un formulario de clientes:

Imagen…

Una vez que hayamos guardado los cambios del formulario, si abrimos la

tabla equivalente clientes veremos que esos datos ya aparecen en ella.

2. Botones de comando.

Son botones que se insertan en los formularios y que al pulsarlos ejecutan la acción

que se le asigna.

Al mostrar un formulario en vista de Diseño, la cinta de control agrega la pestaña

Diseño con varios grupos de opciones, entre ellos el de controles. Entre los

controles se encuentra el botón para crear en botón de comando.

Para poder insertar y configurar un botón de comando mediante asistente es

necesario que este seleccionado Usar asistentes para controles.

Los botones también pueden crearse arrastrando una macro a un formulario o sin

utilizar ningún asistente.

3. Panel de control.

Page 5: tema 10

El panel de control es un formulario con forma de menú que facilita la navegación

por la base de datos. Se realiza desde la pestaña Herramientas de base de datos �

Administrados del panel de control.

En el panel de control se ejecuta al inicio, cuando se abre una base de datos.

Mostrara una lista de acciones, mediante botones de control, que abrirán

formularios e informes que hayan sido creados con anterioridad, imprimirán

informes o cerraran aplicaciones.

Cuando se crea un panel de control, se muestran de manera automática dos

nuevos objetos en el panel de objetos de la base de datos: un a tabla llamada

Switchboard Items y un formulario llamado Panel de control. En caso de tener que

borrar y rehacer un panel de control, no bata con borrarlo, en necesario borrar

también la tabla Switchboard Items.

Al tratarse de un formulario más, se pueden rediseñar los colores y las fuentes en

vista diseño.

Ejemplos y actividades

Ejemplo 1.

Creación de la base de datos y las tablas

• Crea una base de datos que se llame Ventas.accdb

• La base de datos constará de tres tablas.

• Crea una tabla llamada clientes, que tendrá los siguientes campos y

propiedades para cada campo. Recuerda que la manera que mas posibilidades

ofrece para configurar ena tabla es la vista Diseño.

• Aunque el DNI sin letra o el codigo postal podrían considerarse datos

numericos, se diseñan de tipo texto pues no haremos operaciones matematicas

con ellos.

Page 6: tema 10

• El resto de las propiedades no especificadas, dejalas como vienen por defecto.

• Clave principal. Al comenzar a crear la tabla en vista diseño, ya se muestra un

campo como clave principal. Puede cambiarse Id por Código cliente, y

continuar completando campos.

• DNI. Dado que un DNI puede ser del tipo decenas de millón (nn.nnn.nn-L) o del

tipo millones (n.nnn.nnn-L) en donde L será una letra y n un numero. Sabemos

que el primer numero es opcional, ya que puede no existir si es del segundo

tipo (millones). Repasa en la unidad anterior los caracteres que se pueden usar

para crear una máscara de entrada: en una máscara el 0 representa un digito

obligatorio y el 9 un código opcional. La letra del DNI es obligatoria. En la

mascara sabemos que <?> representa la entrada opcional de una letra,

mientras que la L representa la entrada obligatoria de una letra. Por tanto, la

mascara podría ser: 90.000.000-L, que valdría para ambas numeraciones de

DNI si deseamos que aparezcan divididas por puntos de miles y con guión antes

de la letra. Si además deseamos que esa letra aparezca en mayúsculas aunque

la escribiésemos en minúsculas, la mascara que dará así: 90.000.000-> L.

Introdúcela de este modo.

• Al escribir el nombre del C Postal, no lo escribas C. Postal, ya que los nombres

de campo no pueden contener puntos, paréntesis, signos de exclamación,

espacios a la izquierda o caracteres no imprimibles.

• Crea otra tabla llamada Formas de pago

• Y una tercera tabla llamada Facturas.

Page 7: tema 10

Ejemplo 2

• Abre la tabla de datos Ventas.

• Activa la pestaña Herramientas de base de datos. Haz clic en Relaciones, del

grupo mostrar u ocultar. En el panel de trabajo se verán las tablas que

componen la base de datos: Clientes, Facturas y Formas de pago.

• Observa que hay una relación hecha entre las tablas Formas de pago y facturas.

Esto se debe a que al diseñar la tabla facturas, en el campo forma de pago

hemos elegido el tipo asistente para búsquedas y ha sido entonces cuando

hemos creado esa relación.

• Debemos completar la relación entre Formas de pago y Facturas, para que

cumpla todas las reglas aconsejables de una relación: exigir integridad

referencial, actualizar en cascada los campos relacionados y eliminar en

cascada los registros relacionados. Haz doble clic en la línea de la relación y

Page 8: tema 10

marca las tres reglas, que están en la parte inferior del cuadro de diálogo. Clic

en aceptar. Veras que la línea tiene en sus extremos 1 e ∞.

• A continuación relacionaremos las tablas Facturas y Clientes. Tienen un campo

común: código cliente. Podría llamarse de otra manera pero sabemos que es

común y está diseñado del mismo tipo en ambas tablas. En clientes es

autonumerico entero largo y en facturas es número entero largo. Haz clic sobre

código cliente de la tabla Clientes que muestra las relaciones hasta código

cliente de la tabla facturas.

• Al terminar de arrastrar la relación, se abre Modificar relaciones. Marca las tres

reglas y haz clic en crear. Con esto hemos finalizado de relacionar las tres

tablas. Ahora podemos tener la seguridad de que la base de datos funcionará

correctamente y podemos comenzar a introducir datos en las tablas.

• Cierra la base de datos.

Actividad 1

• Abre la base de datos: Ventas.

• Crea un formulario con todos los campos de la tabla Facturas. Llámalo Facturas.

• Introduce en la tabla clientes:

Page 9: tema 10

• Introduce los registros en la tabla formas de pago.

• Una vez introducidos los dartos en las tablas clientes y formas de pago, crea un

formulario para cada una de estas tablas, Formulario Clientes y Formulario

formas de pago. Elige el autoformato a tu gusto.

• Verifica que los datos que introdujiste en las tablas están incluidos también en

los formularios respectivos.

• En la parte inferior del formulario clientes se muestran los campos de la tabla

facturas, tabla relacionada con la de clientes. Lo mismo ocurre con el

formulario formas de pago. Hay dos grupos de botones de desplazamiento: los

que muestra la siguiente imagen son para la tabla facturas, los del formulario

clientes están en la parte inferior de la ventana de trabajo. Cuando se hayan

dado de alta las facturas en la parte inferior del formulario se verán las que se

hayan emitido al cliente que se tenga a la vista en el formulario.

Page 10: tema 10

• Hemos dado de alta una lista de clientes y las diferentes formas de pago se

usan en la empresa para sus ventas. Escribe uno a uno los siguientes registros

en el formulario facturas.

• Hasta ahora la mayor parte del trabajo ha consistido en crear tablas,

formularios, relaciones e introducciones de datos. La base de datos no sirve

únicamente como deposito de datos sino que puede organizar la información y

mostrarla al usuario en la forma que se le solicite. En la realidad las empresas

pueden tener muchos clientes. En nuestra tabla de facturas tenemos las

correspondientes a un mes en el caso de que se hagan de dos a cinco facturas

diarias.

Page 11: tema 10

Ejemplo 3

• Abre la base de datos ventas.

• Con el asistente para consultas crea una, que llamarás consulta 1.

• La consulta se diseñará para obtener un listado de todas las ventas que se han

realizado. Deberá mostrar el contenido de los siguientes campos:

Factura

Nombre

cliente

Apellidos

cliente

Fecha venta Importe Forma de

pago

• En esta consulta están implicadas todas las tablas de la base de datos.

- Clientes: Nombre cliente, Apellidos cliente.

- Facturas: Nº Factura, Importe, Fecha.

- Formas de pago: Forma de pago.

• Con el asistente para consultas sencillas, comienza a seleccionar de cada tabla

los campos antes mencionados y en ese mismo orden.

Page 12: tema 10

• Solicita una consulta de detalle. Al finalizar observa el resultado de la consulta.

Ejemplo 4

Ahora queremos saber que ventas se han producido entre los días 12 y 17 de enero.

• Para ahorrarnos trabajo podemos utilizar la consulta 1 y después cambiarle el

nombre y ponerle la condición de fechas. Guárdala con el nombre de consulta

2.

• Insertar la condición de fechas: Inicio � Ver � Vista diseño. Columna fecha

introduce: entre 12/1/10 y 17/1/10. Access lo modificará y aparecerá entre

almohadillas.

• Ejecuta la consulta teniendo activa la pestaña diseño, haz clic en ejecutar

Page 13: tema 10

Ejemplos de otros criterios para escribir la fecha:

- Antes del 20 de enero de 2010 � <20/1/10

- El 19 de diciembre de 2010 � =19/12/10

- Después del 17 de enero de 2010 � >17/1/10

Ejemplo 5

• Haz una consulta llamada Consulta 3 (son los mismos campos que la consulta 2)

• En criterios de fecha: Entre [Fecha inicio:] y [Fecha final:]

Recuerda que cuando queríamos que Access nos hiciera una pregunta la escribíamos

entre corchetes.

• Ejecuta la consulta con el botón Ejecutar. La siguiente lista muestra fecha de

inicio 20 de enero y fecha final 21 de enero.

Actividad 2

Realiza una consulta llamada consulta clientes Málaga, que al ejecutarse

muestre un listado de las facturas realizadas a clientes de la provincia de Málaga y solo

muestre: Nombre, Localidad, Importe y Fecha. El campo provincia debe estar en la

consulta pero no aparecer en el listado.

Page 14: tema 10

• Haz un informe con los datos de la consulta anterior. Llamala informe clientes

malaga, elige autoformato.

• Realiza una consulta llamada consulta clientes por provincia, igual que la

anterior pero que el usuario escriba que provincia desea listar. La pregunta

puede ser elija provincia.

• Comprueba la apariencia de los formularios clientes, formas de pago y facturas

para comprobar si todos los datos caben en el espacio disponible. De no ser así

modifica los formularios en vista diseño en tamaño de los datos.

• Abre en vista diseño el informe clientes Málaga. Cambia nombre por el de

cliente.

• Verifica los objetos que tiene hasta ahora tu base de datos ventas.

Ejemplo 6

Crearemos un botón en el formulario facturas. La función será mostrar la vista previa

del informe clientes de Málaga.

Page 15: tema 10

• Abre la base de datos ventas y a continuación abre el formulario facturas en

vista diseño.

• Desplaza hacia abajo unas tres cuadrículas el Pie del formulario, arrastrándolo

con el ratón. De esta manera haremos espacio en el formulario para insertar

un botón de comando.

• Con la pestaña diseño, haz clic en botón

• El puntero del ratón cambiará de forma. Llévalo hasta el espacio que has

dejado y dibuja un rectángulo.

• Simultáneamente, aparecerá asistente para botones de comando. En

categorías seleccionamos operaciones con informes, y en acciones, vista

previa del informe. Clic en siguiente.

Page 16: tema 10

• ¿de que informa desea obtener una vista previa con este botón de comando?

Dale a informe clientes Málaga. Clic en siguiente.

• ¿desea incluir texto o una imagen en el botón? Deseamos incluir el siguiente

texto: facturas de Málaga. Clic en siguiente

• Dar nombre al botón o dejar el predeterminado de Access. Clic en finalizar.

• Guarda los cambios al formulario y muestralo en vista formulario. Si el texto del

boton no aparece, puede ser por el color de la fuente. Cierra la vista preliminar

y vuelve a la vista diseño, selecciona el boton y elige otro color de fuente.

• Comprueba que ocurre al hacer clic en el botón que acabas de crear.

Page 17: tema 10

Ejemplo 7

Vamos a elaborar un panel de control sobre la base de datos ventas.

Por seguridad, antes de comenzar haremos una copia de seguridad de la base de

datos.

• Haz clic con el botón secundario del ratón sobre ventas.accdb. Del menú

emergente selecciona Copiar. Haz clic con el botón secundario en cualquier

lugar vacio de la carpeta y pegar. Se creará Ventas copia.accdb. se quedará

guardada y trabajaremos. Con ventas.accdb

• Abre la base de datos ventas.accdb

• Selecciona la pestaña herramientas de base de datos, clic en administrador del

panel de control. Se abrirá un cuadro de dialogo de que no existe ningún panel

de control y si se desea crear uno. Clic en Sí.

• Se abre el cuadro de dialogo del administrador del panel de control. Clic en

modificar, para cambiar el nombre.

• Lo llamaremos menú de la base de datos ventas. Clic en nueva.

Page 18: tema 10

• Primera línea del menú: clic sobre él para que se pueda ver el formulario

clientes.

• Segunda línea del menú: para poder agregar clientes en el formulario clientes.

Modificar clic en nueva. Modificar elementos.

• Siguiendo el mismo procedimiento realizado crea una nueva para abrir el

informe clientes Málaga. Clic en aceptar.

• Y otra línea más para cerrar la aplicación. Aceptar.

• Cierra el cuadro de dialogo modificar pagina del panel de control. Cierra

también el cuadro de dialogo administrador del panel de control. Guarda los

cambios.

Page 19: tema 10

• Desde el panel de objetos haz clic en panel de control y visualiza el que acabas

de crear.