Diseñar una base de datos

Diseñar una base de datos

Apuntes de Angel Pérez de su libro Office 2010 todo practica - RC Libros 



Diseñar una base de datos es una tarea muy gratificante. Cuando comenzamos a visualizar la idea de nuestra aplicación de alguna forma ya contemplamos en nuestra mente como va a quedar el diseño y la manera de exponer los datos para que los usuarios, o nosotros mismos podamos posteriormente manejarlos con soltura Si ponemos todo el empeño en diseñar nuestra base de datos con cuidado y esmero, acabaremos teniendo un producto verdaderamente útil para nosotros o para los usuarios con los que la queramos compartir.




Decidir qué información se necesita




La primera pregunta que debemos hacernos es ¿Qué datos necesitamos para poder obtener posteriormente la información? De esta forma empezaremos a crear las tablas que formaran el entramado de nuestra base de datos que en conjunto contendrá la información de los libros de la biblioteca o la información relevante de nuestra empresa. Al fin y al cabo recabaremos en nuestra base de datos la información que necesitamos.

Por lo tanto el objetivo primordial es establecer cuál es la información que va a contener la base de datos. Cada maestrillo tiene su librillo, yo personalmente, cuando hago un análisis funcional me inclino a utilizar aquello que el usuario emplea diariamente en su trabajo, por ejemplo, si una empresa me encarga un programa lo que trato de detectar es el tipo de información más importante para ellos y para conseguirlo intento recabar los registros, informes o documentos que utilizan habitualmente y en base a estos comienzo a realizar mi trabajo de análisis.


Distribuir la información en diferentes tablas



Después de conocer la información que deseamos almacenar en la base de datos, hay que pensar en cómo distribuirla en las tablas.

Muchos usuarios cometen un error de principiante que consiste en ubicar toda la información en una sola tabla. Esto ocurre porque desconocen que Access es una base de datos relacional y por lo tanto permite manejar múltiples tablas a la hora de gestionar la información.

Tal como indicaba la decisión sobre las tablas que necesita nuestra aplicación y la manera de distribuirlas, es de las tareas más difíciles, ya que debemos idear la composición de nuestro programa sin tenerlo realizado. Es como cuando un arquitecto visualiza en su mente el edificio que quiere diseñar, pero para que pueda ser construido tiene que detallar todos los componentes en un proyecto de arquitectura.

Para hacer la tarea un poco más fácil, e intentar ayudar un poco en este punto a continuación se detallan unas reglas básicas para utilizar en la distribución de los datos:

·         Utilizar una tabla para cada tema o asunto: cada tabla debe contener información acerca de un solo tema o asunto: clientes, empleados, productos y así sucesivamente. De esta forma, se pueden mantener datos en una tabla y mantenerla independiente de los datos de otra. Por ejemplo, en una tabla de clientes se podrían incluir también proveedores, pero esto nos obliga posteriormente a clasificar la información con un código adicional, ya que de otra forma, cuando tuviéramos muchos registros introducidos, realmente no sabríamos identificar los registros que pertenecen a los clientes de los que pertenecen a los proveedores.

·         Evitar la información duplicada: no debemos mantener información duplicada en la misma tabla ni tampoco repartida en varias tablas. Mantener la información en un solo lugar, nos conduce a introducirla una sola vez, en cambio si esta en varios lugares, esta circunstancia nos obligará a actualizar varias tablas simultaneamente. Y cuando tengamos que actualizarla, deberemos emplear varios procesos simultaneos.

Seleccionar los campos para las tablas

Como explicaba en el articulo de introducción, los campos son categorías de información. Cada tabla necesita por lo menos un campo. Si la propia tabla es un tema, se podría decir que sus campos están basados en el tema. Una tabla de clientes necesita campos para el registro de los datos principales de un cliente como su identificación, su nombre, su dirección postal, etc. Una tabla de artículos necesita campos de identificación, descripción del producto y sus  precios.

Cuando planeamos qué campos incluir en las tablas, debemos seguir estas instrucciones:

·         Distribuye la información en pequeños elementos. Por ejemplo, en lugar de un campo de nombre, crea un campo de nombre y un campo de apellidos. De esta forma, puedes ordenar las tablas por apellidos más fácilmente.

·         Da nombres descriptivos a los campos para que puedas determinar en otro momento lo que significan. Un nombre más descriptivo, como Dirección Web, es más claro que Site.

·         Piensa en el futuro e incluye un campo para cada detalle de información que preveas necesitar. Agregar un campo a una tabla después de creados formularios y otros objetos, puede resultar mucho más laborioso que hacerlo por anticipado, ya que es posible que tengas que volver a cada registro a introducir los datos que se omitieron en el pasado y repasar cada objeto de la base de datos (formularios, informes, etc.) para incluir el nuevo campo.

·         No incluyas  información que pueda obtenerse mediante un cálculo. Como se explicara más adelante, se pueden realizar cálculos de diferentes formas para obtener resultados. Por ejemplo, se pueden totalizar los números en dos campos en el mismo registro o realizar cálculos matemáticos en los valores de los campos.


Elegir el campo para la clave principal

Cada tabla debe tener un campo de clave principal. Este campo, también conocido como la clave principal o “Primary Key” en inglés, es el campo en la tabla donde se almacenan los datos únicos, esto supone que en la tabla no existan dos registros iguales. Los datos Introducidos en este campo: un número de identificación de empleado, un código de cliente, deben ser diferentes para cada registro. Si se intenta especificar los mismos datos en el campo de clave principal de dos registros diferentes, un mensaje de Access te advertirá de que existe algún problema. Los campos de clave principal impiden introducir registros duplicados. También permiten realizar consultas más eficientemente.


Nota: Access es capaz de asignar números secuenciales de forma automática a cada registro mediante la asignación de campos Autonuméricos.

Crear relaciones entre tablas

Si la base de datos incluye más de una tabla, se debe asignar cómo se relacionan las tablas entre sí. Por lo general, las relaciones se forman entre el campo de clave principal de una tabla y el campo correspondiente en otra tabla, llamado la clave externa.

Para tener una idea de cómo se pueden relacionar las tablas, abre una base de datos Access y, a continuación, examina su composición en la ventana de relaciones. Haz clic en la ficha herramientas de base de datos y, a continuación, haz clic en relaciones en el grupo de Relaciones para abrir la ventana correspondiente. La ventana Relaciones muestra cómo se relacionan las diferentes tablas entre sí.

Introducción a Microsoft Access




Introducción a Microsoft Access

Apuntes de Angel Pérez de su libro Office 2010 todo practica - RC Libros
 
El concepto de base de datos suele crear aversión en la mayoría de las personas, ya que cuando se menciona, los usuarios temen lo peor: ¡voy a entrar en un mundo que desconozco y que tiene una terminología que no hay forma de entender! Pero esto es normal cuando se empieza con una materia que no se ha manejado nunca. Con la ayuda de este manual aprenderás más de 50 términos nuevos que acabaras dominando con total naturalidad y por fin terminarás con ese miedo para siempre.

Yo realmente no llego a entender porque las bases de datos suelen intimidar a la mayoría de las personas, quizás sea por tantos años de trabajo con esta maravillosa herramienta, pero recuerdo que incluso al principio, cuando apareció la primera edición, nada más verla me di cuenta de la cantidad de ventajas que ofrecía y no pude evitar quedar hechizado con sus posibilidades. He podido observar que hasta los usuarios más avanzados, incluso a nivel de expertos, que manejan con soltura Word y Excel, piensan que les es muy difícil manejar de igual forma Access. Sin embargo, nada más lejos de la realidad, si somos capaces de utilizar Word o Excel, Access no debería ocasionarnos ningún tipo de problema, al contrario, veremos cómo, al final, somos capaces de utilizar esta magnífica herramienta para almacenar y organizar los datos de nuestros clientes, de nuestros amigos, o de nuestra empresa de una manera sencilla, brindándonos unas posibilidades inalcanzables por otros programas.

En este articulo vamos a dar el primer paso para conocer un poco más de Access

¿Qué es una base de datos?

Una base de datos es un conjunto de datos que tienen alguna relación entre sí, los cuales se encuentran almacenados en un sistema informático y pueden ser utilizados para consultar la información que contienen.

De esta forma, podemos considerar como una base de datos, el listín telefónico que tenemos en la mesita del teléfono, las recetas de cocina que nuestra abuela tiene guardadas como oro en paño, las fotos que guardamos en nuestro álbum familiar o el conjunto de libros, discos, CD’s y otros medios que tenemos en nuestra estantería.

Esto nos hace pensar que ya tenemos bases de datos en nuestro hogar o nuestro trabajo, lo que ocurre es que posiblemente no las tengamos bien organizadas y clasificadas para encontrar rápidamente lo que buscamos en un momento determinado. Este es el trabajo que Access realiza por nosotros, por un lado nos ayuda a guardar la información bien clasificada y posteriormente nos ayuda a localizarla rápidamente con pocos clics de ratón o incluso a mostrarla con diseños personalizados en informes.

Las bases de datos se utilizan a todos los niveles, hoy en día sería imposible trabajar con eficacia si no dispusiéramos de estas herramientas. Imagina por un momento cuando tardaba antes un funcionario de hacienda cuando tenía que buscar un expediente entre cientos de miles. La forma rudimentaria de trabajar era primero localizar los datos en una lista mecanografiada a mano y ordenada alfabéticamente, después de localizado el número de expediente el funcionario se desplazaba a un archivo enorme, donde paseando buscaba la información para llevarla posteriormente a su mesa y allí analizarla. Ahora, desde Windows, el mismo funcionario abre Access u otra base de datos, se sitúa en un campo de texto de un formulario, y teclea el código de identificación y en unos segundos, aparece en pantalla toda la información relacionada con el expediente. Creo que en algo hemos ganado, ¿No te parece? Y si ahora quitáramos estas herramientas a la humanidad mi opinión es que sucumbiríamos a un caos de falta de información cuyo alcance sería muy difícil de determinar.


Estructura de las bases de datos Access

A continuación se detalla cómo está estructurada una base de datos Access:


·         Base de datos: Es un almacén de datos donde la información se registra de forma sistemática para después ser consultada fácilmente. Una base de datos suele contener múltiples tablas.
·         Tabla: Es una colección de registros de datos organizados en categorías bien definidas, o campos. Las Tablas están formadas por diferentes campos y contienen múltiples registros.
·         Registro: Es cada uno de los datos contenidos en una tabla. Cada registro está formado por múltiples campos. Los registros son el equivalente a las filas utilizadas en Excel.
·         Campo: Es cada una de las categoría de información de una tabla. Los campos son el equivalente a las columnas utilizadas en Excel.









Tablas, consultas, formularios y otros objetos

Uno de los principales obstáculos que impide que los usuarios cojan confianza con las bases de datos, es que no pueden ir directamente a los documentos, como ocurre en Word o Excel. Access es una aplicación contenedora, y cuando abrimos un archivo de Access no abrimos un documento directamente sino que abrimos un archivo que contiene diferentes objetos (tablas, consultas, formularios, informes, macros, etc.). Por eso lo primero que tenemos que saber es como se almacenan los datos en una base de datos y como pueden mostrarse en la pantalla o enviarse a la impresora.

 
Las Tablas sirven para almacenar la información

La información de las bases de datos se almacena en tablas. En una tabla se incluye un campo para cada categoría de información que se desea registrar. Los campos son el equivalente a las columnas en una tabla. El primer paso para crear una tabla es dar nombres a los campos y decidir qué tipo de información queremos almacenar en cada campo. 


 
 
Los Formularios se utilizan para Introducir datos

Después de crear los campos en la tabla, podemos empezar a Introducir registros. Un registro describe todos los datos relativos a una persona o cosa. Cada registro comprende la identificación del dato que deseamos controlar. Los registros son la información esencial de la base de datos. La información se almacena en los registros. Aunque se pueden Introducir registros directamente en una tabla, existen otras formas para hacer más fácil la tarea del usuario y es mediante el uso de formularios.

 
Un formulario es una pantalla o interfaz, donde se crean una serie de objetos como cuadros de texto, listas despegables, o cuadros combinados que nos ayudan a registrar datos de forma más rápida y eficiente. La figura 1-3 muestra la forma para Introducir un registro en la tabla que se muestra en la figura 1-2 pero desde un formulario. Observa que el formulario tiene un lugar para Introducir datos en cada campo de la tabla: Id, Compañía y así sucesivamente. En un formulario, se puede ver claramente qué tipo de información debemos Introducir en cada campo.
 
Las Consultas para obtener y mostrar los datos

Una consulta no deja de ser una pregunta que realizamos a una base de datos. 




La potencia de búsqueda y clasificación que nos ofrecen las consultas de Access es impresionante. En una base de datos de direcciones, podríamos utilizar una consulta para buscar a todas las personas que tienen en común un código postal o provincia. En una base de datos de Ventas, podíamos obtener la información sobre los clientes que nos compraron más de 3.000 unidades monetarias (u.m.) el último año. Y así podemos obtener tanta información como el límite que nos permita nuestra creatividad o imaginación.

Las consultas pueden llegar a complicarse tanto como deseemos mejorar en su diseño y en la medida en que queremos obtener más información. Por ejemplo, para segmentar clientes, podríamos buscar todos los clientes de un código postal que nos compraron más de 3.000 u.m. durante el último año. Observa que la consulta se ha vuelto mas compleja, ahora ya no solo hay que mostrar los registros que cumplen el criterio de un código postal, sino que además hay que buscar por importes para añadir el criterio de Compras de mas de 3.000 u.m., y por fechas, ya que también hay que considerar el criterio del último año. La pregunta que haríamos a la base de datos es, “¿Cuántos Clientes de una ciudad nos han comprado mas de 3.000 u.m. durante 2.013?”.

Después de crear una consulta, podemos guardarla y volverla a ejecutar siempre que lo consideremos oportuno, esto es una gran ventaja, ya que hacemos el trabajo de una vez para siempre. Además siempre se pueden utilizar las consultas ya creadas como base o muestra para la construcción de nuevas consultas. La información registrada en las tablas de la base de datos normalmente varía con el tiempo. Los clientes cambian sus direcciones, la cifra de ventas varía ya que cada periodo vendemos nuevos y diferentes cantidades de productos, etc., Pero esto no debe importarnos, ya que siempre podremos obtener la información actualizada mediante la ejecución de consultas bien diseñadas.

Los Informes para presentar los datos

Los Informes pueden crearse directamente con tablas o con los resultados de las consultas. Los  Informes generalmente son utilizados por usuarios que tienen algún interés en ver la información, por lo tanto estos objetos deben permitir su impresión y distribución, para que la información obtenida pueda ser estudiada y analizada. Access permite la edición de informes con acabados verdaderamente atractivos y profesionales y lo más extraordinario es que realiza el trabajo de forma automática por nosotros. Además nos permite enviar la información contenida en los informes a otros programas de la familia office como Word  o Excel o incluso a programas de terceros con formatos tan genericos como ficheros pdf e incluso enviar directamente el informe por correo electronico con Outlook.


Las Macros y los módulos nos ayudan a automatizar

Las Macros y los módulos son objetos de la base de datos que nos ayudan a automatizar procesos y tareas repetitivas.

Una macro es una serie de comandos que se ejecutan de forma secuencial. Podemos crear macros para abrir formularios, realizar acciones en el formulario ya abierto, ejecutar consultas y hacer otras tareas de Access de forma automática.

Un módulo, por su parte, es una colección de procedimientos y funciones de Visual Basic con el que podemos acceder al núcleo de Access para realizar tareas de forma automática.