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í.