Coronel-2011-Capitulo 4-Modelo Entidad Relacion PDF

Title Coronel-2011-Capitulo 4-Modelo Entidad Relacion
Author Liam Sebastian
Course Legislación informática
Institution Universidad UTE
Pages 36
File Size 2 MB
File Type PDF
Total Downloads 48
Total Views 129

Summary

resumen 1...


Description

En este capítulo, el lector aprenderá: Las principales características de los componentes entidad-relación Cómo las relaciones entre entidades se definen, refinan e incorporan en el proceso de diseño de base de datos La forma en que los componentes del ERD afectan el diseño y la implementación de una base de datos Que el diseño de una base de datos real a veces requiere la reconciliación de metas conflictivas.

Este capítulo amplía la cobertura del aspecto del modelado de datos del diseño de una base de datos. El modelado de datos es el primer paso para diseñar una base de datos, sirviendo como puente entre objetos reales y el modelo de base de datos que se

Vista Previa

implementa en la computadora. Por tanto, la importancia de los detalles para modelar datos, expresada gráficamente mediante diagramas entidad-relación (ERD), no se puede exagerar. Casi todos los conceptos básicos y definiciones que se emplean en el modelo entidadrelación (ERM) se introdujeron en el capítulo 2, Modelos de datos. Por ejemplo, los componentes básicos de entidades, relaciones y su representación ahora ya deben serle familiares. Este capítulo profundiza más en este aspecto, analizando la descripción gráfica de relaciones entre las entidades y mostrando cómo las descripciones ayudan a resumir la abundancia de datos requerida para implementar un diseño satisfactorio. Por último, el capítulo ilustra cómo los objetivos en conflicto pueden ser un desafío en el diseño de una base de datos, lo que posiblemente requirirá que usted haga arreglos de diseño.

4 CAPÍTULO

Modelado de entidad-relación (ER)

100

C A P Í T U L O

4

Nota Debido a que este libro se concentra generalmente en el modelo relacional, el lector podría estar tentado a concluir que el ERM es exclusivamente una herramienta relacional. En realidad, los modelos conceptuales como el ERM se pueden usar para entender y diseñar las necesidades de datos de una organización. Por tanto, el ERM es independiente del tipo de base de datos. Los modelos conceptuales se usan en el diseño conceptual de bases de datos, en tanto que los modelos relacionales se usan en el diseño lógico. No obstante, como el lector ahora está familiarizado con el modelo relacional desde el capítulo previo, es el que se usa extensamente en este capítulo para explicar los conductos del ER y la forma en que se usan para desarrollar diseños de bases de datos.

4.1

EL MODELO ENTIDAD-RELACIÓN (ERM)

Debemos recordar del capítulo 2, Modelos de datos y del capítulo 3, El modelo de base de datos relacional, que el ERM forma la base de un ERD. El ERD representa la base de datos conceptual como es vista por el usuario final. Los ERD describen los principales componentes de la base de datos: entidades, atributos y relaciones. Como una entidad representa un objeto real, las palabras entidad y objeto a veces se usan indistintamente. Así, las entidades (objetos) del diseño de la base de datos Tiny College desarrolladas en este capítulo incluyen estudiantes, grupos, profesores y salones de clase. El orden en el que los componentes del ERD se traten en el capítulo está dictado por la forma en que se usan las herramientas de modelado para desarrollar los ERD que puedan formar el fundamento del diseño y la implementación exitosos de una base de datos. En el capítulo 2, el lector también aprendió tres notaciones empleadas con los ERD, la notación Chen original y las más recientes notaciones “pata de gallo” y UML. Las primeras dos se usan al principio de este capítulo para introducir algunos conceptos básicos de modelado entidad-relación (ER). Algunos conceptos de modelado de base de datos conceptual se pueden expresar usando sólo la notación Chen. No obstante, como el énfasis está en el diseño e implementación de bases de datos, las notaciones de diagrama de clase “pata de gallo” y UML se usan para el ejemplo final del diagrama ER de Tiny College. Por el énfasis en la implementación, la notación de “pata de gallo” puede representar sólo lo que pudiera llevarse a cabo. En otras palabras: • La notación Chen favorece el modelo conceptual. • La notación “pata de gallo” favorece un método más orientado a la implementación. • La notación UML se puede usar para modelado conceptual e implementación.

C O N T E N I D O

E N

L Í N E A

Para aprender cómo crear diagramas ER con ayuda de Microsoft Visio, consulte el sitio web Premium para este libro: • Apéndice A, Diseño de bases de datos con Visio Profesional: un tutorial muestra cómo crear los ERD de “pata de gallo”. • Apéndice H, Lenguaje de modelado unificado (UML) muestra cómo crear diagramas de clase UML.

4.1.1 Entidades Recuerde que una entidad es un objeto de interés para el usuario final. En el capítulo 2, el estudiante aprendió que en el nivel de modelado ER, una entidad se refiere al conjunto entidad y no a un caso de entidad individual. En otras palabras, la palabra entidad del ERM corresponde a una tabla, no a un renglón, del ambiente relacional. El ERM se refiere a un renglón de una tabla como una instancia de entidad o caso de entidad. En las notaciones Chen y de “pata de gallo”, una entidad se representa con un rectángulo que contiene el nombre de la entidad, el cual es un sustantivo y por lo general se escribe en letras mayúsculas.

M O D E L A D O

D E

E N T I D A D - R E L A C I Ó N

( E R )

4.1.2 Atributos Los atributos son características de las entidades. Por ejemplo, la entidad STUDENT (ESTUDIANTE) incluye, entre muchos otros, los atributos STU_LNAME, STU_FNAME y STU_INITIAL. En la notación Chen original, los atributos se representan con óvalos y están enlazados al rectángulo de entidad mediante una línea. Cada óvalo contiene el nombre del atributo que representa. En la notación “pata de gallo”, los atributos se escriben en la caja de atributo abajo del rectángulo de entidad (figura 4.1). Como la representación Chen consume mucho espacio, algunos vendedores de software han adoptado la exhibición de atributo “pata de gallo”.

FIGURA

4.1

Atributos de la entidad STUDENT: Chen y “pata de gallo”

Modelo Chen

Modelo “pata de gallo”

STU_INITIAL

STUDENT

STU_FNAME

STU_LNAME

STU_EMAIL

STUDENT

STU_PHONE

STU_LNAME STU_FNAME STU_INITIAL STU_EMAIL STU_PHONE

Atributos requeridos y opcionales Un atributo requerido es aquel que debe tener un valor; en otras palabras, no puede dejarse vacío. Como se ve en la figura 4.1, hay dos atributos en letras negritas en la notación “pata de gallo”. Esto indica que se requiere una entrada de datos. En este ejemplo, STU_LNAME y STU_FNAME requieren entradas de datos por la suposición de que todos los estudiantes tienen un apellido y un nombre. Pero los estudiantes podrían no tener apellido materno y quizá no tengan (todavía) número telefónico y dirección de correo electrónico. Por tanto, esos atributos no se presentan en negritas en la caja de entidad. Un atributo opcional es aquel que no requiere un valor y, por tanto, puede dejarse vacío.

Dominios Los atributos tienen un dominio. Como aprendimos en el capítulo 3, un dominio es el conjunto de valores posibles para un atributo dado. Por ejemplo, el dominio para el atributo de promedio de calificaciones (GPA) se escribe (0, 4) porque el valor de GPA más bajo posible es 0 y el más alto es 4. El dominio para el atributo de género está formado por sólo dos posibilidades: M o F (o algún otro código equivalente). El dominio para el atributo de la fecha de contratación de una compañía está formado por todas las fechas que entren en un lapso (por ejemplo, fecha de inicio en la compañía hasta la fecha actual). Los atributos pueden compartir un dominio. Por ejemplo, la dirección de un estudiante y la de un maestro comparten el mismo dominio de todas las direcciones posibles. De hecho, el diccionario de datos puede hacer que un atributo recién declarado herede las características de un atributo existente si se usa el mismo nombre de atributo. Por ejemplo, las entidades PROFESSOR (PROFESOR) y STUDENT pueden tener cada uno un atributo llamado ADDRESS (DIRECCIÓN) y por tanto podrían compartir un dominio.

Identificadores (llaves primarias) El ERM usa identificadores, esto es, uno o más atributos que de manera única identifican cada instancia de entidad. En el modelo relacional, tales identificadores están asociados a llaves primarias (PK) en tablas. Los identificadores van subrayados en el ERD. Los atributos llave también están subrayados en una notación breve de estructura de tabla que se usa con frecuencia con el formato: TABLE NAME (KEY ATTRIBUTE 1, ATTRIBUTE 2, ATTRIBUTE 3,. . . ATTRIBUTE K)

101

102

C A P Í T U L O

4

Por ejemplo, una entidad CAR puede estar representada por: CAR (CAR VIN, MOD_CODE, CAR_YEAR, CAR_COLOR) (Cada carro está identificado por un número único de identificación del vehículo, o CAR_VIN.)

Identificadores compuestos En el ideal, un identificador de entidad está compuesto de sólo un atributo. Por ejemplo, la tabla de la figura 4.2 usa una llave primaria de un solo atributo llamado CLASS_CODE. No obstante, es posible usar un identificador compuesto, es decir, una llave primaria compuesta de más de un atributo. Por ejemplo, el administrador de base de datos Tiny College puede decidir identificar cada instancia (caso) de entidad CLASS (CLASE) usando una llave primaria compuesta formada por la combinación de CRS_CODE y CLASS_SECTION en lugar de usar CLASS_CODE. Cualquiera de los dos métodos identifica cada instancia de entidad. Dada la estructura en uso de la tabla CLASS (CLASE) de la figura 4.2, CLASS_CODE es la llave primaria y la combinación de CRS_CODE y CLASS_SECTION es una llave candidata apropiada. Si el atributo CLASS_CODE es eliminado de la entidad CLASS, la llave candidata (CRS_CODE y CLASS_SECTION) se convierte en una llave primaria compuesta aceptable.

FIGURA

4.2

Componentes y contenido (de entidad) de la tabla CLASS

Nota Recuerde que en el capítulo 3 se hizo una distinción comúnmente aceptada entre COURSE (CURSO) y CLASS. Una CLASS constituye un tiempo y lugar específicos de una oferta de COURSE. Una clase está definida por la descripción del curso, su tiempo y lugar, o sección. Considere un profesor que imparte clase de Base de datos I, sección 2; Base de datos I, sección 5; Base de datos I, sección 8; Hoja de Cálculo II, sección 6. Ese profesor enseña dos cursos (Base de datos I y Hoja de Cálculo II), pero cuatro clases. Típicamente, las ofertas COURSE se imprimen en un catálogo de curso, mientras que las ofertas CLASS se imprimen en un programa de clases para cada semestre o trimestre.

Si la CLASS_CODE de la figura 4.2 se usa como llave primaria, la entidad CLASS puede estar representada en forma abreviada por: CLASS (CLASS_CODE, CRS_CODE, CLASS_SECTION, CLASS_TIME, ROOM_CODE, PROF_NUM)

M O D E L A D O

D E

E N T I D A D - R E L A C I Ó N

( E R )

Por otra parte, si se elimina CLASS_CODE y la llave primaria compuesta es la combinación de CRS_CODE y CLASS_ SECTION, la entidad CLASS puede estar representada por: CLASS (CLASS_CODE, CLASS_SECTION, CLASS_TIME, PROF_NUM) Nótese que ambos atributos de llave están subrayados en la notación de entidad.

Atributos compuestos y simples Los atributos se clasifican como sencillos o compuestos. Un atributo compuesto, no confundir con una llave compuesta, es un atributo que puede subdividirse más para dar atributos adicionales. Por ejemplo, el atributo ADDRESS puede subdividirse en calle, ciudad, estado y código postal. Del mismo modo, el atributo PHONE_NUMBER (NÚMERO DE TELÉFONO) subdividirse en clave LADA y número de extensión. Un atributo simple es aquel que no puede subdividirse. Por ejemplo, edad, sexo y estado civil se clasificarían como atributos simples. Para facilitar consultas detalladas, es bueno cambiar atributos compuestos en una serie de atributos simples.

Atributos de un solo valor Un atributo de un solo valor es el que puede tener sólo un valor simple. Por ejemplo, una persona puede tener sólo un número de Seguro Social y una pieza manufacturada puede tener sólo un número de serie. Recuerde que un atributo de un solo valor no es necesariamente un atributo simple. Por ejemplo, el número de serie de una pieza, SE-08-02-189935, es de un solo valor; pero es un atributo compuesto porque puede subdividirse en la región en la que se produjo la pieza (SE), la planta dentro de esa región (08), el turno dentro de la planta (02) y el número de la pieza (189935).

Atributos de valores múltiples Los atributos de valores múltiples son los que tienen muchos valores. Por ejemplo, una persona puede tener varios títulos universitarios y una familia puede tener varios teléfonos, cada uno con su propio número. Del mismo modo, el color de un automóvil puede subdividirse en numerosos colores (esto es, colores para el techo, carrocería y acabados interiores). En el ERM de Chen, los atributos de valores múltiples se muestran con una línea doble que enlaza el atributo a la entidad. La notación de “pata de gallo” no identifica atributos de valores múltiples. El ERD de la figura 4.3 contiene todos los componentes presentados hasta este punto. En la figura 4.3, nótese que CAR_VIN es la llave primaria y CAR_COLOR es un atributo de valores múltiples de la entidad CAR.

FIGURA

4.3

Atributo de valor múltiple en una entidad

Modelo Chen

Modelo de “pata de gallo” CAR

MOD_CODE

CAR_VIN

CAR_YEAR

CAR

CAR_COLOR

PK

CAR VIN MOD_CODE CAR_YEAR CAR_COLOR

103

104

C A P Í T U L O

4

Nota En los modelos ERD de la figura 4.3, la llave foránea (FK) de la entidad CAR se ha escrito como MOD_ CODE. Este atributo se agregó manualmente a la entidad. En realidad, el uso apropiado de software de modelado de bases de datos producirá en forma automática la FK cuando se defina la relación. Además, el software marcará la FK en forma apropiada y escribirá los detalles de su implementación en un diccionario de datos. Por tanto, cuando usemos software de modelado de base de datos como Visio Professional, nunca escriba usted el atributo de la FK; permita que el software maneje esa tarea cuando la relación entre las entidades está definida. (Se puede ver cómo se hace esto en el Apéndice A, Diseño de bases de datos con Visio Professional: un tutorial, en el sitio web Premium.)

Implementación de atributos de valores múltiples Aun cuando el modelo conceptual puede manejar relaciones M:N y atributos de valores múltiples, usted no debe implementarlos en el RDBMS. Recuerde del capítulo 3 que, en la tabla relacional, cada intersección de columna/renglón representa un solo valor de datos. Por tanto, si existen atributos de valores múltiples, el diseñador debe decidir sobre uno de dos posibles cursos de acción: 1. Dentro de la entidad original, genere varios nuevos atributos, uno por cada uno de los componentes originales del atributo de valores múltiples. Por ejemplo, el atributo CAR_COLOR (COLOR DE CARRO) de la entidad CAR se puede dividir para crear los nuevos atributos CAR_TOPCOLOR, CAR_BODYCOLOR y CAR_TRIMCOLOR (COLOR DE TECHO, DE CARROCERÍA Y DE ACABADOS INTERIORES), que se asignan entonces a la entidad CAR (figura 4.4).

FIGURA

4.4

División del atributo de valores múltiples en nuevos atributos

Modelo Chen

Modelo de “pata de gallo” CAR

CAR_YEAR MOD_CODE

CAR_VIN

CAR_TOPCOLOR

CAR

CAR_TRIMCOLOR

PK

CAR VIN MOD_CODE CAR_YEAR CAR_TOPCOLOR CAR_TRIMCOLOR CAR_BODYCOLOR

CAR_BODYCOLOR

Aun si esta solución parece funcionar, su adopción puede llevar a problemas estructurales importantes en la tabla. Por ejemplo, si para algunos carros se agregan más componentes de color (por ejemplo un color de logo), la estructura de la tabla debe modificarse para acomodarlos. En ese caso, los carros que no tengan esas secciones en color generan nulos para los componentes no existentes, o sus entradas de color para esas secciones se introducen como N/A para indicar “no aplicable”. (Imaginemos la forma en que la solución en la figura 4.4, es decir, dividir un atributo de valores múltiples en nuevos atributos, causaría problemas si se aplicara a una entidad de empleado que contenga títulos y certificados de empleados. Si algunos empleados tienen 10 títulos y certificados cuando la mayoría tiene menos o ninguno, el número de atributos de título/certificados sería el número 10 y casi todos esos valores de atributo serían nulos para la mayoría de los empleados.) En pocas palabras, aun cuando se haya visto la solución 1 ya aplicada, no es una solución aceptable. 2. Genere una nueva entidad compuesta de los componentes originales del atributo de valores múltiples. Esta nueva entidad permite que el diseñador defina colores para diferentes secciones del carro (tabla 4.1). Entonces, esta nueva entidad CAR_COLOR está relacionada con la entidad original CAR en una relación 1:M.

M O D E L A D O

TABLA

4.1

SECCIÓN Techo Carrocería Acabados interiores

FIGURA

7.5

Componentes del atributo de valores múltiples COLOR Blanco Azul Oro Azul

D E

E N T I D A D - R E L A C I Ó N

( E R )

Usando el método que se ilustra en la tabla 4.1, hasta se obtiene un beneficio complementario: se pueden asignar tantos colores como sea necesario sin tener que cambiar la estructura de la tabla. Nótese que el ERM que se ilustra en la figura 4.5 refleja los componentes que aparecen en la tabla 4.1. Ésta es la forma preferida para trabajar con atributos de valores múltiples. Crear una nueva entidad en una relación 1:M con la entidad original da varios beneficios: es una solución más flexible, que se puede ampliar y es compatible con el modelo relacional.

Nuevo conjunto de entidad compuesto por componentes de atributo de valores múltiples

CAR_COLOR

CAR PK

CAR_VIN MOD_CODE CAR_YEAR

tiene

PK,FK1 PK

CAR_VIN COL_SECTION COL_COLOR

Atributos derivados Por último, un atributo se puede clasificar como atributo derivado. Un atributo derivado es aquel cuyo valor se calcula (deriva) a partir de otros atributos. No es necesario guardar el atributo derivado dentro de la base de datos; en cambio, puede ser derivado con el uso de un algoritmo. Por ejemplo, la edad de un empleado, EMP_AGE (EDAD DE EMPLEADO), puede encontrarse si se calcula el valor entero de la diferencia entre la fecha actual y el EMP_DOB. Si se usa Microsoft Access, se emplearía la fórmula INT((DATE() - EMP_DOB)/365). En Microsoft SQL Server, se utilizaría SELECT DATEDIFF(“YEAR”, EMP_DOB, GETDATE()), donde DATEDIFF es una función que calcula la diferencia entre fechas. El primer parámetro indica la medida, en este caso, años. Si se usa Oracle, se emplearía SYSDATE en lugar de DATE(). (Se supone, claro, que el EMP_DOB se guardó en el formato de calendario juliano.) Del mismo modo, el costo total de un pedido se puede derivar con sólo multiplicar la cantidad ordenada por el precio unitario. O bien, el promedio de rapidez estimado se puede derivar dividiendo la distancia de viaje entre el tiempo empleado en ruta. Un atributo derivado se indica en la notación Chen mediante una línea interrumpida que enlaza el atributo y la entidad (figura 4.6). La notación de “pata de gallo” no tiene un método para distinguir el atributo derivado de entre otros atributos. Los atributos derivados a veces se conocen como atributos calculados. El cálcul...


Similar Free PDFs