Modelo Entidad-Relación

El Modelo Entidad-Relación, también conocido como DER (diagramas entidad-relación) es una herramienta de modelado para bases de datos, propuesto por Peter Chen en 1976, mediante el cual se pretende ‘visualizar’ los objetos que pertenecen a la Base de Datos como entidades (se corresponde al concepto de clase, cada tupla representaría un objeto, de la Programación Orientada a Objetos) las cuales tienen unos atributos y se vinculan mediante relaciones.

Es una representación conceptual de la información. Mediante una serie de procedimientos se puede pasar del modelo E-R a otros, como por ejemplo el modelo relacional.

El modelado entidad-relación es una técnica para el modelado de datos utilizando diagramas entidad relación. No es la única técnica pero sí la más utilizada. Brevemente consiste en los siguientes pasos:

  1. Se parte de una descripción textual del problema o sistema de información a automatizar (los requisitos).
  2. Se hace una lista de los sustantivos y verbos que aparecen.
  3. Los sustantivos son posibles entidades o atributos.
  4. Los verbos son posibles relaciones.
  5. Analizando las frases se determina la cardinalidad de las relaciones y otros detalles.
  6. Se elabora el diagrama (o diagramas) entidad-relación.
  7. Se completa el modelo con listas de atributos y una descripción de otras restricciones que no se pueden reflejar en el diagrama.

Dado lo rudimentario de esta técnica se necesita cierto entrenamiento y experiencia para lograr buenos modelos de datos.

El modelado de datos no acaba con el uso de esta técnica. Son necesarias otras técnicas para lograr un modelo directamente implementable en una base de datos. Brevemente:

  • Transformación de relaciones múltiples en binarias.
  • Normalización de una base de datos de relaciones (algunas relaciones pueden transformarse en atributos y viceversa).
  • Conversión en tablas (en caso de utilizar una base de datos relacional).

Ejemplo de diagrama E-R.

http://es.wikipedia.org/wiki/Modelo_entidad-relaci%C3%B3n

¿Que es una relacion?

Una relacion describe cierta dependencia entre entidades o permite la asociación de las mismas.

Ejemplo:

Dadas dos entidades “Habitación 502″ y “Mark”, es posible relacionar que la habitacion 502 se encuentra ocupada por el huésped de nombre Mark. Una relación tiene sentido al expresar las entidades que relaciona. En el ejemplo anterior, Un Huésped (entidad), se aloja (relación) en una habitación (entidad).

http://es.wikipedia.org/wiki/Modelo_entidad-relaci%C3%B3n

Tipos de relaciones

Es común que informaciones de una tabla estén asociadas con informaciones de otras tablas. En este caso podemos establecer una relación entre las dos tablas. Es a través de la relación que el Access consigue, a partir de informaciones en una tabla, obtener informaciones registradas en la otra tabla. Existen tres tipos de relaciones entre dos tablas A y B: uno – a – uno, uno – a – varios, varios – a – varios.

1. – Relaciones uno a uno.

La relación uno a uno ocurre cuando un registro de la tabla A posee como máximo un registro asociado en la tabla B y un registro de la tabla B posee como máximo un registro asociado en la tabla A.

Esta relación está presente en el número de gerente/número de empleado, entre el PADRÓN DE DEPARTAMENTOS y el PADRÓN DE EMPLEADOS. Para cada número de gerente identificamos apenas un registro en el PADRÓN DE EMPLEADOS y cada funcionario es eventualmente gerente de apenas un departamento.

2 – Relaciones uno a varios.

La relación uno a varios ocurre cuando un registro de la tabla A puede tener mas de un registro asociado en la tabla B, mientras que, un registro de la tabla B posee como máximo un registro asociado en la tabla A.

Esta relación está presente en la sigla del departamento entre el PADRÓN DE DEPARTAMENTO y el PADRÓN DE EMPLEADOS. Para cada sigla del PADRÓN DE DEPARTAMENTOS identificamos varios registros con esta sigla en el PADRÓN DE EMPLEADOS, mientras que, para cada sigla en el PADRÓN DE EMPLEADOS identificamos como máximo un registro en el PADRÓN DE DEPARTAMENTOS.

También debe quedar claro que, en principio, podemos tener departamentos sin funcionarios y funcionarios que momentáneamente no están asignados a ningún departamento.

3. – Relaciones varios a varios.

La relación varios a varios ocurre cuando un registro de la tabla A puede tener mas de un registro asociado en la tabla B y, análogamente, un registro en la tabla B puede tener mas de un registro asociado en la tabla A.

Los cargos ocupados por un empleado a lo largo del tiempo constituyen una relación de esta naturaleza. Cada empleado ocupó varios cargos y un cargo fue ocupado por diversos empleados. En esta relación queda inmediatamente aparente que al par empleado/cargo probablemente estarán asociadas otras informaciones, por ejemplo, la fecha en que el empleado asumió el cargo en cuestión.

Relaciones de este tipo varios a varios no pueden ser especificadas directamente en Access. Es necesario la creación de una tabla intermediaria que en nuestro caso podría tener el nombre: cargos ocupados. Cada registro en esta tabla sería compuesto de tres campos: Número de empleado, Código del cargo y Fecha de admisión a este cargo. Como se observa, se creó una relación uno a varios entre el PADRÓN DE EMPLEADOS y el PADRÓN DE CARGOS OCUPADOS y, análogamente, otra relación uno a mucho entre el PADRÓN DE CARGOS Y SALARIOS y el PADRÓN DE CARGOS OCUPADOS. Por lo tanto una relación varios a varios es convertida en dos relaciones una a varios cuando hubiera informaciones asociadas a los pares relacionados.

Creación de relaciones.

En Access podemos crear relaciones localizadas, utilizadas en una consulta especifica, o relaciones globales que posiblemente tendrán un uso más general. Relaciones de uso localizado serán vistas mas adelante en el capítulo referente a consultas.

Las Relaciones de uso general son útiles porque pueden ser usadas automáticamente en nuevas consultas, facilitan la generación de subformularios y subinformes y permiten un cierto grado de protección en operaciones de actualización al imponerse la integridad referencial para las relaciones como será visto mas adelante.

La creación y edición de relaciones es hecha en la ventana Relaciones como muestra la figura 2.1. En esta ventana se muestra el diagrama de relaciones entre las tablas. Para cada tabla son mostrados sus campos y líneas de asociación con campos de otras tablas. Estas líneas representan las relaciones.

FIGURA 2.1.Ventana de Relaciones

Para exhibir la ventana Relaciones, se pica en el botón Relaciones de la barra de herramientas de la ventana Base de Datos. En respuesta aparece la ventana acompañada de la ventana de diálogo Mostrar tabla. Si el diálogo no aparece, basta cliquear el botón Mostrar tabla en la barra de herramientas. En el caso fueron adicionadas tres tablas anteriormente construidas. Las tablas adicionales pueden ser arrastradas y redimensionadas hasta que queden visualmente legibles.

Para crear una relación entre el PADRÓN DE DEPARTAMENTOS y el PADRÓN DE EMPLEADOS, picar sobre el campo Sigla del departamento en la tabla PADRÓN DE DEPARTAMENTOS y se arrastra asta el campo Sigla del departamento en la tabla PADRÓN DE EMPLEADOS. En respuesta surge la ventana de diálogo de relaciones (figura 2.3.) Para que sean provistas mas especificaciones sobre la ligazón en cuestión. En el caso que se desee alterar posteriormente estas especificaciones basta dar un doble clic sobre la línea de unión, esto hace aparecer la ventana de diálogo relaciones.

En el caso que se desee Exigir la integridad referencial para imposibilitar el empadronamiento de empleados en departamentos inexistentes en el PADRÓN DE DEPARTAMENTOS. Al activar esta opción pasa a ser necesario especificar también cual es el tipo de relación El tipo uno a varios ya aparece seleccionado porque es el padrón del Access. Además de eso, es necesario indicar si desea guardar el layout de esta ventana. Conviene guardarlo si una nueva distribución de las tablas fuera visualmente mas adecuada. Se debe observar que el diseño de las relaciones indica si él es del tipo uno a varios (algoritmo 1 y símbolo de infinito 8) o un a uno (algoritmo 1). Los bordes más gruesos de la línea de unión indican que la integridad referencial fue impuesta por la relación.

- Borrado de relaciones.

Para borrar una relación basta seleccionar la línea de unión y accionar la tecla DEL.

Para borrar una tabla basta seleccionarla y accionar también la tecla DEL.

Es importante recordar que la eliminación de una tabla no borra la relación. Si la ventana relaciones fue cerrada y accionada de nuevo, entonces la tabla borrada es mostrada nuevamente con todas sus relaciones. Por lo tanto, para borrar una relación es necesario seleccionar la relación explícitamente y accionar DEL, enseguida se borra la tabla.

Se puede borrar todo el contenido de la ventana Relaciones. Para eso, basta en el menú Edición accionar Borrar diseño. Pero esto no borra las relaciones registradas Internamente. Enseguida se puede adicionar una tabla y utilizar el botón de la barra de herramientas. Mostrar todas relaciones directas para exhibir apenas las relaciones directamente asociadas a la tabla. Para exhibir todo, accione el botón Mostrar todas las relaciones.

FIGURA 2.2 Barra de herramientas de la ventana relaciones

FIGURA 2.3 Ventana de diálogo relaciones

http://www.cyta.com.ar/biblioteca/bddoc/bdlibros/manualdeaccess/relaciones.htm

Proceso de diseño de una Base de Datos en video

Proceso de diseño de una Base de Datos en Grafico

Proceso de diseño de una base de datos

Los pasos básicos para diseñar una Base de datos son los siguientes:

*Determinar la finalidad de la Base de datos:

El primer paso para diseñar una Base de datos de Access es determinar la finalidad de la base de datos y cómo se utiliza. Se debe saber qué información se desea obtener de la base de datos. A partir de ahí, se puede determinar sobre qué asuntos se necesita almacenar hechos (las tablas) y qué hechos necesita almacenar en Informática sobre cada asunto (los campos de las tablas). Entre otras cosas, se debe hablar con los demás usuarios que utilizarán la base de datos, pensar detenidamente en las preguntas que se desea que responda la base de datos, realizar bocetos de los informes que se desea que produzca y reunir los formularios que se utilizan actualmente para registrar los datos

 

*Determinar las tablas que se necesitan para la Base de datos:

Determinar las tablas que se requieren, es uno de los puntos más complicado del proceso de diseño de la base de datos. Esto se debe a que los resultados que se desean obtener de la base de datos (los informes que se desean imprimir, los formularios que desean utilizar, las preguntas para las que se desean respuestas) no proporcionan pistas necesariamente acerca de la estructura de las tablas que los producen. Posiblemente es lo más conveniente realizar un boceto en papel de la base de datos requerida y trabajar primeramente sobre dicho diseño. Al diseñar las tablas, se recomienda dividir la información teniendo en cuenta los siguientes principios fundamentales:

• Una tabla no debe contener información duplicada (redundante) y la información no debe duplicarse entre las tablas. Cuando cada elemento de información está almacenado en una tabla, se actualiza en un solo lugar. Esto resulta más eficiente y elimina la posibilidad de que existan entradas duplicadas que contengan información diferente. Por ejemplo, probablemente se desee almacenar de una lista de clientes, la dirección y el número de teléfono de cada uno de ellos, una sola vez, en una sola tabla.

• Cada tabla debe contener información sobre un asunto. Cuando cada tabla contiene hechos sólo sobre un asunto, se puede mantener la informaciónacerca de cada asunto, independientemente de otros asuntos. Por ejemplo, se pueden almacenar las direcciones de los clientes en una tabla diferente de lospedidos de los clientes, de modo que se pueda eliminar un pedido y conservar a la vez la información sobre el cliente correspondiente.

 

*Determinar los campos que se necesitan para las Tablas:

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, una tabla de clientes puede incluir los campos del nombre de la empresa, la dirección, la ciudad, el país y el número de teléfono. Al determinar los campos para cada tabla, se deben tener en cuenta las siguientes sugerencias:

• Relacionar cada campo directamente con el asunto de la tabla.

• No incluir datos derivados ni calculados (datos que son el resultado de una expresión).

• Incluir toda la información que se necesite.

• Almacenar información en sus partes lógicas más pequeñas (por ejemplo, Nombre y Apellidos, en lugar del Nombre completo).

• Seleccionar el tipo de datos o el tamaño de campo más pequeño que sea apropiado para los datos del campo.

 

*Identificar los campos con valores exclusivos:

Para que Access conecte 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. La potencia de un sistema de base de datos relacional como Access reside en su capacidad para encontrar y reunir rápidamente información almacenada en tablas independientes mediante consultas, formularios e informes. Para ello, cada tabla debe incluir un campo o un conjunto de campos que identifique exclusivamente cada registro almacenado en la tabla. Esta información se denomina clave principal de la tabla. Una vez designada una clave principal de una tabla, con el fin de garantizar su exclusividad, Access impide que se almacenen valores duplicados o Nulos en los campos de la clave principal.

 

*Determinar las relaciones entre las Tablas:

Una vez creadas las tablas diferentes para cada tema de la base de datos y que se han identificado los campos de clave principal, se necesita de una forma de indicarle a Access cómo debe volver a combinar esa información relacionada de un modo significativo.

El primer paso de este proceso es definir relaciones entre las tablas. Una vez realizada esta operación, se pueden crear consultas, formularios e informes para mostrar información de varias tablas a la vez. Por ejemplo, los campos de varias tablas deben coordinarse de modo que muestren información acerca de un mismo tema. Esta coordinación se lleva a cabo mediante las relaciones entre las tablas.

 Una relación hace coincidir los datos de los campos clave (normalmente un campo con el mismo nombre en ambas tablas). En la mayoría de los casos, estos campos coincidentes son la clave principal de una tabla, que proporciona un identificador único para cada registro, y una clave externa de la otra tabla.

 

*Precisar el diseño:

Una vez diseñadas las tablas, los campos y las relaciones que se necesitan, es el momento de estudiar el diseño y detectar los posibles fallos que puedan surgir.

Es más sencillo cambiar el diseño de la base de datos en su propia definición, que una vez que se hayan rellenado las tablas con datos.

Luego de todo esto se podrá utilizar Access para crear las tablas, especificar las relaciones entre las tablas e introducir algunos registros de datos en cada tabla. A continuación, observar si se puede utilizar la base de datos para obtener las respuestas que se desean. Crear los bocetos de los formularios e informes que se requieran y comprobar si estos muestran los datos deseados. También es buen momento para buscar duplicaciones de datos innecesarias y eliminarlos.

 

*Introducir datos y crear otros objetos de la Base de datos:

Cuando se considere que la estructura de las tablas cumple los objetivos de diseño descritos anteriormente, es el momento de comenzar a agregar los datos existentes a las tablas. A continuación, se podrán crear los demás objetos de la base de datos, como ser las consultas, formularios, informes, macros y módulos que se deseen.

 

*Utilizar las herramientas de análisis de Microsoft Access:

Microsoft Access incluye dos herramientas que pueden ayudar a precisar el diseño de la base de datos.

El Asistente para analizar tablas puede analizar el diseño de una tabla, proponer nuevas estructuras de tablas y relaciones si es conveniente y reestructurar 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, y a su vez puede instaurar dichas recomendaciones y sugerencias.

http://asp.anep.edu.uy/capinfo/Material/Access/Acc_cap4.pdf

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.