tema 10
DESCRIPTION
este es el tema 10TRANSCRIPT
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.
• 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
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.
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.
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.
• 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.
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
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:
• 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.
• 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.
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:
Nº
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.
• 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
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.
• 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.
• 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.
• ¿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.
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.
• 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.
• Desde el panel de objetos haz clic en panel de control y visualiza el que acabas
de crear.