Bases de datos

 
Introducción

Para diseñar una base de datos debemos establecer un proceso partiendo del mundo real, de manera que sea posible plasmarlo mediante una serie de datos. La imagen que obtenemos del mundo real se denomina modelo conceptual y consiste en una serie de elementos que definen lo que queremos plasmar del mundo real en la base de datos. La definición de este modelo se denomina esquema conceptual. Una base de datos es una recopilación de información relativa a un asunto o propósito particular, como el seguimiento de pedidos de clientes o el mantenimiento de una colección de música. 

Sistema de Gestión de Bases de Datos (SGBD)

Consiste en un conjunto de programas, procedimientos y lenguajes que nos proporcionan las herramientas necesarias para trabajar con una base de datos. Incorporar una serie de funciones que nos permita definir los registros, sus campos, sus relaciones, insertar, suprimir, modificar y consultar los datos. (Access, Sql Server, Informix, etc.)

El modelo Entidad-Relación

Se trata de una técnica de diseño de base de datos gráfica, que nos muestra información relativa a los datos y la relación existente entre ellos. Sus características principales son:

  • Reflejan tan sólo la existencia de los datos sin expresar lo que se hace con ellos.
  • Es independiente de las bases de datos y de los sistemas operativos (por lo que puede ser implementado en cualquier base de datos).
  • Está abierto a la evolución del sistema.
  • Incluye todos los datos que se estudian sin tener en cuenta las aplicaciones que se van a tratar.
  • No tienen en cuenta las restricciones de espacio y almacenamiento del sistema.

Conceptos del Modelo Entidad-Relación

Entidades

Son objetos concretos o abstractos que presentan interés para el sistema y sobre los que se recoge información que será representada en un sistema de bases de datos. Por ejemplo, clientes, proveedores y facturas serían entidades en el entorno de una empresa.

Atributos

Es una unidad básica e indivisible de información acerca de una entidad o una relación. Por ejemplo la entidad proveedor tendrá los atributos nombre, domicilio, población, CIF.

Dominios

Es el conjunto de valores que puede tomar cada atributo. Por ejemplo el dominio del atributo población, será la relación de todas las poblaciones del ámbito de actuación de nuestra empresa.

Tablas

Es la forma de estructurar los datos en filas o registros y columnas o atributos.

Relación

Es la asociación que se efectúa entre entidades. Por ejemplo la relación entre las entidades facturas emitidas y clientes. Dentro de una base de datos es una tabla.

Tablas relacionales

Son tablas que cumplen los siguientes requisitos:

  • Cada fila debe ser única, es decir no pueden existir filas duplicadas.
  • Cada columna debe ser única
  • Los valores de las columnas deben pertenecer al dominio de cada atributo
  • Debe tener un solo tipo de fila, cuyo formato está definido por el esquema de tabla o la relación.
  • El valor de la columna para cada fila debe ser único.
  • No puede contener columnas duplicadas.

Claves

En una tabla relacional a veces es necesario poder determinar una tupla (registro) concreta, lo cual es posible mediante la clave. Se debe elegir la clave entre los atributos, de forma que no puedan existir valores duplicados (la clave puede contener uno o más atributos). Para este caso será la clave principal de una tabla. Se puede tener solo una clave principal por tabla, pero se pueden tener N claves secundarias por tabla.

Operaciones sobre Tablas

Todas las operaciones que podamos realizar sobre las tablas, vistas o elementos de ellas, están integradas en el SGDBR (Sistema Gestor de Bases de Datos Relacional) como rutinas. Ejemplos de operaciones son:

  • Selección: Obtiene un subconjunto de filas de la tabla o vista, que cumplen una determinada condición.
  • Proyección: Obtiene un subconjunto de columnas de todas las filas de la tabla.
  • Unión: Realizamos la unión de varias tablas, cuyo resultado será el conjunto de todas las filas de las tablas origen. Las columnas respectivas de dichas tablas deben ser iguales entre sí.
  • Diferencia: Inversa a la anterior, devuelve las filas que estén en una tabla y no pertenezcan a una segunda tabla. Deben por tanto ser iguales también las columnas respectivas entre sí.
  • Producto cartesiano: El resultado será una fila por cada combinación entre cada fila de una tabla y todas las de la otra. Los valores de ambas filas se concatenarán.
  • Intersección: Obtiene aquellas filas que sean idénticas en ambas tablas.
  • Join: Es la operación de unir filas de dos tablas a través de algún campo común (normalmente la clave), dando como resultado filas con la suma de columnas de amblas tablas cuando se cumpla la condición del Join a través del campo (o campos) relacionados.


Como diseñar una Base de Datos

1  Determinar la finalidad de la base de datos

El primer paso para diseñar una base de datos es determinar su finalidad y cómo se utiliza. Debe saber qué información desea obtener de la base de datos. A partir de ahí, puede determinar sobre qué asuntos necesita almacenar hechos (las tablas) y qué hechos necesita almacenar sobre cada asunto (los campos de las tablas).

Hable con los demás usuarios que utilizarán la base de datos. Piensen detenidamente en las preguntas que desean que responda la base de datos. Realice bocetos de los informes que desea que produzca. Reúna los formularios que utiliza actualmente para registrar los datos. Examine bases de datos bien diseñadas similares a la que va a diseñar.

2  Determinar las tablas que se necesitan

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

No es necesario que diseñe las tablas mediante algún producto (Microsoft Access por Ej.). De hecho, posiblemente sea más conveniente realizar un boceto en papel de la base de datos y trabajar sobre el diseño primero. Al diseñar las tablas, divida la información teniendo en cuenta los siguientes principios de diseño fundamentales:

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. Al realizar bocetos de los campos para cada tabla, tenga en cuenta estas sugerencias:

4  Identificar el campo o campos con valores únicos en cada registro

Para relacionar 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  Perfeccionar el diseño

Una vez diseñadas las tablas, los campos y las relaciones que necesita, es el momento de estudiar el diseño y detectar los posibles fallos que puedan quedar. Es más sencillo cambiar el diseño de la base de datos ahora que una vez que haya rellenado las tablas con datos.

Utilice un software de bases de datos (Microsoft Access por Ej.) para crear las tablas, especificar relaciones entre las tablas e introducir suficientes datos de ejemplo en las tablas para poder comprobar el diseño. Para probar las relaciones de la base de datos, compruebe si puede crear consultas para obtener las respuestas que desee. Busque duplicaciones de datos innecesarias y elimínelas. Si encuentra problemas, perfeccione el diseño.

6  Introducir datos y crear otros objetos de la base de datos

Cuando considere que la estructura de las tablas cumple los principios de diseño descritos anteriormente, es el momento de comenzar a agregar los datos existentes a las tablas. A continuación, puede crear las consultas, formularios, informes, etc. que desee.

7  Utilizar las herramientas de análisis de Microsoft Access

Microsoft Access incluye dos herramientas que pueden ayudarle a perfeccionar el diseño de la base de datos de Microsoft Access. El Asistente para analizar tablas puede analizar el diseño de una tabla, proponer nuevas estructuras de tablas y relaciones si es conveniente y dividir una tabla en nuevas tablas relacionadas si es necesario.

El Analizador de rendimiento puede analizar la base de datos completa y realizar recomendaciones y sugerencias para mejorarla. El asistente también puede implantar estas recomendaciones y sugerencias.