DISEÑO LOGICO DE UNA BASE DE DATOS

Anuncio
DISEÑO LOGICO DE UNA BASE DE DATOS
ENFOQUE ENTIDAD - RELACION
POR:
Ingeniero Ismael Castañeda Fuentes, Profesor de la Universidad Nacional de Colombia.
Fuente Principal.
Artículo "THE ENTITY-RELATIONSHIP APPROACH TO LOGICAL DATABASE DESIGN"
de PETER PIN y SHAN CHEN
Documento borrador de trabajo.
Este documento es un borrador de trabajo. Está incompleto y posiblemente tiene errores que se
esperan corregir con su colaboración.
Dirigido a.
Estudiantes del curso de Base de Datos.
1. INTRODUCCION
La administración de datos ha llegado ha ser una de las mayores actividades en muchas
organizaciones. A medida que nos movemos hacia una sociedad dirigida al aumento de
información, el cómo manejar los datos para maximizar su utilidad es un problema mayor. Sistemas
de archivos computarizados y sistemas de base de datos facilitan la tarea de mantenimiento y
actualización de gran cantidad de datos. Sin embargo, el problema de como organizar los datos para
utilizar completamente la capacidad del archivo o el sistema de base de datos no lo entiende la
gente que trabaja con ellos. El objetivo de esta publicación es proveer una metodología que hace
más fácil el entendimiento y uso del proceso de organizar los datos.
1.1TERMINOLOGIA BASICA.
En esta sección, se explican algunos conceptos básicos en la administración de datos.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 1 Registro de un empleado.
RegistroEs una colección de datos. Por ejemplo, un registro EMPLEADO contiene los datos
relevantes de un empleado en particular, ver figura 1. Un registro se divide en
diferentes campos. En la figura 1, NOMBRE, SUELDO, y DIRECCION son los
nombres de los campos de un registro EMPLEADO. Los nombres de los campos se
usan para interpretar el significado del valor del dato en el registro. Por lo tanto,
"Sergio Mantilla" es el "NOMBRE" de un empleado, y "900.000" es su "SUELDO".
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 2 Archivo de empleados.
ArchivoEs una colección de registros del mismo tipo. Por ejemplo, el archivo de EMPLEADO es
una colección de registros EMPLEADO, ver figura 2.
Figura 3 Una base de datos con dos tipos de registros.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 4 Registros relevantes se encadenan en la base de datos (estructura física de la
base de datos).
Figura 5 Estructura lógica de datos de la base de datos.
Base de datos
Es una colección de registros de diferentes tipos, ver figura 3. Los registros en la base de datos son
encadenados de tal manera que los datos relevantes en diferentes registros pueden
ser recuperados sin dificultad. Por ejemplo, se pueden encadenar todos los registros
EMPLEADO que trabajen en el mismo departamento, ver figura 4; así es fácil
encontrar los trabajadores de un departamento en particular. La figura 4 ilustra que
la estructura física de la base de datos; allí se muestran las conexiones entre los
registros DEPARTAMENTO y los registros EMPLEADO las cuales se
implementan por encadenamientos. Un registro DEPARTAMENTO tiene un
apuntador al primer registro EMPLEADO en la cadena. Cada registro EMPLEADO
tiene un apuntador al siguiente registro EMPLEADO en la cadena. El último
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
registro EMPLEADO apunta al registro DEPARTAMENTO. La figura 4 ilustra las
relaciones de ocurrencia de los registros en la base de datos, pero es demasiado
detallado para usarlo en la comunicación de las relaciones de las diferentes llaves de
la base de datos. La figura 5 es una representación más simple de la organización de
los registros de la figura 4. Cada caja rectangular representa un tipo de registro y la
flecha representa la asociación del registro EMPLEADO con su registro
DEPARTAMENTO. Hay otra distinción entre las figuras 4 y 5. La figura 5
representa la estructura lógica de la base de datos, ya que muestra solamente las
conexiones entre los tipos de registros DEPARTAMENTO y EMPLEADO, pero no
muestra como se hace la conexión.
1.2DISEÑO LOGICO Y FISICO DE LA BASE DE DATOS.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 6 Diseño lógico y físico de la base de datos.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
El diseño de una base de datos puede ser dividido en dos etapas: diseño lógico y diseño físico, ver
figura 6.
"Diseño físico de la base de datos" es el proceso de selección de una estructura física para una
estructura lógica dada. Por ejemplo, hay al menos tres (3) posibles estructuras físicas en un sistema
de base de datos CODASYL para soportar la misma estructura lógica, ver figura 6. La primera usa
un apuntador hacia adelante para encadenar todos los registros EMPLEADO del mismo
departamento. La segunda tiene adicionalmente un apuntador hacia atrás, al registro anterior de
EMPLEADO. La tercera usa un arreglo de apuntadores en donde el registro DEPARTAMENTO
tiene apuntadores a todos los registros EMPLEADO relacionados. Cada una de estas tres
estructuras tiene sus ventajas y desventajas. La primera es fácil de implementar y sirve para
procesos secuenciales de los registros EMPLEADO. La segunda permite la búsqueda fácil de un
registro EMPLEADO en la cadena, a expensas de un mayor espacio de almacenamiento para los
apuntadores hacia atrás, también realiza borrados más eficientemente. La ventaja clave de la tercera
configuración física es que todos los registros EMPLEADO que pertenecen al mismo departamento
pueden recuperarse de inmediato. Es importante notar que no hay una estructura física
universalmente óptima.
El objetivo del diseño de una estructura física es seleccionar la estructura que más se acomode al
ambiente de una aplicación dada. Aunque el diseño físico de una base de datos es un tópico
importante, no se tratará más en esta publicación.
"El diseño lógico de la base de datos" es el proceso de diseñar la estructura lógica de la base de
datos, ver figura 6. Cubre un análisis del ambiente de la aplicación y la disponibilidad de los tipos
de estructuras lógicas en el sistema de la base de datos. Generalmente hay pocas herramientas para
la ayuda del proceso del diseño lógico de la base de datos; el diseñador se apoya en la intuición y la
experiencia. Como resultado, muchas de las bases de datos existentes no están bien diseñadas.
En esta publicación, se presenta el proceso del diseño lógico y algunas herramientas útiles y
prácticas para ayudar al diseñador de la base de datos.
1.3 SISTEMAS DE BASE DE DATOS Y MODELOS DE DATOS.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 7 Estructura jerárquica de datos.
Figura 8 Estructura de datos en red.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 9 Estructura relacional de datos.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Hay muchos sistemas de bases de datos en el momento. Pueden clasificarse en tres (3) grandes
categorías: Jerárquico, Red y Relacional. La mayor diferencia es el tipo de estructura lógica que las
soporta. Los sistemas de base de datos Jerárquicos, tales como IMS de IBM, requiere que los tipos
de registros sean organizados en forma jerárquica, ver figura 7. La estructura de datos jerárquica
trabaja bien con algunas bases de datos pero se hace difícil cuando la naturaleza jerárquica entre los
registros no existe. Sistemas de base de datos en red (o CODASYL), tales como IDS de Honeywell,
DMS-1100 de UNIVAC e IDMS de CULLINANE, proveen una estructura de datos más compleja
y más capaz que los sistemas de bases de datos jerárquico. Por ejemplo sistemas de base de datos en
red permite a un tipo de registro tener como sus padres múltiples tipos de registros, ver figura 8.
Los sistemas relacionales usan tablas como estructuras lógicas, ver figura 9.
Figura 10 Diseño lógico de la base de datos.
En resumen, el diseño lógico de la base de datos trata la organización de los datos para sostener el
sistema de la base de datos de forma aceptable, ver figura 10.
1.4 PROBLEMAS DEL DISEÑO LOGICO DE UNA BASE DE DATOS.
El diseño de una base de datos actualmente es un proceso complicado ya que el diseñador tiene que
considerar no solamente como modelar el mundo real, sino también las limitaciones del sistema de
la base de datos y la eficiencia de recuperación y actualización. Ejemplos:
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
1.-El diseñador de la base de datos está restringido por las limitaciones de los tipos de estructuras
soportadas por el sistema de la base de datos. Por ejemplo, las relaciones muchos a muchos
entre dos tipos de entidades, tales como las relaciones entre empleados y proyectos, no
pueden ser representadas directamente en muchas bases de datos.
2.-El diseñador de una base de datos debe considerar el camino de acceso de los registros, por
ejemplo como acceder a un tipo de registro particular. Para el caso de la figura 3
implícitamente se asume que el registro EMPLEADO tiene como vía de acceso el
correspondiente registro DEPARTAMENTO.
3.-El diseñador de una base de datos debe considerar como hacer más eficiente una recuperación o
una actualización. Así un dato de una entidad del mundo real puede ser colocado en más de
un registro para mejorar eficiencia. Por ejemplo, los datos de un empleado pueden ser
agrupados en dos registros: MAESTRO-EMPLEADO y DETALLE-EMPLEADO.
Hay dos problemas en el enfoque convencional del diseño de una base de datos:
1.-El diseñador de una base de datos tiene que considerar muchos problemas al mismo tiempo, lo
que hace que el diseño de la base de datos sea un trabajo muy difícil.
2.-El resultado final del proceso del diseño de una base de datos es un esquema para el usuario, por
ejemplo una descripción de la vista del usuario de la base de datos. Ya que el esquema del
usuario representa la solución del diseño de la base de datos, complica los problemas
mencionados anteriormente, por esto el esquema del usuario generalmente es difícil de
entender y difícil de modificar.
1.5UN NUEVO ENFOQUE AL DISEÑO DE LA BASE DE DATOS: EL ENFOQUE
ENTIDAD RELACION.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 11 Esquema del estudio. Etapa intermedia en el diseño lógico de la base de datos.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Primero se describe nuevo enfoque al diseño lógico de una base de datos llamado enfoque
entidad-relación (E-R). La idea clave del enfoque E-R es agregar una etapa intermedia en el diseño
lógico de la base de datos, ver figura 11. El diseñador de la base de datos primero identifica las
entidades y las relaciones que son de interés a la empresa usando técnicas de diagramación
Entidad-Relación (E-R). En esta etapa, el diseñador de la base de datos debe ver los datos desde el
punto de vista de toda la empresa, no la vista particular de un programador.
Por lo tanto, la descripción de los datos desde el punto de vista de la empresa se denomina el
esquema de la empresa. El esquema de la empresa debe ser una representación pura del mundo real
y debe ser independiente de las consideraciones de almacenamiento y eficiencia. El diseñador de la
base de datos primero diseña el esquema de la empresa y entonces lo traslada al esquema del
usuario para su sistema de la base de datos, ver figura 11.
1.6 VENTAJAS DEL ENFOQUE ENTIDAD-RELACIÓN.
El enfoque convencional del diseño lógico de la base de datos usualmente tiene una sola fase:
mapeo de la información de los objetos en el mundo real al esquema de usuario. El enfoque E-R
para el diseño lógico consiste de dos grandes fases: (1) definir el esquema de la empresa usando
diagramas de entidad-relación, y (2) trasladar el esquema de la empresa al esquema de usuario. Las
ventajas del enfoque E-R son:
(1)La división de funciones y trabajo en dos fases hacen el proceso de diseño de la base de datos
más simple y mejor organizada.
(2)El esquema de empresa es más fácil de diseñar que el esquema de usuario ya que no está
restringida por las capacidades del sistema de la base de datos, y es independiente de las
consideraciones de almacenamiento y eficiencia.
(3)El esquema de empresa es más estable que el esquema de usuario. Si se quiere cambiar de un
sistema de base de datos a otro, probablemente se tendrá que cambiar el esquema de usuario
pero no el esquema de la empresa, ya que el esquema de la empresa es independiente del
sistema de la base de datos usada. Se requiere un nuevo mapeo del esquema de la empresa
al nuevo esquema de usuario del nuevo sistema de la base de datos. Similarmente, si uno
quiere cambiar el esquema del usuario para optimizar una nueva aplicación, no se requiere
cambiar el esquema de la empresa, sino realizar un nuevo mapeo del esquema de la empresa
al nuevo esquema de usuario.
(4)El esquema de la empresa, representado en el diagrama entidad-relación es más fácilmente de
entender por la mayoría de la gente.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
2. EL ENFOQUE E-R Y EL PROPOSITO ANSI/X3/SPARC.
2.1 PROPOSITO ANSI/X3/SPARC.
El concepto de esquema de la empresa es muy similar al concepto del esquema conceptual
presentado por el grupo ANSI/X3/SPARC. En esta parte, se presenta brevemente la arquitectura
ANSI/X3/SPARC y como aplicar el enfoque E-R a esta arquitectura.
A finales de 1971, el comite sobre computadores y procesamiento de información (abreviado como
comite X3) del INSTITUTO NACIONAL AMERICANO DE ESTANDARES (ANSI) formó un
grupo especial de estudio para determinar cuál (si alguno) de los aspectos de los sistemas de la
administración de las bases de datos eran candidatos para desarrollo de estándares. El grupo
especial de estudio, llamado comite de Planeación de estándares y requerimientos (SPARC), estaba
formado por representantes de usuarios, productores de hardware y universidades.
El grupo ANSI/X3/SPARC gastó mucho tiempo y esfuerzo; consideraron diferentes puntos de vista
de la teoría de base de datos y el desarrollo de un vocabulario que fuera consistente y mutuamente
comprensible. Como resultado, el reporte provisional causó considerable atención en la comunidad
de bases de datos.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 12 Arquitectura ANSI/X3/SPARC.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Lo que el grupo ANSI/X3/SPARC encontró fue que no era deseable desarrollar estándares que
especifiquen como deben trabajar los componentes de un sistema de administración de base de
datos en cambio se debe enfocar en como se debe mezclar los componentes (ejemplo las interfases).
Con esto en mente, el reporte provisional presentó un esquema triple de la arquitectura de un
sistema de administración de base de datos (ver figura 12). Usualmente los sistemas corrientes de
administración de base de datos tiene una estructura de dos niveles: la estructura lógica (por
ejemplo la estructura de los datos como la ve el programador) y la estructura física (por ejemplo la
estructura de los datos como la ve el computador).
La propuesta de la ANSI/X3/SPARC tiene una estructura de tres niveles: esquema externo,
esquema conceptual y esquema interno (ver figura 12). El esquema externo (esquema del usuario)
representa el punto de vista del usuario (por ejemplo del programador). En otras palabras, un
esquema externo es una descripción de datos visibles a un programa de aplicación en términos de
nombres y características del dato. El esquema interno representa la organización física de los datos
en los equipos de almacenamiento. También contiene los detalles de integridad, recuperación y
eficiencia en los procesos de obtención y actualización de datos. El esquema conceptual representa
el punto de vista de empresa. O sea una descripción del modelo de la empresa en términos de sus
entidades, atributos y relaciones entre ellos. También contiene los requerimientos para las
operaciones permitidas, integridad semántica y privacidad. El esquema conceptual está orientado a
proveer un punto de vista estable del dato.
2.2 Esquema conceptual y esquema de empresa.
Cuál es la diferencia entre esquema conceptual propuesto por el grupo ANSI/X3/SPARC y el
esquema empresa discutido en esta publicación? La respuesta es que ellos son los mismos excepto
que el esquema conceptual se requiere como interfase entre el esquema externo y el interno (ver
figura 12).
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 13 Traducciones necesarias entre el esquema externo y el esquema interno sin un
modelo conceptual.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 14 Uso del esquema conceptual como interfaz entre los esquemas externo e
interno.
Una razón para usar el esquema conceptual como interfase es para reducir el número de mapeos
entre el esquema externo e interno. Por ejemplo, si hay M esquemas externos y N esquemas
internos, se necesitan M*N programas para hacer el mapeo entre los esquemas externos e internos
(ver figura 13). Si hay un esquema conceptual entre los esquemas externos e internos, M+N
programas para hacer el mapeo (figura 14). Por lo tanto, el número de programas de mapeo se
reduce considerablemente.
Uno de los objetivos de la arquitectura ANSI/X3/SPARC es mantener el esquema conceptual
estable mientras se permite cambios en los esquemas externos e internos. Este objetivo no parece
difícil de obtener ya que el esquema conceptual representa la vista de empresa del dato y debe ser
relativamente estable comparado con la vista del usuario de la vista física del dato. Por lo tanto,
cuando la organización física de la base de datos es cambiada o el dato es pasado de un tipo viejo
de almacenamiento a uno nuevo, solamente se cambiará el esquema interno, y no el esquema
conceptual o el externo. Similarmente, si el usuario quiere ver el dato como una cierta clase de
organización, se puede diseñar un esquema externo para él sin cambiar el esquema conceptual ni el
esquema interno.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 15 El esquema externo se puede representar con diferentes tipos de estructura de
datos.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Además de servir como interfase entre los esquemas externo e interno, el esquema conceptual es
el mismo esquema de la empresa, y se pueden usar los diagramas Entidad-relación para describir el
esquema conceptual. En adición, ya que el esquema externo se puede expresar en términos de
diferentes tipos estructuras de datos tales como red (CODASYL), jerárquica, o relacional (ver
figura 15), las reglas de traslación entre los diagramas de Entidad-Relación y los diferentes tipos de
estructuras de datos se verán más adelante en esta publicación y serán muy útiles en la
implementación de la arquitectura ANSI/X3/SPARC.
2.3 Tres tipos de administradores de base de datos.
El grupo ANSI/X3/SPARC ha identificado tres tipos de administradores de base de datos:
(1) Administrador empresa
El administrador empresa define el esquema conceptual y, si es posible, lo valida. El debe entender
muy bien ambos las operaciones de la empresa y el significado de su información (dato). Es el
responsable por la integridad, contenido y seguridad de la base de datos.
(2)Administrador de la base de datos.
El administrador de la base de datos define el esquema interno. El diseña la estructura física,
esquema de codificación, caminos de acceso, y ubicación de un dato en la unidad de
almacenamiento. Es el responsable por la utilización eficiente del espacio de almacenamiento como
del comportamiento eficiente del sistema de la base de datos.
(3)Administrador de la aplicación.
Un esquema externo representa la vista del programador de la aplicación. Esto lleva a que cada área
de aplicación general tendrá su propio administrador de la aplicación quien provee el esquema
externo para esa área. Pero estos esquemas externos deben ser consistentes y derivables de un
simple esquema conceptual. Nótese que el mismo esquema externo puede ser usado por varios
programadores , no necesariamente trabajando en el mismo programa.
Estos tres tipos de administradores representan tres diferentes trabajos que deben ser realizados
por un individuo o un grupo de personas. Aunque las distinciones entre estos tres tipos de
administradores de base de datos es clara en términos del triple esquema de arquitectura
ANSI/X3/SPARC, esto no es claro en ambientes de bases de datos convencionales. Como es el
caso, el "administrador de la base de datos" como se define en muchas organizaciones de bases de
datos, tiene toda la responsabilidad mencionada para los tres tipos de administradores.En términos
del objetivo de ésta publicación, primero se tratará con la responsabilidad de el administrador de
empresa (por ejemplo el trabajo de modelar el mundo real) y la responsabilidad del administrador
de la aplicación (por ejemplo el trabajo del diseño del esquema externo).
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
2.4 Importancia del enfoque E-R.
En resumen, La arquitectura ANSI/X3/SPARC llegará a ser realidad, y el enfoque E-R podrá ser
usado en los siguientes casos:
(1) En el diseño del esquema conceptual.
(2) En la traslación del esquema conceptual al esquema
externo.
3. DIAGRAMA ENTIDAD -RELACION (E-R).
En este capitulo, se introduce la técnica de diagramación de entidad-relación. Primero se
discutirá que son entidad y relación y entonces explicar como se describe las propiedades de entidad
y relación.
3.1 ENTIDAD Y RELACION.
Figura 16 Tipos de entidades y entidad.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 17 Entidades representadas en cajas rectangulares.
Una entidad es una "cosa" quien puede ser claramente identificada. Las entidades pueden
clasificarse en diferentes tipos de entidades, tales como EMPLEADO y BODEGUERO (ver figura
16). En el diagrama E-R, un tipo de entidad esta representado por caja rectangular (ver figura 17).
Hay muchas "cosas" en el mundo real. Algunas de estas son de interés de la empresa, y el resto
no. Es responsabilidad del diseñador seleccionar los tipos de entidades que sirven para su
compañía.
3.1.2 tipo de relación.
Figura 18 Matrimonio representado como relación entre dos personas de una entidad.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 19 Relaciones representadas como diamantes.
Las relaciones existen entre las entidades. Por ejemplo, MATRIMONIO es una relación entre
dos entidades personas (ver figura 18). Las relaciones se pueden clasificar en tipos de relaciones.
Por ejemplo, PROYECTO-EMPLEADO y PROYECTO-ADMINISTRADOR son dos tipos
diferentes de relaciones entre dos tipos de entidades PROYECTO y EMPLEADO. En la notación
de diagramación entidad-relación, un tipo de relación es representada por una caja en forma de
diamante con líneas que conectan las entidades relacionadas (ver figura 19). La notación "m" y "1"
asociada con el tipo de relación PROYECTO-ADMINISTRADOR en la figura 16 indica que cada
proyecto tiene un solo gerente, pero que un empleado puede ser el gerente de muchos proyectos. La
"m" y "n" asociada con el tipo de relación PROYECTO-EMPLEADO indica que hay muchos a
muchos mapeos. Esto es, cada proyecto puede consistir de varios empleados, y cada empleado
puede estar asociado con varios proyectos. Nótese que más mapeos entre entidades es posible.
Como caso, el tipo de relación MATRIMONIO es un mapeo uno a uno entre personas (entidades)
ver figura 20.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 20 Matrimonio representado como relación entre dos personas de la entidad
Persona.
Figura 21 Información sobre la relación Parte-proveedor-proyecto.
Es posible definir un tipo de relación entre dos tipos de entidades . Por ejemplo,
PARTE-PROVEEDOR-PROYECTO , quien describe que partes son suministradas por un
particular a un proyecto (figura 21), es un tipo de relación definida sobre tres entidades: PARTE,
PROVEEDOR, y PROYECTO (figura 22).
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 22 Relación Parte-proveedor-proyecto.
Figura 23 Información de las relaciones binarias: Parte-proveedor, Proveedor-proyecto
y Proyecto-parte.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Note que una relación triple usualmente no puede ser representada por tres relaciones binarias.
Ejemplo, la relación triple PARTE-PROVEEDOR-PROYECTO en la figura 21 es reemplazado por
tres
relaciones
binarias:
PARTE-PROVEEDOR,
PROVEEDOR-PROYECTO,
Y
PROYECTO-PARTE (ver figura 23). Sin embargo, si se quiere construir una relación triple
comenzando con estas tres relaciones binarias, se obtienen cosas "nuevas" (ver figura 24 entradas).
Figura 24 Información generada de las tres relaciones binarias mostradas en la figura
23.
Hay muchos tipos de relaciones entre entidades, y algunas de ellas son de interés a la empresa; el
diseñador de la base de datos es el responsable por la selección de las relaciones importantes a la
empresa. Debe también especificar el tipo de mapeo de las relaciones (por ejemplo uno a uno, uno a
varios, varios a varios).
3.2 Descripción de entidades y relaciones.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 25 Atributos y sus valores.
Las entidades y las relaciones tienen propiedades, que pueden ser expresadas en términos de pares
valor-atributo. Por ejemplo, en la afirmación " la edad de un empleado X es 24", "edad" es un
"atributo" del empleado X, y "24" es el "valor" del atributo edad. Los valores pueden ser
clasificados en diferentes tipos de valores como NO-DE-AÑOS, CANTIDAD, y COLOR. En la
notación de diagrama E-R, un tipo de valor es representado por un circulo (ver figura 25) y un
atributo es representado por una flecha dirigida de la entidad al valor deseado.
En algunos casos, un atributo puede tener más de un valor para una entidad dada. como puede
ser, "TELEFONO" del empleado X puede tener dos valores: 2684062 y 2680603. En este caso, se
coloca "1:n" en la flecha para indicar que es un atributo de múltiples valores. Esto es similar al
concepto de "grupo repetitivo" en el procesamiento de datos convencional. Sin embargo, muchos
atributos, tales como "edad" y "IDENTIFICACION" son valores simples. Por simplicidad, no se
asocia "1:1" en las flechas del diagrama E-R para estos atributos.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 26 Atributos de una relación.
Hasta ahora sólo se han considerado los atributos de las entidades. Algunos veces nos interesa
las propiedades de las relaciones, como cuando se quiere conocer cuándo el empleado X comenzó a
trabajar en un proyecto en particular. El FECHA-INICIO no es un atributo del empleado ni del
proyecto, ya que el valor depende de ambos del trabajador y del proyecto. Por lo tanto, FECHAINICIO es un atributo de la relación PROYECTO-EMPLEADO. Otro ejemplo de atributo de
relación es el PORCENTAJE-DE-ESFUERZO, que es el porcentaje de tiempo que un trabajador
dedica a un proyecto en particular (ver figura 26). El concepto de atributo de relación es importante
para entender la semántica del dato. El concepto es similar al "dato relacionado" en "red"
(CODASYL) sistemas de base de datos y similar al "dato intersección" en los sistemas de base de
datos jerárquicos (IMS).
3.2.2 Identificador entidad.
La entidad hasta el momento vista existe en la mente o puede ser identificada colocando el dedo
sobre él. Cuando alguien pregunta "Esto de qué color es?" "Esto" es entendido por ambos
interlocutores o es identificado colocando el dedo sobre el objeto. Este esquema de identificación
trabaja para muy pocos objetos, y caerá en dificultades cuando se quiere comunicar esta
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
información de una variedad de objetos a mucha gente. Por lo tanto, en ambos en la conversación
diaria o en el procesamiento de datos en el computador, se necesita otro esquema para identificar
las entidades. Cada entidad tiene muchos atributos, pero cual debe escoger? La respuesta es que los
atributos escogidos sean capaces de identificar absolutamente la entidad. Se da el caso, se puede
usar el atributo NOMBRE para identificar los empleados de una pequeña empresa, pero no para una
grande. Esta selección de los atributos de la entidad se llaman identificadores de la entidad. En
algunos casos, puede ser difícil o inconveniente usar atributos disponibles como identificadores de
la entidad. En cambio es mejor crear un atributo artificial capaz de identificar bien la entidad.
Ejemplos son "IDENTIFICACION", "EMPLEADO-NO", y "PROYECTO-NO" . El concepto de
identificador de entidad es similar al concepto de "llave primaria" en el procesamiento de datos
convencional.
3.2.3 Identificador de relación.
Las relaciones son identificadas por el uso de los identificadores de las entidades involucradas en
las relaciones. Por ejemplo, si un proyecto es identificado por su PROYECTO-NO y un empleado
es identificado por EMPLEADO-NO, entonces la relación PROYECTO-EMPLEADO es
identificado por ambos PROYECTO-NO y EMPLEADO-NO. En algunas situaciones, un tipo de
relación es definido entre dos ocurrencias de el mismo tipo de entidad. Es el caso, de
MATRIMONIO es un tipo de relación definido entre ocurrencia del mismo tipo de entidad,
PERSONA. En orden a identificar positivamente tales relaciones, no solamente se usará el
identificador de la entidad sino también el papel que juega la entidad en la relación. En el caso de
MATRIMONIO, los nombres MARIDO y MUJER son los papeles que ellos juegan en la relación
MATRIMONIO.
3.3 Tipos especiales de entidades y relaciones.
En este numeral se discuten algunos tipos especiales de entidades y relaciones que se
encuentran comúnmente.
3.3.1 Dependencia de existencia.
La existencia de una entidad depende de la existencia de otra entidad. Por ejemplo, la existencia
de entidad HIJO en una base de datos depende de la existencia de el empleado asociado. En otras
palabras, si un empleado deja la compañía, no se mantendrá más la información de sus hijos.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 27 Relación dependiente de existencia.
La figura 27 ilustra el diagrama E-R para esta situación. HIJO es representado por una caja
rectangular doble, que significa que es un tipo de entidad "débil". La existencia de una entidad débil
depende de la existencia de otras entidades. La "E" dentro de la caja de relación indica que es una
relación existencia dependiente; la flecha asociada indica la dirección de dependencia.
Figura 28 Relación dependiente de existencia con mapeo muchos a muchos.
Es posible que la relación "dependencia de existencia" es un mapeo de varios a varios. Por
ejemplo, si el padre deja la compañía, el HIJO puede permanecer si la madre continua trabajando en
la compañía. Esta situación se representa en el diagrama E-R mostrada en la figura 28.
3.3.2 Dependencia ID.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 29 Dependencia de existencia e identificación.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 30 Dependencia de existencia e identificación.
Figura 31 Dependencia de existencia e identificación.
Si una entidad no puede ser identificada únicamente por sus atributos y tiene que ser identificado
por sus relaciones con otras entidades, tiene una dependencia ID sobre otras entidades. Por ejemplo,
"CALLE" es única dentro de una ciudad, ciudad es única dentro de un estado, y estado es única
dentro de un país. En orden de identificar la dirección de un local, se debe especificar el nombre de
la ciudad, estado, y país adicionalmente a la calle. L dependencia ID es indicada por la caja de
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
relación "ID" y la dirección de la relación es indicada por la flecha (ver figura 29); muchas de las
dependencias ID son asociadas con las dependencias de existencia. Sin embargo, la dependencia de
existencia no implica dependencia de ID. Por ejemplo, la entidad HIJO en la figura 30 es
identificado por sus atributos y de sus padres ID (ver figura 31), mientras la entidad HIJO en la
figura 27 puede ser identificado por su HIJO-NO (figura 32).
Figura 32 Sin dependencia de identificación.
4. PASO DEL DIAGRAMA E-R A DIAGRAMAS DE ESTRUCTURA-DATO.
4.1 Diagramas de estructura - dato.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 33 Diagrama de estructura de estructura de datos.
Las estructuras lógicas de las bases de datos soportadas por sistemas de base de datos
CODASYL (red) pueden ser expresados en diagramas de estructuras - dato. La figura 33 ilustra un
diagrama de estructura - dato. Cada caja rectangular representa un tipo de registro, como
EMPLEADO y DEPARTAMENTO. La flecha representa un conjunto de estructura - dato que
conecta los dos registros. El registro donde se origina la flecha es el registro amo del conjunto de
estructura - datos, y el registro en donde la flecha termina es el registro miembro del conjunto
estructura de datos. En la figura 33, EMPLEADO es el registro amo, DEPARTAMENTO es el
registro miembro. En un conjunto de estructura - datos, el registro amo tiene cero, uno, o más
registros miembros (ocurrencias). Un registro miembro en un conjunto estructura-dato tiene
exactamente un registro amo. En nuestro ejemplo, cada registro EMPLEADO puede ser conectado
a varios registros DEPARTAMENTO, o a ninguno. Sin embargo, cada registro
DEPARTAMENTO debe ser asociado con exactamente con un registro EMPLEADO. Esto se
ilustra en la figura 34. Conceptualmente, la flecha representa una asociación 1:n (uno-a-varios)
entre el registro amo y el registro miembro. Esta clase de asociación puede ser también
representado en forma de tabla (figura 35).
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 34 Registro propietario con cero, uno o muchos registros miembros.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 35 Correspondencia uno a muchos entre Empleado y Dependencia.
Figura 36 Dos estructuras de datos apuntando al mismo registro miembro.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
La figura 36 ilustra una estructura de datos más complicada. El tipo de registro EMPLEADO es
el tipo de registro amo del conjunto estructura-dato, en el cual EMPLEADO-LENGUAJE es el tipo
de registro miembro. El tipo de registro EMPLEADO-LENGUAJE es también un tipo de registro
miembro de otro conjunto estructura-dato, en el cual el tipo de registro LENGUAJE es un registro
amo. Actualmente, el registro EMPLEADO-LENGUAJE contiene una información de referencia
cruzada acerca de EMPLEADOS y LENGUAJE. Esta información puede ser representada en forma
de tabla, como se muestra en la figura 37.
Figura 37 Referencia cruzada de empleado y lenguaje.
Se puede apreciar de la figura 37 que un empleado puede tener uno o más lenguajes, y que
usualmente más de un empleado tiene un lenguaje particular. Por lo tanto, la relación entre
empleados y lenguajes es m:n (muchos-a-muchos). Esta correspondencia m:n entre empleados y
lenguajes puede derivarse de la figura 36. El conjunto estructura-dato en la figura 36 muestra que
existe un mapeo 1:m (uno-a-muchos) entre el tipo de registro EMPLEADO y el tipo de registro
EMPLEADO-LENGUAJE, y un mapeo similar (1:n) existe entre el tipo de registro LENGUAJE y
el tipo de registro EMPLEADO-LENGUAJE. Por lo tanto, la correspondencia entre el registro
EMPLEADO y el tipo de registro lenguaje es m:n (muchos-a-muchos).
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
El diagrama estructura-dato en la figura 36 puede ser implementado usando una matriz de
apuntadores como se muestra en la figura 38. El conjunto estructura-dato entre el tipo de registro
EMPLEADO y el tipo de registro EMPLEADO-LENGUAJE es representado por líneas salidas, y
el conjunto estructura-dato entre el tipo de registro LENGUAJE y el tipo de registro
EMPLEADO-LENGUAJE es representado por líneas punteadas.
Figura 38 Implementación de la estructura de datos mostrada en la figura 37 utilizando
apuntadores.
En la figura 38, cómo se determinan los lenguajes de un empleado particular? El primer paso es
localizar el registro EMPLEADO con EMPLEADO-NO =2142 usando un algoritmo de hashing o
con algún otro método. El segundo paso es encontrar el primer registro EMPLEADO-LENGUAJE
relacionado con este empleado. Por vía de un apuntador mostrado en línea punteada, puede
encontrar un registro lenguaje con LENGUAJE-NOMBRE= COBOL. Luego se encuentra el
segundo registro EMPLEADO-LENGUAJE relacionado con el mismo registro de empleado (vía
apuntadores de línea salida). Desde el registro EMPLEADO-LENGUAJE, se puede ir a través del
apuntador de línea punteada a localizar un registro LENGUAJE con LENGUAJE-NOMBRE=
PL/1. No se pueden encontrar más registros EMPLEADO-LENGUAJE relacionados con los
mismos registros EMPLEADO (por ejemplo, se ha encontrado la información que se requería: el
empleado EMPLEADO- NO=2142 tiene dos lenguajes: COBOL y PL/1.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Cómo se encuentran todos los empleados con un lenguaje particular, por ejemplo COBOL?
primero, se localiza el registro LENGUAJE con LENGUAJE-NOMBRE= COBOL. Luego se
recuperan todos los registros EMPLEADO-LENGUAJE relacionados con el registro LENGUAJE.
Para cada registro EMPLEADO-LENGUAJE, se recupera vía apuntadores de línea salida el
correspondiente registro EMPLEADO. Haciendo esto, se sabe que hay dos empleados poseyendo la
lenguaje COBOL, y sus números de empleado son 2142 y 1781.
Figura 39 Implementación de la estructura de datos de la figura 22 utilizando cadenas.
Otro modo de implementar el diagrama de estructura-dato en el figura 36, es usar "cadenas"
como se muestra en la figura 39. Las líneas sólidas conectan todos los registros
EMPLEADO-LENGUAJE relacionados con el mismo registro EMPLEADO. Las líneas punteadas
conectan todos los registros EMPLEADO-LENGUAJE relacionados con el mismo registro
LENGUAJE. Cómo encontrar las lenguajes de un empleado con EMPLEADO-NO=2142? Primero
se encuentra el primer registro EMPLEADO-LENGUAJE vía la cadena de línea sólida. Desde el
registro EMPLEADO- LENGUAJE, se encuentra el registro lenguaje vía la cadena punteada.
Desde el registro EMPLEADO-LENGUAJE, se busca el próximo registro EMPLEADOLENGUAJE vía la cadena de línea sólida. Desde el segundo registro EMPLEADO-LENGUAJE, se
puede determinar el correspondiente registro LENGUAJE a través de la cadena de línea punteada.
Desde el segundo registro EMPLEADO-LENGUAJE, no se pueden encontrar más registros
EMPLEADO-LENGUAJE en la cadena de línea sólida. Ahora, se conocen todos los lenguajes que
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
tiene el empleado 2142. Similarmente, se pueden encontrar a todos los empleados con una lenguaje
moviéndonos a través de las cadenas.
Figura 40
miembro.
Dos estructuras de datos que tienen los mismos registros propietario y
Figura 41 Relación de manufactura entre partes.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 42 Implementación de la estructura de datos de la figura 41.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Otro tipo de estructura de datos, que son usualmente encontradas en bases de datos comerciales,
es mostrada en la figura 40. Hay dos tipos de registros: PARTE y RELACION-FABRICACION
(relación- manufactura). Cada producto a ser manufacturado consiste de muchas "partes"
(componentes). Cada parte es a su turno realizada con otras partes. El tipo de registro PARTE
contiene información acerca de una "parte" particular. El tipo de registro RELACIONFABRICACION contiene la información acerca de la relación entre las partes. La figura 41 ilustra
esta clase de relaciones. Allí se indica que en orden a manufacturar PARTE#1 se necesitan cinco
PARTE#2 y dos PARTE#3. Se puede ver también que PARTE#3 es una sub-parte de ambos
PARTE#1 y PARTE#4. Hay dos conjuntos de estructura-dato en la figura 40 y ellos pueden ser
implementados como "cadenas" como se muestra en la figura 42. Las líneas sólidas representan el
encadenamiento a COMPONENTE y las líneas punteadas representan la cadena USADA-EN. En
orden a saber los componentes de una parte particular, primero se recuperan todos los registros
RELACION-FABRICACION vía el encadenamiento COMPONENTE y luego se recuperan las
correspondientes sub-partes vía la cadena USADA-EN. Haciendo esto, se puede averiguar que
PARTE#4 consiste de una PARTE#3 y dos PARTE#5. En orden a encontrar cuándo una parte
particular es usada para manufacturar otras partes , primero se recuperan todos los registros
RELACION-FABRICACION relacionados con aquel registro particular PARTE vía la cadena
USADA-EN, y luego se recuperan los correspondientes registros PARTE vía el encadenamiento
COMPONENTE. Haciendo esto, se puede averiguar que dos PARTE#5 son usadas en la
manufacturación de PARTE#4.
Las figuras 33, 36, y 40 son los tipos básicos de diagramas de estructura-dato. Una base de datos
se puede expresar en un gran diagrama de estructura-dato basado en estos tres bloques básicos de
construcción.
4.2 Reglas de Traducción.
Como se ha visto en la sección precedente, los diagramas estructura-dato están más próximos a
la organización física de una base de datos, que los diagramas de entidad-relación. Usualmente es
difícil dibujar un diagrama estructura-dato para las entidades y relaciones que son de interés para la
empresa. Por lo tanto, se propone que el diseñador de la base de datos primero dibuje un diagrama
E-R que represente la visión de la empresa sobre los datos y que luego los traslade a un diagrama
estructura-dato. En este numeral se discute cómo trasladar un diagrama E-R en un diagrama
estructura-dato. Se Identifican varias reglas básicas de traducción basadas en el tipo de relaciones
entre entidades. Se empieza con relaciones definidas entre dos tipos de entidades, luego con
relaciones definidas con más de dos tipos de entidades, y finalmente relaciones del mismo tipo de
entidad. Las siguientes son las reglas de traducción:
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 43
Figura 44
(1) Relaciones definidas sobre dos tipos de entidades
diferentes:
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
(a)La relación es una correspondencia uno-a-muchos (o uno-a-uno). Por ejemplo, el tipo de
relación DEPARTAMENTO- EMPLEADO en la figura 43(a) es una correspondencia uno-amuchos y puede ser transformada en un diagrama de estructura-dato mostrado en la figura 43(b).
Note que los tipos de entidad como DEPARTAMENTO y EMPLEADO en el diagrama E-R son
tratados como tipos de registro en el diagrama estructura-dato, mientras el tipo de relación
DEPARTAMENTO-EMPLEADO es representada por un conjunto estructura-dato(una flecha) en
el diagrama estructura-dato. Similarmente, el tipo de relación PROYECTO-ADMINISTRADOR en
la figura 44(a) que restringe a un gerente por proyecto pero permite que múltiples proyectos tengan
un mismo gerente, es representado por una flecha en el diagrama de estructura-dato mostrado en la
figura 44(b).
Figura 45
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 46
(b)La relación es una correspondencia muchos-a-muchos. Por ejemplo, el tipo de relación
PROYECTO-EMPLEADO en la figura 45(a) es una correspondencia muchos-a-muchos. El
correspondiente diagrama estructura-dato es mostrado en el figura 45(b). Note que el tipo de
relación PROYECTO-EMPLEADO no es trasladado en una flecha, sino en un tipo de registro. Se
puede concluir que si el tipo de relación es una correspondencia de muchos-a-muchos, será
trasladada en un tipo de registro con dos flechas señalando desde los tipos de registros relacionados.
El tipo de registro PROYECTO- EMPLEADO usualmente es llamado un "tipo de registro
relacional". Un ejemplo similar es mostrado en la figura 46. Desde que el tipo de relación
EMPLEADO-LENGUAJE es una correspondencia muchos-a-muchos, ella es trasladada a un tipo
de registro(relacional) en el diagrama estructura-dato.
(2) Relaciones definidas en más de dos tipos de entidades:
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 47
En este caso el tipo de relación en el diagrama E-R será trasladado en un tipo de registro relacional
en el diagrama estructura-dato, no importa que la relación sea una correspondencia uno-a-muchos,
o de otro tipo. Por ejemplo, el tipo de relación PARTE-PROYECTO-PROVEEDOR en la figura
47(a) es un tipo de relación definido por tres tipos de entidad y será trasladado en un tipo de registro
en un diagrama estructura-dato como el mostrado en la figura 47(b).
(3)Relaciones binarias definidas sobre el mismo tipo de entidad:
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 48
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 49
Si la relación binaria es una correspondencia uno-a- muchos, tal como el tipo de relación
ADMINISTRADA en la figura 48(a), esta puede ser transformada en al menos dos posibles
diagramas estructura-dato como se muestra en la figura 48(b) y 48(c). Como la mayoría de los
sistemas de base de datos tipo CODASYL (red) no permiten que el mismo tipo de registro sea
usado tanto como el tipo de registro a uno y como tipo de registro miembro en un conjunto de
estructura-dato, la figura 48 (b) es ilegal. Por lo tanto, se usa la figura 48 (c) como el diagrama
estructura-dato contraparte del diagrama E-R en la figura 48 (a).Para relaciones binarias con otros
tipos de correspondencia, se usa el mismo tipo de diagramas estructura-dato. Por ejemplo
RELACION-FABRICACION es una relación con tipo de correspondencia muchos-a-muchos, y es
equivalente al diagrama estructura-dato mostrado en la figura 49 (b).
V. PASOS EN EL DISEÑO LOGICO DE BASE DE DATOS Y EJEMPLOS.
En este numeral primero se delinean los grandes pasos en el diseño lógico de una base de datos,
y luego se dan tres ejemplos de diseño de base de datos usando la aproximación E-R.
5.1 Grandes pasos en el diseño lógico de base de datos.
La aproximación entidad-relación al diseño de bases de datos consiste de los siguientes pasos:
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
(1) Identificar los tipos de entidad.
(2) Identificar los tipos de relación.
(3)Dibujar diagrama E-R con tipos de entidad y relación.
(4) Identificar tipos de valores y atributos.
(5) Trasladar diagramas E-R a diagramas estructura-dato.
(6) Diseñar formatos de registros.
5.2 Ejemplo 1: Una compañía manufacturera.
5.2.1 Identificar los tipos de entidad.
El primer paso es identificar los tipos de entidad de interés para la compañía. En una empresa
manufacturera. los tipos de entidades primarios son PARTE, PROVEEDOR, PROYECTO,
EMPLEADO, DEPARTAMENTO. Hay otros tipos de entidades que pueden ser de interés para una
empresa manufacturera, pero por simplicidad, solo se toman estos tipos importantes de entidad.
5.2.2 Identificar los tipos de relación.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 50 Diagrama ER para una empresa de manufactura.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Se puede al menos identificar los siguientes tipos de relación (ver figura 50):
(a)El tipo de relación DEPARTAMENTO-EMPLEADO describe la afiliación de los departamentos
con los empleados y es un mapeo uno-a- muchos.
(b)El tipo de relación PROYECTO-EMPLEADO describe la afiliación de los proyectos con los
empleados y es un mapeo muchos-a- muchos. Esto es, cada empleado puede trabajar en más de un
proyecto y cada proyecto puede involucrar a más de un empleado.
(c)El tipo de relación PROYECTO-ADMINISTRADOR identifica los gerentes de los proyectos y
es un mapeo uno-a-muchos. Esto es, cada proyecto tiene un solo gerente, pero cada empleado
puede estar asociado con más de un proyecto.
(d)El tipo de relación PROYECTO-PROVEEDOR-PARTE describe cuál proveedor provee cual
producto para un proyecto en particular y es un mapeo muchos-a-muchos de tres vías. Esto es, para
una parte particular puede haber más de un proveedor que puede proveer esta parte a más de un
proyecto. Similarmente, cada proyecto puede usar más de una parte, la cual puede tener más de un
proveedor.También, cada proveedor puede proveer a un proyecto con más de una parte. Una razón
para que la empresa desee buscar diferentes proveedores para la misma parte usada por diferentes
proyectos es que en un proyecto particular la empresa pudiera necesitar la parte inmediatamente y
por tanto estar dispuesta a pagar más por ella, comprándola en una compañía local. En general, este
tipo de relación de tres vías no puede ser reemplazada por tres relaciones binarias tales como
PROYECTO- PROVEEDOR, PROVEEDOR-PARTE, PARTE-PROYECTO.
(e)El tipo de relación POTENCIAL-PROVEEDOR guarda una lista de proveedores potenciales
para una parte particular y es un mapeo muchos-a-muchos. Esto es, cada parte puede tener más de
un proveedor potencial y cada proveedor puede ser capaz de suplir más de una parte.
(f)El tipo de relación INVENTARIO guarda la pista de cuál parte es almacenada en cuál depósito y
es mapeo muchos-a- muchos.
5.2.3 Dibujar diagrama E-R con tipos entidad y relación.
El tercer paso es dibujar un diagrama E-R con los seis tipos de entidad y los siete tipos de relación
mencionados arriba. Ciertamente, se pueden identificar tipos de entidades y relaciones diferentes a
los mencionados arriba. Sin embargo, desde que nuestro propósito es introducir los conceptos
claves de la aproximación entidad-relación, no se entra en mayores detalles al respecto. El lector de
esta publicación puede agregar más tipos de entidad y de relación a la figura 50 para satisfacer sus
propias necesidades.
5.2.4 Identificar tipos de valores y atributos.
El cuarto paso es identificar las propiedades de las entidades y de las relaciones que son de interés
para la empresa. Esto es, se quieren identificar atributos y tipos de valores para las entidades y
relaciones en la figura 50.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 51 Atributos y valores de entidades y relaciones.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 52 Versión simplificada de la figura 51.
Se comienza con los tipos de entidad DEPARTAMENTO y EMPLEADO y su relación
DEPARTAMENTO-EMPLEADO. La figura 51 ilustra los atributos y tipos de valores para
DEPARTAMENTO y EMPLEADO. Los tipos de entidad y los tipos de relación están en el
dominio conceptual superior, y los atributos y tipos de valores están en el dominio conceptual
inferior. En la figura 51 se han identificado los siguientes tipos de valores:
DEPARTAMENTO-NO, PRESUPUESTO, EMPLEADO-NO, FECHA, SUELDO, TELEFONO;
DEPARTAMENTO tiene tres atributos: DEPARTAMENTO-NO, PRESUPUESTO-DE-ESTEAÑO, y PRESUPUESTO-DEL-AÑO-PASADO; EMPLEADO tiene cinco atributos:
EMPLEADO-NO, FECHA-NACIMIENTO, SUELDO, TELEFONO-CASA, TELEFONOOFICINA. Note que los atributos pueden no tener el mismo nombre que los tipos de valores y de
que es posible tener más de un atributo relacionado con el mismo tipo de valor. Por ejemplo,
PRESUPUESTO-DE-ESTE-AÑO
y
PRESUPUESTO-DEL-AÑO-PASADO
de
DEPARTAMENTO usa el mismo tipo de valor PRESUPUESTO, otro ejemplo son los atributos
TELEFONO-OFICINA Y TELEFONO-CASA de EMPLEADO, los cuales tienen el mismo tipo de
valor TELEFONO. Para simplificar el diagrama, se omiten los nombres de atributo en el diagrama
si ellos son iguales a los tipos de valores. Entonces, la figura 52 es una versión simplificada de la
figura 51.
Ahora, se consideran los tipos de entidad PROYECTO y EMPLEADO y sus tipos de relaciones
PROYECTO-ADMINISTRADOR y PROYECTO-EMPLEADO. Hay cinco tipos de valores:
%ESFUERZO, FECHA, PROYECTO-NO, PRESUPUESTO, PROYECTO-NOMBRE. Hay
también cinco atributos en la figura 53 (aún cuando algunos nombres de atributos se omitieron en el
diagrama): %ESFUERZO, FECHA-INICIO-PROYECTO, PROYECTO-NO, PRESUPUESTO,
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
PROYECTO-NOMBRE. Note que la relación PROYECTO-EMPLEADO tiene dos atributos:
FECHA-INICIO-PROYECTO y %ESFUERZO. El FECHA-INICIO-PROYECTO, es la fecha en
la cual el empleado empezó a trabajar en un proyecto particular y %ESFUERZO es el porcentaje de
tiempo que se espera que un empleado gaste en un proyecto particular. Note que el tipo valor
PRESUPUESTO es el mismo que el tipo de valor PRESUPUESTO en la figura 52. Por lo tanto, se
puede decir que los atributos nos pueden ayudar a interpretar el significado de los valores.
Figura 53 Atributos y valores de una entidad y una relación de especial interés.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 54 Atributos y valores para Proveedor, Parte y Proyecto-proveedor-parte.
La figura 54 ilustra los tipos de valor y los atributos para los tipos de entidades PROVEEDOR y
PARTE
y
los
tipos
de
relación
PROYECTOPROVEEDOR-PARTE
y
POTENCIAL-PROVEEDOR. La entidad PROVEEDOR tiene dos atributos: PROVEEDOR-NO y
DIRECCION. La entidad PARTE tiene los atributos PARTE-NO, PESO, y COLOR. La relación
PROYECTO-PROVEEDOR-PARTE tiene el atributo CANTIDAD el cual es la cantidad de cierta
parte proveída por cierto proveedor para un cierto proyecto. La relación
POTENCIAL-PROVEEDOR no tiene un atributo. Los atributos de la entidad PROYECTO ya han
sido mostrados en la figura 53.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 55 Atributos y valores de entidades y relaciones.
La figura 55 muestra los atributos y los tipos de valor de las propiedades de la cantidad
ALMACEN y las relaciones INVENTARIO y RELACION-FABRICACION. La cantidad
ALMACEN tiene los atributos ALMACEN-NO Y DIRECCION. La relación INVENTARIO tiene
el atributo CANTIDAD-A-MANO; el cual es la cantidad de una parte almacenada en un deposito.
La relación RELACION-FABRICACION tiene el atributo CANTIDAD-POR-FABRICACION, el
cual es la cantidad de una sub-parte necesitada para fabricar una super-parte. Note que
CANTIDAD-A-MANO y CANTIDAD-POR-FABRICACION comparten el mismo tipo de valor
CANTIDAD.
Las figuras 52-55 ilustran los atributos y los tipos de valor necesitados para describir las
propiedades de las entidades y relaciones que son de interés para la empresa manufacturera.
5.2.5 Trasladar el diagrama E-R en un diagrama estructura-dato.
El quinto paso es trasladar el diagrama E-R en un diagrama estructura-dato usando las reglas de
traducción discutidas en la sección 4.2.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 56 Diagrama Estructura-Dato derivado del diagrama ER de la figura 50.
Considere el diagrama E-R en la figura 50. Puede ser trasladado en el diagrama estructura-dato
mostrado en la figura 56. Todos los tipos de entidades en el diagrama E-R comienzan a ser tipos de
registros
en
el
diagrama
estructura-dato.
Como
el
tipo
de
relación
DEPARTAMENTO-EMPLEADO es un mapeo uno-a-muchos, es trasladado en un conjunto
estructura-dato (una flecha) en el diagrama estructura-dato. Similarmente, el tipo de relación
PROYECTO-ADMINISTRADOR es también un mapeo uno-a-muchos y es trasladado en un
conjunto estructura-dato. Como el tipo de relación PROYECTO-EMPLEADO es un mapeo
muchos-a-muchos, es trasladado en un tipo de registro con flechas apuntando desde las entidades
relacionadas en forma de tipos de registro EMPLEADO y PROYECTO. Debido a que el tipo de
relación PROYECTO-PROVEEDOR- PARTE es un mapeo muchos-a-muchos de tres vías, es
trasladado en un tipo de registro. El tipo de relación RELACION-FABRICACION es trasladada en
un tipo de registro desde que es un tipo de relación definido en el mismo tipo de entidad. Note que
el tipo de registro RELACION-FABRICACION en la figura 42 tiene dos flechas (p.e. conjunto de
estructura-dato) apuntando desde el mismo tipo de registro PARTE. Note que el tipo de registro
PROYECTO-PROVEEDOR-PARTE es apuntado por tres flechas desde el tipo de registro
(entidad) relacionado.
5.2.6 Diseñar formatos de registros.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
El sexto paso es agrupar atributos de entidades y relaciones en registros y decidir cómo
implementar los conjuntos de estructura- dato (usando "cadenas"? matrices de apuntadores? etc.).
Las pautas básicas para agrupar atributos en registros son:
Figura 57 Registro Departamento.
(1)Todos los atributos de una entidad serán puestos en el mismo tipo de registro, Por ejemplo,
los atributos de DEPARTAMENTO serán tratados como nombres de campos en el tipo de registro
DEPARTAMENTO (vea figura 52 y 57).
Figura 58 Registro Empleado.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
(2)Si el tipo de relación es un mapeo uno-a-muchos, los atributos de la relación serán tratados como
campos en el mismo registro miembro del conjunto estructura-dato. Por ejemplo, el tipo de relación
DEPARTAMENTO-EMPLEADO (figura 52) es un mapeo uno-a-muchos t su atributo FECHAINICIO-EN-DEPARTAMENTO será incluido como un campo en el registro miembro del conjunto
estructura-dato (p.e. el tipo registro EMPLEADO; vea figura 56 y 58).
Figura 59 Registro Proyecto.
Figura 60 Registro Proyecto-empleado.
(3)Si el tipo de relación es trasladado a un tipo de registro, entonces los atributos de la relación
serán tratados como campos en ese tipo de registro. Por ejemplo, el tipo de relación
PROYECTO-EMPLEADO en la figura 53 es trasladado en un tipo de registro y los atributos
%ESFUERZO y FECHA-INICIO-EN-PROYECTO son los campos en el tipo de registro mostrado
en la figura 60.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 61 Registro Proveedor.
Figura 62 Registro Parte.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 63 Registro Parte-proveedor-proyecto.
Figura 64 Registro Proveedor-potencial.
Se pueden aplicar estas reglas a otros tipos de entidad y de relación. Como todos los tipos de
entidad y de relación, excepto PROYECTO-ADMINISTRADOR en la figura 50, son trasladados
directamente en tipos de registro, la agrupación de atributos en tipos de registros es directa. La
figura 53 es trasladada a las figuras 59 y 60. Note que el tipo de relación
PROYECTO-ADMINISTRADOR es trasladado a un conjunto estructura-dato. La figura 54 es
trasladada a las figuras 61-64; la figura 55 es trasladada a las figuras 65 y 66.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 65 Registro Almacén.
Figura 66 Registro Inventario.
Después de poner todos los atributos en los tipos de registros, la siguiente cuestión es decidir
como implementar los conjuntos estructura-dato. En este ejemplo de la empresa manufacturera, se
usan "cadenas" como implementación física de los conjuntos estructura-dato. Esto es, se usan las
figuras 39 y 42 como implementación física de las figuras 36 y 40 respectivamente. De estas
figuras, se pueden hacer las siguientes observaciones sobre cómo implementar cadenas de
apuntadores:
(1)Si el registro es un tipo de registro amo de un conjunto
estructura-dato , debe tener un
apuntador apuntando a la primera ocurrencia de un registro miembro.
(2)Si el registro es un tipo de registro miembro de un conjunto estructura-dato, debe tener un
apuntador apuntando a la próxima ocurrencia de un registro miembro de la misma cadena o a una
ocurrencia de un registro amo, si es el último registro de la cadena.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
(3)Si un tipo de registro está envuelto en múltiples conjuntos de estructura-dato, debe contener
varios apuntadores, uno para cada conjunto de estructura-dato.
usando estas reglas, pueden definir los apuntadores en los tipos de registro como se muestra en
las figuras 57-66. Primero se considera la figura 57, como el tipo de registro DEPARTAMENTO es
un tipo de registro amo del conjunto estructura-dato, tiene un apuntador apuntando a la primera
ocurrencia del registro EMPLEADO en ese departamento. El tipo de registro EMPLEADO en la
figura 58 tiene tres apuntadores desde que está involucrado en tres conjuntos estructura-dato.
Puesto que el tipo de registro EMPLEADO es un tipo de registro miembro del conjunto
estructura-dato cuyo amo es el tipo de registro DEPARTAMENTO, el tipo de registro
EMPLEADO guardará un apuntador hacia la próxima ocurrencia del registro EMPLEADO en el
mismo departamento. Como el tipo de registro EMPLEADO es el registro amo en el conjunto
estructura-dato cuyo tipo de registro miembro es PROYECTO, él guarda un apuntador a la primera
ocurrencia del registro PROYECTO gerenciado por ese empleado. Si el empleado no es gerente de
ningún proyecto, el valor del apuntador es nulo. Ya que el tipo de registro EMPLEADO es también
un tipo de registro amo del conjunto estructura-dato cuyo tipo de registro miembro es
PROYECTO-EMPLEADO, el mantiene un apuntador a la primera ocurrencia del registro
PROYECTO- EMPLEADO en la cadena..
Ya que PROYECTO-EMPLEADO es un tipo de registro miembro de dos conjuntos de
estructura-datos, el mantiene dos apuntadores; uno apunta a la próxima ocurrencia del registro
PROYECTO-EMPLEADO para el mismo empleado, y el otro apunta a la próxima ocurrencia del
registro PROYECTO-EMPLEADO para el mismo proyecto (ver figuras 56 y 60).
Se considera un caso más complicado: el tipo de registro PROYECTO-PROVEEDOR-PARTE
en la figura 56 y 63. Ya que este es un tipo de registro miembro de tres conjuntos de
estructura-dato, tiene tres apuntadores, uno para cada cadena. Similares explicaciones pueden ser
dadas para apuntadores en otros tipos de registros.
5.3 Ejemplo 2: Una base de datos de pedidos-entradas.
5.3.1 Identificación de los tipos de entidades.
Un pedido-entrada maneja los pedidos de los clientes sobre artículos, quienes pueden ser
almacenados en bodegas. Los tipos de entidades importantes son: CLIENTE, ORDEN, LINEA,
PARTE, ITEM Y ALMACEN (figura 69). Cada "pedido" tiene varias "líneas" , cada una contiene
el numero de la parte y la cantidad ordenada.
5.3.2 Identificación de los tipos de relaciones.
Se pueden identificar los siguientes tipos de relaciones:
(1) La relación CLIENTE-ORDEN describe que cliente hizo un pedido particular y es un mapeo
uno-a-muchos. Esto es, un cliente puede tener muchos pedidos, pero cada pedido solamente un
cliente.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
(2)La relación ORDEN-LINEA indica que las entidades LINEA son dependiente-existencia y
dependiente ID en la correspondiente entidad de pedido. Cada "pedido" tiene varias "líneas", pero
cada "línea" pertenece solamente a un "pedido".
(3) La relación LINEA-PARTE describe que "parte" esta en la línea del pedido. También
describe la cantidad de las partes pedidas. Esta clase de relación es un mapeo uno-a-muchos; cada
"línea" contiene una sola parte, pero cada parte puede tener muchas líneas (usualmente en diferentes
"pedidos").
(4) La relación INVENTARIO mantiene el seguimiento de que parte es almacenada en cual
bodega, y es un mapeo muchos-a-muchos.
5.3.3 Dibujar un diagrama E-R con los tipos entidad y relación.
Figura 67 Diagrama ER para una base de datos de Ordenes.
La figura 67 es un diagrama E-R para la base de datos pedido-entrada. Note que dos tipos de
entidades PARTE y ALMACEN fueron ya discutidas en el ejemplo 1. Así, es posible unir la figura
67 y 50 para hacer un diagrama E-R grande.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
5.3.4 Identificación de valores, tipos y atributos.
Figura 68 Atributos y valores de las entidades Cliente y Orden.
La figura 68 muestra los tipos de valores y atributos para los tipos de entidades CLIENTE y
ORDEN. Una entidad CLIENTE tiene cinco atributos: CLIENTE-NO, BALANCE, LIMITECREDITO, DESCUENTO y DIRECCION-ENVIO. Cada cliente puede tener más de una
dirección-de-envío. Una entidad ORDEN tiene tres atributos: ORDEN-NO, DIRECCION-ENVIO,
y FECHA. Cada pedido tiene una sola dirección-de-envío. La relación CLIENTE-ORDEN no tiene
atributos.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 69 Atributos y valores para Línea y Parte-línea.
La figura 69 ilustra los tipos de valores y atributos de las propiedades de la entidad LINEA y la
relación LINEA-PARTE. La entidad LINEA tiene un atributo: LINEA-NO. La relación
LINEA-PARTE tiene dos atributos: CANTIDAD-SOLICITADA y CANTIDAD-DESPACHADA.
El valor de CANTIDAD-DESPACHADA es inicialmente igual al CANTIDAD-SOLICITADA y
gradualmente se reduce hasta cero a medida que se hacen los envíos.
Los tipos de valores y atributos para PARTE, INVENTARIO, ALMACEN se encuentran en las
figuras 54 y 55.
5.3.5 Trasladar el diagrama E-R a diagrama estructura-dato.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 70 Diagrama estructura-dato derivado del diagrama ER de la figura 67.
Usando las reglas de traslación discutidas en la sección 4.2, el diagrama E-R de la figura 67
puede ser trasladada al diagrama estructura-dato mostrado en la figura 70. Todos los tipos entidades
llegan a ser tipos de registro en el diagrama de estructura-dato. Ya que los tipos de relaciones
CLIENTE-ORDEN, ORDEN- LINEA, LINEA-PARTE son mapeos uno-a-muchos, son
trasladados en conjunto estructura-dato en el diagrama estructura-dato. Ya que el tipo de relación
INVENTARIO es un mapeo muchos-a-muchos, se traslada en un tipo registro.
5.3.6 Diseño del formato de registro.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 71 Registro Orden.
Figura 72 Registro Orden.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 73 Registro Parte.
Figura 74 Registro Parte.
Las figuras 71 y 74 ilustran los formatos de registros para cuatro tipos de registros CLIENTE,
ORDEN, LINEA, y PARTE en la figura 70. El registro LINEA no contiene atributos de la entidad
LINEA, tampoco atributos de la relación LINEA-PARTE (ver figura 69 y 73). En este ejemplo de
base de datos pedido-entrada, se escoge "cadenas" como la implementación física del conjunto
estructura- dato. Los formatos de registro para los tipos de registro ALMACEN y INVENTARIO
se muestran en las figuras 65 y 66. Note que si se fusionan las figuras 56 y 70, se tienen que
rediseñar los formatos de registro para el registro PARTE; esto es, para fusionar la figura 62 con la
74.
5.4 Ejemplo 3: La base de datos de una biblioteca.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
5.4.1 Identificación de los tipos de entidades.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 75 Diagrama ER para una base de datos de una Biblioteca.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Una biblioteca quiere conocer sus libros y proveer un sistema computarizado para la búsqueda
de libros por categorías, palabras claves o autores. tipos de entidades importantes son: LIBRO,
AUTOR, CLAVE, CATEGORIA y EMPLEADO (ver figura 75).
5.4.2 Identificación de tipos de relaciones.
Hay dos clases de relaciones entre las entidades AUTOR y LIBRO. Una es AUTOR-PRINCIPAL,
y el otro es CO-AUTOR (ver figura 75). Cada libro tiene un único autor principal, pero un autor
puede ser autor principal de varios libros. Por otro lado, cada libro puede tener varios co-autores (en
adición al autor principal), y cada autor puede ser co-autor de muchos libros. Hay dos clases de
relaciones entre las entidades CATEGORIA y LIBRO: Una es PRIMER-DIRECTOR, y la otra es
SEGUNDO-DIRECTOR. Cada libro pertenece a una sola categoría primaria pero puede pertenecer
a varias categorías secundarias. Por ejemplo, un libro relacionado con "química física" puede tener
"química" como categoría primaria y "física" como categoría secundaria. Hay también un tipo de
relación llamado SUBCATEGORIA que es definida entre la entidades CATEGORIA ; esto es,
cada categoría puede ser dividida en subcategorías. Por ejemplo, "ciencia" puede ser dividida en
"física", "química", "matemática", etc. Similarmente, hay dos clases de relaciones entre las
entidades CLAVE y LIBRO: una es CLASIFICACION-PRIMARIA, y otro es CLASIFICACIONSECUNDARIA. Cada palabra clave puede ser dividida en varias sub-llaves. En adición, cada
palabra clave puede tener varios sinónimos. Por ejemplo, "memoria del computador", "memoria
principal" y "memoria central" son sinónimos. Hay dos clases de relaciones entre las entidades
EMPLEADO Y LIBRO: una es PRESTAMO, y el otro es SOLICITUD. Cada empleado puede
prestar varios libros, pero un libro usualmente es autorizado por un solo empleado. Si un empleado
no puede encontrar un libro en la biblioteca, el puede solicitar a la biblioteca se lo guarde cuando lo
regresen. La relación SOLICITUD es un mapeo muchos-a- muchos.
5.4.3 Dibujar un diagrama E-R.
El diagrama E-R de la base de datos de la biblioteca se muestra en la figura 75. Note que se
puede combinar la figura 75 con la figura 50 y la figura 67 para obtener un diagrama E-R grande.
5.4.4 Identificar los tipos de valores y atributos.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 76 Atributos y valores para Autor y Libro.
La figura 76 muestra los tipos de valores y atributos para AUTOR y LIBRO. Una entidad
AUTOR tiene dos atributos: NOMBRE y FECHA-NACIMIENTO. Un entidad LIBRO tiene cuatro
atributos: FECHA-PUBLICACION, TITULO, EDICION, y ISBN.
Figura 77 Atributos y valores para Categoría y Segundo-director.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
La figura 77 ilustra los tipos de valores y atributos para CATEGORIA Y
SEGUNDO-DIRECTOR. Cada entidad CATEGORIA tiene un nombre como "física" o "química".
Una relación SEGUNDO-DIRECTOR tiene un atributo llamado RELEVANCIA que es un valor
numérico (tal como 0.1, 0.55, 0.9) asignado por un bibliotecario para indicar el grado de
acercamiento entre un libro y una categoría secundaria. La categoría primaria tiene 1.0 como
acercamiento. El concepto de "RELEVANCIA" estrecha la búsqueda en la base de datos.
Figura 78 Atributos y valores para Clave y Clasificación-secundaria.
Similarmente, Una relación CLASIFICACION-SECUNDARIA en la figura 78 tiene un atributo
llamado RELEVANCIA.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 79 Atributos y valores para Empleado, Préstamo y solicitud.
Los tipos de valores y atributos para EMPLEADO, PRESTAMO, y SOLICITUD son mostrados
en la figura 79. Un EMPLEADO tiene dos atributos: EMPLEADO-NO y NOMBRE. Una relación
PRESTAMO tiene dos atributos: FECHA-PRESTAMO y FECHA-ENTREGA. Esta información
puede ayudar al bibliotecario que libro no ha sido devuelto. Una relación SOLICITUD tiene un
atributo llamado FECHA-SOLICITUD, que provee la información necesaria para el bibliotecario
para asignar el libro al empleado apropiado cuando el libro se encuentre disponible.
5.4.5 Traslación del diagrama E-R al diagrama estructura dato.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 80 Diagrama Estructura-dato derivado del diagrama ER de la figura 75.
Utilizando las reglas de traslación discutidas en la sección 4.2, el diagrama E-R en la figura 75
se traslada al diagrama estructura-dato mostrada en la figura 80. Todos los tipos de relaciones que
son mapeos uno-a-muchos son trasladados en conjuntos estructura-dato (flechas). Por ejemplo, el
tipo de relación AUTOR-PRINCIPAL se traslada en flecha. Todos los
tipos de relaciones que son mapeos muchos-a-muchos son trasladados en tipos de registros. Se da el
caso, la relación CO-AUTOR se traslada en un tipo de registro apuntado por dos flechas (una para
el registro AUTOR y otra para el tipo de registro LIBRO).
Los tipos de relaciones definidas entre entidades del mismo tipo son también trasladadas en tipos
de registros. Por ejemplo, el tipo de relación SUBCLAVE es trasladado en un tipo de registro.
5.4.6 Diseño del formato de registro.
Los formatos de los registros son similares a los discutidos en los dos ejemplos anteriores. Por lo
tanto, se omite la discusión aquí.
6. OTRAS CONSIDERACIONES EN EL DISEÑO LOGICO DE BASE DE DATOS
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
6.1 Otras reglas de traslación diagramas E-R a diagramas
estructura-dato.
Las reglas de traslación de diagramas E-R a diagramas estructura-dato discutidas en la sección
4.2 son generalmente utilizadas, pero no son las únicas. Se puede usar una regla de traslación
simple que traslada todos los tipos de relaciones en tipos de registros, sin importar que tipo de
mapeos tienen (muchos-a-muchos, uno-a-muchos, etc.).
Figura 81 Diagrama estructura-dato derivado del diagrama ER de la figura 50.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 82 Otro diagrama Estructura-dato derivado del diagrama ER de la figura 67.
Usando esta regla, el diagrama E-R de la figura 50 será trasladado a la figura 81 envés de la figura
56. El diagrama en la figura 67 debe ser trasladado en la figura 82 envés de la figura 70. Note que
todos los tipos de relación son trasladados en tipos de registros excepto los tipos de relaciones de
dependencia "existencia y ID". Por ejemplo, el tipo de relación entre ORDEN y LINEA en la figura
67 es trasladado en un conjunto estructura-dato (una flecha) en la figura 67.
Usando esta regla simplificada, el diagrama resultante estructura-dato será más complicado y
menos eficiente en la recuperación y actualización. Sin embargo, puede proveer un alto nivel de
independencia de los datos. Esto es, los programas y las estructuras de las bases de datos no
necesariamente se cambian cuando se cambia un tipo particular de relación de uno-a-muchos a
muchos-a-muchos. Este cambio en los tipos de mapeos convertirá el conjunto estructura-dato en un
tipo de registro o viceversa si las reglas de traslación de la sección 4.2 se utilizan, pero ningún
cambio se requiere si la regla simple de esta sección es usada.
6.2 Modificaciones del diagrama estructura-dato por razones de
eficiencia y almacenamiento.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 83 Registro Empleado-maestro.
Figura 84 Registro Empleado-detalle.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 85 Diagrama estructura-dato para Empleado-maestro y Empleado-detalle.
Después de obtener los diagramas estructura-dato de el diagrama E-R usando las reglas de
traslación, se quieren modificar los diagramas para obtener una eficiencia del sistema mejor o para
utilizar mejor el espacio de almacenamiento. Por ejemplo, se puede abrir el registro EMPLEADO
en las figuras 56, 58 y 81 en dos registros. Un registro MAESTRO-EMPLEADO que contiene los
campos EMPLEADO-NO, FECHA-NACIMIENTO Y SUELDO (ver figura 83). Otro es el registro
DETALLE-EMPLEADO que contiene los campos FECHA-INICIO-EN- DEPARTAMENTO,
TELEFONO-OFICINA Y TELEFONO-CASA (ver figura 84). Note que un apuntador es necesario
para conectar la ocurrencia de estos dos tipos de registros. El diagrama estructura-dato en las figuras
56 y 81 se modifican añadiendo la figura 85. Una de las razones para abrir un registro en dos o tres
registros es mejorar la eficiencia de recuperación. Por ejemplo, se podría esperar que el campo en el
registro MAESTRO-EMPLEADO serán utilizados más que los campos en el registro DETALLEEMPLEADO. Ya que no se quiere recuperar el dato que no se necesita, es buena idea abrir el
registro en dos registros. Otra razón para abrir un registro en dos se debe a las limitaciones de
tamaño. En algunos casos debido a limitaciones de Hardware/ software, es preferible limitar el
tamaño del registro a una longitud fija (sea 256 bytes). Si un registro "conceptual" es mayor que el
máximo de longitud del registro, el registro "conceptual" debe abrirse en dos o más.
Figura 86 Un nuevo registro Cliente.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 87 Registro Dirección-envío.
Otra práctica común es factorizar los grupos repetitivos. Por ejemplo, el DIRECCION-ENVIO
en la figura 68 y 71 es un grupo repetitivo (p.e. hay muchos valores de datos para este atributo). Se
puede sacar este campo y ponerlo en un nuevo registro llamado DIRECCION-ENVIO (ver figura
86 y 87). Los diagramas de estructura-dato en la figura 70 y 82 se modificarán agregando la figura
88 a los diagramas.
Figura 88 Diagrama Estructura-dato para Cliente y Dirección- envío.
Note un diagrama E-R puede ser trasladado en muchos diagramas diferentes estructura-dato para
satisfacer los diferentes procesos de datos. Por lo tanto, se recomienda que el diseñador de la base
de datos comience con diagramas de E-R y entonces traslade a diagramas estructura-dato ajustables
a este ambiente.
VII DISEÑO DE BASES DE DATOS JERARQUICOS.
Un sistema de base de datos jerárquico tal como IBM IMS, los datos se organizan en registros
jerárquicos (ver figura 7). En esta sección se da una breve discusión sobre como usar el diagrama
E-R para el diseño de la base de dato jerárquico.
7.1 Reglas de traslación.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 89 Mapeo muchos a muchos.
Ya que los tipos de las relaciones jerárquicas permiten mapeos uno-a-muchos, se traslada los
tipos de relaciones con mapeos muchos-a-muchos en estructura jerárquicas. Hay al menos cinco
posibles estructuras lógicas para el diagrama E-R de el PROYECTO-EMPLEADO en la figura 89.
Estas cinco estructuras lógicas de datos se listan así:
Figura 90 Proyecto como registro hijo de Empleado.
(1) El tipo de registro PROYECTO es tratado como un registro "hijo" (o registro subordinado)
para tipo de registro EMPLEADO (ver figura 90). Esta estructura lógica será eficiente para ciertos
tipos de colas no para todas. Por ejemplo, si se quieren encontrar todos los empleados asociados
con un proyecto particular, se tiene que hacer una búsqueda exhaustiva de toda la base de datos.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 91 Empleado como registro hijo de Proyecto.
(2)El tipo de registro EMPLEADO es tratado como un registro "hijo" para el tipo de registro
PROYECTO (ver figura 91). Una búsqueda exhaustiva de toda base de datos será necesaria si se
quieren encontrar todos los proyectos asociados con empleado particular.
Figura 92 Dos bases de datos.
(3)Ya que ni la estructura lógica en la figura 90 ni en la figura 91 puede ser eficiente para todo tipo
de colas, se debe mantener dos bases de datos como se muestra en la figura 92. Pero requiere el
mantenimiento de datos redundantes.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 93 Proyecto como padre lógico de Proyecto-empleado.
(4)En IMS, se escoge la estructura lógica en la figura 93 tal que el tipo de registro EMPLEADO
será "el padre físico" de PROYECTO-EMPLEADO, y el tipo de registro PROYECTO será el
"padre lógico".
Figura 94 Empleado como padre lógico de Proyecto-empleado.
(5)Una alternativa en IMS es hacer el tipo de registro EMPLEADO "el padre lógico" envés de
"padre físico" de el tipo de registro PROYECTO-EMPLEADO (ver figura 94).
7.2 Ejemplo.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Figura 95 Base de datos jerárquica para el diagrama ER de la figura 67.
Para el diagrama E-R de la base de datos pedido-entrada (figura 67), se puede derivar muchas
posibles estructuras lógicas jerárquicas. Una estructura se muestra en la figura 95 en donde el tipo
de registro LINEA es el "hijo físico" de el tipo de registro ORDEN y el "hijo lógico" de el tipo de
registro PARTE.
Note que la figura 95 puede ser modificada (p.e. abriendo o fusionando tipos de registros) para
cumplir los requerimientos de eficiencia y almacenamiento.
VIII ANOTACIONES FINALES.
En este publicación, se ha trazado un nuevo enfoque al diseño lógico de las bases de datos:
Enfoque Entidad-Relación. La base del enfoque ha sido probada en ambientes reales y se ha
encontrado fácil de entender y fácil de usar. En particular, los diagramas E-R son valiosos y
herramientas efectivas de comunicación entre gente de sistemas y gente que no trabaja con
sistemas.
Uno de cada cuatro proyectos del M.I.T. desarrolla diagramas detallados y estandarizados E-R
para varias industrias como manufacturera, bancos, ventas, etc, para ser utilizados en el diseño de
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
base de datos o en sistemas de planeación. En la referencia se dan algunos trabajos importantes
realizados. Cualquier sugerencia para mejoramiento del enfoque E-R será bienvenida.
Curso de Base de Datos - Documento borrador de trabajo - ICF.
Página 1
Descargar