Está en la página 1de 18

El modelo Entidad-relaci on

Juan Ignacio Rodr guez de Le on

Resumen Presenta el modelo entidad-relaci on. Visi on de alto nivel de las cuestiones referentes a dise no de bases de datos y los problemas encontrados al intentar reejar la sem antica de aplicaciones reales dentro de los connes de un modelo de datos. Conceptos b asicos. Restricciones. Claves. Cuestiones de dise no. Diagrama entidad-relaci on. Conjuntos de entidades d ebiles. Caracter sticas del modelo E-R extendido. Dise no de un esquema de base de datos E-R. Reducci on de un esquema E-R a tablas. El lenguaje de modelado unicado UML

0.1.

CONCEPTOS BASICOS

Este modelo representa el mundo real mediante una colecci on de objetos b asicos, que denominamos entidades, y las relaciones entre estos objetos. 0.1.1. Conjunto de entidades

Una entidad es cualquier cosa o parte del mundo que es distinguible del resto. Por ejemplo, en un sistema bancario, las personas y las cuentas bancarias se podr an interpretar como entidades. Las entidades pueden representar entes concretos, como una persona o un avi on, o abstractas, como por ejemplo un pr estamo o una reserva. El conjunto de todas las entidades del mismo tipo se denomina conjunto de entidades. Las entidades del mismo tipo tienen todas los mismos atributos. Las entidades tienen un conjunto de propiedades, que se denomina atributos (por ejemplo, n umero de cuenta, saldo y fecha de alta pueden ser atributos de la entidad cuenta). Cada entidad tiene un valor en cada uno de sus atributos. Habitualmente uno o m as atributos sirven para identicar un vocamente una entidad. Por ejemplo, el n umero de la Seguridad Social podr a servir para identicar de manera un voca a una persona 1 . Un atributo, usado en un modelo E-R, se puede caracterizar por los siguientes tipos de atributos.
Y de hecho as lo hace, en los sistemas inform aticos de la seguridad social (El NIF no se debe utilizar, debido a problemas como la existencia de n umeros duplicados, entre otros).
1

2 Atributos simples y compuestos. Los atributos simples no est an divididos en subpartes, los compuestos si. Un ejemplo de atributo compuesto podr a ser fecha, que se subdividir a en fecha.dia, fecha.mes y fecha.anio. Los atributos compuestos ayudan a agrupar los atributos relacionados, haciendo el modelo m as claro. Las subpartes de un atributo complejo no tienen por que ser atributos simples, pueden ser a su vez atributos complejos, formando una jerarqu a. Atributos monovalorados y multivalorados. Los atributos que solo pueden tener un u nico valor se denominan monovalorados. Los que pueden tener simult aneamente m as de un valor se denominan multivalorados. Como ejemplo de un atributo multivalorado consid erese el atributo tel efono, que podr a tener 0, 1 o N valores. Se pueden denir restricciones, tanto en el l mite inferior como en el l mite superior de los posibles valores simult aneos. Atributos derivados. Se denomina atributo derivado a aquel cuyo valor puede ser obtenido de los valores de otros atributos o entidades relacionadas. Por ejemplo, el atributo nombre completo podr a obtenerse de loa atributos nombre, primer apellido y segundo apellido. El valor de un atributo derivado normalmente no se almacena, sino que se calcula cuando sea necesario. Un atributo toma el valor nulo (NULL) cuando no tiene ning un valor, o cuando el valor del atributo se desconoce, ya sea porque est a perdido (El valor existe pero se ignora cual es) o desconocido (no se sabe si el valor existe o no). El valor nulo tambi en puede indicar no aplicable. 0.1.2. Conjuntos de relaciones

Una relaci on es una asociaci on entre varias entidades, y el conjunto de todas las relaciones del mismo tipo se denominan conjunto de relaciones. Formalmente, es una relaci on matem atica entre n conjuntos de entidades, siendo n 2. Sea E1 , E2 , . . . , En conjuntos de entidades, el conjunto de relaciones R es un subconjunto de: {(e1 , e2 , . . . , en )|e1 E1 , e2 E2 , . . . , en En } donde (e1 , e2 , . . . , en ) es una relaci on. La asociaci on entre conjuntos de entidades se conoce como participaci on, es decir, los conjuntos de entidades E1 , E2 , . . . , En participan en el conjunto de relaciones R. La funci on que realiza una entidad en una relaci on se llama papel de la entidad. Los papeles son u tiles cuando se necesita aclarar el signicado

3 de una relaci on.Un ejemplo podr a ser cuando una entidad participa m as de una vez en una relaci on (conjunto de relaciones recursivo). En este caso es m as claro hacer expl citos los papeles. Por ejemplo, consid erese una conjunto de entidades empleado que almacena informaci on acerca de todos los empleados del banco. Se puede tener un conjunto de relaciones trabaja-para que se modela mediante pares ordenados de entidades empleado. El primer empleado de un par toma el papel de trabajador, mientras el segundo toma el papel de jefe. Una relaci on puede tener tambi en atributos descriptivos. No obstante, Un ejemplar de relaci on en un conjunto de relaciones determinado debe ser identicado un vocamente a partir de sus entidades participantes, sin usar los atributos descriptivos. El n umero de conjuntos de entidades que participan en un conjunto de relaciones se denomina grado. La mayor parte de las relaciones en las bases de datos son binarias, es decir, de grado 2, pero ocasionalmente pueden aparecer conjuntos de relaciones en las cuales participan 3 o m as conjuntos de entidades.

0.2.

Restricciones

Un modelo E-R puede denir ciertas restricciones que los contenidos de la base de datos deben acatar. 0.2.1. Correspondencia de cardinalidades

La correspondencia de cardinalidades, o raz on de cardinalidad, expresa el n umero de entidades a las que otra entidad puede estar asociada v a un conjunto de relaciones. Para un conjunto de relaciones binarias R entre los conjuntos de entidades A y B, la correspondencia de cardinalidades debe ser una de las siguientes: Uno a uno. Una entidad en A se asocia con a lo sumo una entidad en B, y una entidad en B se asocia con a lo sumo una entidad en A Uno a varios. Una entidad en A se asocia con cualquier n umero de entidades en B (ninguna, una o varias). Una entidad en B, sin embargo, se puede asociar con a lo sumo una entidad en A Varios a uno. Una entidad en A se asocia con a lo sumo una entidad en B. Una entidad en B, sin embargo, se puede asociar con cualquier n umero de entidades (ninguna o varias) en A. (Es la misma que la anterior, vista desde el otro extremo).

4 Varios a varios. Una entidad en A se asocia con cualquier n umero de entidades (ninguna o varias) en B, y una entidad en B se asocia con cualquier n umero de entidades (ninguna o varias) en A 0.2.2. Restricciones de participaci on

La participaci on de un conjunto de entidades E en un conjunto de relaciones R se dice que es total si cada entidad en E participa al menos en una relaci on en R. Si s olo algunas entidades en E participan en relaciones en R, la participaci on del conjunto de entidades E en la relaci on R se llama parcial.

0.3.

Claves

Es necesario tener una forma de identicar un vocamente a la entidad. Para ello utilizaremos uno o varios atributos para formar una clave que nos permite distinguir las entidades entre s . Dos entidades diferentes tendr an, por tanto, claves diferentes. 0.3.1. Conjuntos de entidades

Una superclave es un conjunto de uno o m as atributos que, tomados colectivamente, permiten identicar de forma u nica una entidad en el conjunto de entidades. El concepto de una superclave no es suciente para lo que aqu se propone, ya que, como se ha visto, una superclave puede contener atributos innecesarios. Tal y como se ha denido, si K es una superclave, tambi en lo es cualquier superconjunto de K. A menudo interesan las superclaves tales que los subconjuntos propios de ellas no son superclave. Tales superclaves m nimas se llaman claves candidatas. Pueden existir distintas claves candidatas. Se denominar a clave primaria a aquella clave candidata que es elegida por el dise nador de la base de datos como identicar principal. La clave primaria se deber a elegir de manera que sus atributos nunca, o muy raramente, cambien. 0.3.2. Conjuntos de relaciones

De igual manera que se deni o una clave primaria para las entidades, se hace necesario denir un mecanismo similar para las relaciones. Sea R un conjunto de relaciones que involucra los conjuntos de entidades E1 , E2 , . . . , En , y sea clave prim(Ei) el conjunto de atributos que forma la clave primaria del conjunto de entidades Ei .

5 As umase, por el momento, que los nombres de los atributos de todas las claves primarias son u nicos y que cada conjunto de entidades participa s olo una vez en la relaci on. Si el conjunto de relaciones R no tiene atributos asociados, entonces el conjunto de atributos: clave prim(E1 ) clave prim(E2 ) . . . clave prim(En ) Identica de forma univoca a una relaci on individual en el conjunto R. Dicho de otra forma, la combinaci on de las claves primarias de las entidades relacionadas forman la clave de la relaci on. Si el conjunto de relaciones R tiene atributos a1 , a2 , . . . , am , asociados a el, entonces el conjunto de atributos: clave prim(E1 ) clave prim(E2 ) . . . clave prim(En ) {a1 , a2 , . . . , am } Describe una relaci on individual en el conjunto R. En ambos casos, la clave primaria ser a la misma. En el caso de que los nombres de atributos de las claves primarias no sean u nicos en todos los conjuntos de entidades, los atributos se renombran para distinguirlos. Si un conjunto de entidades participe m as de una vez en un conjunto de relaciones se usa el nombre del papel en lugar del nombre del conjunto de entidades para formar un nombre u nico de atributo.

0.4.

Cuestiones de dise no

A la hora de realizar un primer dise no, la primera pregunta que surge es decidir que representaremos como entidades y que representaremos como atributos. No hay respuestas simples. Las distinciones depender an de la estructura del problema que se est e modelando y de la sem antica asociada con el atributo en cuesti on. Un error com un es usar la clave primaria de un conjunto de entidades como un atributo de otro conjunto de entidades, en lugar de usar una relaci on. Por ejemplo, modelar id cliente como un atributo de pr estamo es incorrecto, incluso si cada pr estamo tiene s olo un cliente. Se debe hacer la conexi on expl cita, usando una relaci on, en lugar de impl cita, mediante un atributo. Otro error relacionado que se comete es incluir los atributos de la clave primaria de las entidades relacionados dentro del conjunto de relaciones. Esto no se deber a hacer, ya que los atributos de la clave primaria son ya impl citos en la relaci on. 0.4.1. Uso de conjuntos de entidades o conjuntos de relaciones

una buena raz on para elevar un atributo a la categor a de entidad es detectar que determinados datos se almacenan varias veces. Esto es con-

6 traproducente, por dos razones: por el aumento de consumo de espacio de almacenamiento y, aun m as grave, por que abre la posibilidad de que los datos est en en un estado inconsistente, pudiendo tener diferentes valores un atributo que solo deber a tener uno. 0.4.2. Conjuntos de relaciones binarias o n-arias

Las relaciones en las bases de datos son generalmente binarias. De hecho, siempre es posible reemplazar un conjunto de relaciones no binarias (n-aria, para n > 2) por varios conjuntos de relaciones binarias. Algunas relaciones que parecen no ser binarias podr an ser representadas mejor con varias relaciones binarias. Sin embargo, esta restricci on no siempre es deseable. Un atributo de identicaci on puede haber sido creado para el conjunto de entidades para representar el conjunto de relaciones. Este atributo, con los conjuntos de relaciones extra necesarios, incrementa la complejidad del dise no y los requisitos de almacenamiento. Un conjunto de relaciones n-arias muestra m as claramente que varias entidades participan en una relaci on simple. Podr a no haber una forma de traducir restricciones en la relaci on ternaria en restricciones sobre relaciones binarias. Por ejemplo, consid erese una restricci on que dice que R es varios a uno de A, B a C; es decir, cada par de entidades de A y B se asocia con a lo sumo una entidad C. Esta restricci on no se puede expresar usando restricciones de cardinalidad sobre los conjuntos de relaciones RA, RB y RC. 0.4.3. Ubicaci on de los atributos de las relaciones

Los atributos de los conjuntos de relaciones uno a uno o uno a varios pueden estar asociados con uno de los conjuntos de entidades participantes, en lugar de con el conjunto de relaciones. Para los conjuntos de entidades uno a uno, los atributos de la relaci on se pueden asociar con cualquiera de las entidades participantes. Por otra parte, Los atributos de un conjunto de relaciones uno a varios se pueden colocar s olo en el conjunto de entidades de la parte ((varios)) de la relaci on. Para relaciones varios a varios, si el atributo se determina mediante la combinaci on de los conjuntos de entidades participantes, no se presenta ning un dilema, el atributo deber a ir obligatoriamente en el conjunto de relaciones

Figura 1: Diagrama Entidad-Relaci on correspondiente a clientes y pr estamos

0.5.

Diagrama entidad-relaci on

Veremos ahora con mayor detalle los diagramas entidad-relaci on o diagramas E-R que se presentaron en el tema 1. Los diagramas E-R se representan usando los siguientes componentes: s mbolos Rect angulos Elipses Rombos L neas Representan Conjuntos de entidades Atributos Relaciones entre conjuntos de entidades Unen a los atributos con los conjuntos de entidades, y los conjuntos de entidades con las relaciones Atributos multivalorados Atributos derivados Participaci on total de una entidad en un conjunto de relaciones Conjuntos de entidades d ebiles

Elipses dobles Elipses discontinuas L neas dobles Rect angulos dobles

Consid erese el diagrama E-R de la gura 1.

Los atributos de un conjunto de entidades que son miembros de la clave primaria est an subrayados. El conjunto de relaciones prestatario puede ser varios a varios, uno a varios, varios a uno o uno a uno. Para distinguir entre estos tipos, se dibuja o una l nea dirigida () o una l nea no dirigida (). Una l nea dirigida desde el conjunto de relaciones prestatario al conjunto de entidades pr estamo especica que prestatario es un conjunto de relaciones

CONJUNTOS DE ENTIDADES DEBILES

uno a uno, o bien varios a uno, desde cliente a pr estamo; prestatario no puede ser un conjunto de relaciones varios a varios ni uno a varios, desde cliente a pr estamo Por tanto, el esquema:
d d d pr Cliente estamo d d d

Signica que un pr estamo puede haber sido concedido a uno o a varios clientes, pero que un cliente s olo puede tener asignado uno o ning un pr estamo (Donde est a la punta de la echa solo puede haber uno). Si un conjunto de relaciones tiene tambi en algunos atributos asociados a el, entonces se unen esos atributos a ese conjunto de relaciones. En los diagramas E-R se indican papeles mediante etiquetas en las l neas que unen rombos con rect angulos Los conjuntos de relaciones no binarias se pueden especicar f acilmente en un diagrama E-R. En el diagrama E-R se usan las l neas dobles para indicar que la participaci on de un conjunto de entidades en un conjunto de relaciones es total ; es decir, cada entidad en el conjunto de entidades aparece al menos en una relaci on en ese conjunto de relaciones. Los diagramas E-R tambi en proporcionan una forma de indicar restricciones m as complejas sobre el n umero de veces en que cada entidad participa en las relaciones de un conjunto de relaciones. Un segmento entre un conjunto de entidades y un conjunto de relaciones binarias puede tener una cardinalidad m nima y m axima, mostrada de la forma m n..m ax, donde m n es la m nima cardinalidad y m ax es la m axima. Un valor m nimo de 1 indica una participaci on total del conjunto de entidades en el conjunto de relaciones. Un valor m aximo de 1 indica que la entidad participa de a lo sumo una relaci on, mientras que un valor m aximo de * indica que no hay l mite. N otese que una etiqueta 1..* en un segmento es equivalente a una l nea doble.

1.

Conjuntos de entidades d ebiles

Un conjunto de entidades puede no tener sucientes atributos para formar una clave primaria. Tal conjunto de entidades se denomina conjunto de entidades d ebiles. Un conjunto de entidades que tiene una clave primaria se denomina conjunto de entidades fuertes. Para que un conjunto de entidades d ebiles tenga sentido, debe estar asociada con otro conjunto de entidades, denominado el conjunto de entidades identicadoras o propietarias. Cada entidad d ebil debe estar asociada con una entidad identicadora; es decir, se dice que el conjunto de entidades

CARACTER ISTICAS DEL MODELO E-R EXTENDIDO

d ebiles depende existencialmente del conjunto de entidades identicadoras. Se dice que el conjunto de entidades identicadoras es propietaria del conjunto de entidades d ebiles que identica. La relaci on que asocia el conjunto de entidades d ebiles con el conjunto de entidades identicadoras se denomina relaci on identicadora. La relaci on identicadora es varios a uno del conjunto de entidades d ebiles al conjunto de entidades identicadoras y la participaci on del conjunto de entidades d ebiles en la relaci on es total. Ejemplos t picos de entidades fuertes y d ebiles ser an facturas y l neas de factura, o prestamos y pagos. Para distinguir entre si a las entidades d ebiles que dependen de una entidad fuerte se usa un discriminante, que ser a un conjunto de atributos que permite diferenciar una entidad d ebil de otra (Por ejemplo, el atributo n umero de linea en l nea de factura). El discriminante de un conjunto de entidades d ebiles se denomina la clave parcial del conjunto de entidades La clave primaria de un conjunto de entidades d ebiles se forma con la clave primaria del conjunto de entidades identicadoras, m as la clave parcial del conjunto de entidades d ebiles. (Por ejemplo, en el caso de las facturas, n umero de factura y n umero de l nea) Un conjunto de entidades d ebiles se indica en los diagramas E-R mediante un rect angulo dibujado con una l nea doble, y la correspondiente relaci on de identicaci on, mediante un rombo dibujado tambi en con l nea doble. El discriminante del conjunto de entidades d ebiles tambi en est a subrayado, pero con un l nea discontinua, en lugar de una continua. En algunos casos, el dise nador de la base de datos puede elegir expresar un conjunto de entidades d ebiles como un atributo compuesto multivalorado del conjunto de entidades propietarias.

2.

Caracter sticas del modelo E-R extendido

Existe una extensi on del modelo E-R, el llamado Modelo E.R Extendido, que permite modelar ciertas caracter sticas de forma m as sencilla. Estas caracter sticas son la especializaci on/generalizaci on y la agregaci on.

2.1.

Especializaci on

Un conjunto de entidades puede incluir subgrupos de entidades que son similares entre si. Cada subgrupo se diferencia en algo de las otros. Por ejemplo, Consid erese el conjunto de entidades persona con atributos nombre, calle y ciudad. Una persona puede clasicarse adem as como cliente o empleado. Estos dos tipos de persona se describen mediante un conjunto de atributos que incluyen los atributos del conjunto de entidades persona y adem as otros posibles atributos adicionales. Por ejemplo, las entidades cliente pueden a nadir el atributo id-cliente, mientras que las entidades empleado podr an a nadir id-empleado y sueldo.

CARACTER ISTICAS DEL MODELO E-R EXTENDIDO

10

El proceso de clasicaci on de subgrupos dentro de un conjunto de entidades se denomina especializaci on. Se puede aplicar repetidamente la especializaci on para renar el esquema de dise no. En t erminos de un diagrama E-R, la especializaci on se representa mediante un componente triangular etiquetado ES (por ejemplo, un empleado ES una persona. La relaci on ES se puede llamar tambi en relaci on superclasesubclase. Los conjuntos de entidades de nivel m as alto y m as bajo se representan como conjuntos de entidades regulares, es decir, como rect angulos que contienen el nombre del conjunto de entidades.

2.2.

Generalizaci on

Para todos los prop ositos pr acticos, la generalizaci on es una inversi on simple de la especializaci on. En t erminos del propio diagrama E-R no se distingue entre especializaci on y generalizaci on. La u nica diferencia es el punto de vista usado al realizar el dise no o, en otros palabras, el punto de partida y el objetivo nal.

2.3.

Herencia de atributos

Los atributos de los conjuntos de entidades de nivel m as alto se dice que son heredados por los conjuntos de entidades de nivel m as bajo. En el ejemplo anterior, cliente y empleado heredan los atributos de persona. El resultado nal de una generalizaci on/especializaci on es: Un conjunto de entidades de nivel m as alto con atributos y relaciones que se aplican a todos los conjuntos de entidades de nivel m as bajo. Conjuntos de entidades de nivel m as bajo con caracter sticas distintivas que se aplican s olo en un conjunto de entidades particular. Las relaciones entre las superclases y las subclases pueden ser jer arquicas (Si se permite a una subclase derivar de una u nica superclase, de forma que u nicamente pueden formar un arbol) o reticulares (Si se permite herencia m ultiple, es decir, una subclase puede derivar de varias superclases)

2.4.

Restricciones sobre las generalizaciones

Para modelar una empresa m as exactamente, el dise nador de la base de datos puede establecer ciertas restricciones en una generalizaci on particular. Un tipo de restricci on implica determinar qu e entidades pueden ser miembros de un conjunto de entidades de nivel m as bajo dado. Tales relaciones de miembros pueden ser algunas de los siguientes: Denido por condici on. En los conjuntos de entidades de nivel m as bajo, la relaci on miembro se eval ua en funci on de si una entidad satisface

CARACTER ISTICAS DEL MODELO E-R EXTENDIDO

11

o no una condici on expl cita o predicado. Por ejemplo, todas las entidades persona se pueden evaluar utilizando atributo tipo-persona. S olo aquellas entidades que satisfagan la condici on tipo-persona = ((cliente)) podr an pertenecer al conjunto de entidades cliente. Como todas las entidades de nivel m as bajo se eval uan en funci on del valor del mismo atributo, este tipo de generalizaci on se denomina denido por atributo. Denido por el usuario. Los conjuntos de entidades de nivel m as bajo denidos por el usuario no est an restringidos mediante una condici on de miembro; en cambio, las entidades se asignan expl citamente a un conjunto de entidades dado por el usuario de la base de datos. Las asignaci on se implementa mediante una operaci on que a nade una entidad a un conjunto de entidades. Un segundo tipo de restricciones se dene seg un si las entidades pueden pertenecer o no a m as de un conjunto de entidades de nivel inferior. As , los conjuntos de entidades pueden ser Disjunto. Una entidad s olo pertenece a un conjunto de entidades de nivel m as bajo (Una persona solo puede ser cliente o empleado). Solapado. Una misma entidad puede pertenecer a m as de un conjunto de entidades de nivel m as bajo (Una persona puede ser simult aneamente cliente y empleado) Se puede identicar una restricci on sobre el car acter disjunto en un diagrama E-R a nadiendo la palabra disjunto en el s mbolo del tri angulo. Una restricci on nal, la restricci on de completitud , especica si un conjunto de entidades de nivel m as alto debe pertenecer o no al menos a uno de los conjuntos de entidades de nivel m as bajo. Esta restricci on de la Generalizaci on o especializaci on puede ser: Total . Cada entidad de nivel m as alto debe pertenecer a un conjunto de entidades de nivel m as bajo (toda persona es cliente o empleado). Parcial . Algunas entidades de nivel m as alto pueden no pertenecer a alg un conjunto de entidades de nivel m as bajo. (Pueden existir entidades persona que no sean ni cliente ni empleado) La generalizaci on parcial es la predeterminada. Se puede especicar una generalizaci on total en un diagrama E-R usando una l nea doble para conectar el rect angulo que representa el conjunto de entidades de nivel m as alto con el s mbolo del tri angulo (esta notaci on es similar a la notaci on de participaci on total en una relaci on)

CARACTER ISTICAS DEL MODELO E-R EXTENDIDO

12

Figura 2: Participaci on total de un conjunto de entidades en un conjunto de relaciones.

ciertos requisitos de inserci on y borrado son consecuencia de las restricciones que se aplican a una generalizaci on o especializaci on dada. Por ejemplo, con una restricci on de completitud total, una entidad insertada en un conjunto de entidades de nivel m as alto se debe insertar en al menos uno de los conjuntos de entidades de nivel m as bajo.

2.5.

Agregaci on

Una limitaci on del modelo E-R es que no resulta posible expresar relaciones entre relaciones. Para ilustrar la necesidad de tales construcciones consid erese las entidades empleado, sucursal y trabajo, y la relaci on ternaria trabaja-en (V ease gura 2)

Sup ongase ahora que se desean registrar los directores para las tareas realizadas por un empleado en una sucursal; es decir, se desean registrar directores por combinaciones (empleado, sucursal, trabajo). As umase que existe una entidad director. Una alternativa para representar esta relaci on es crear una nueva relaci on cuaternaria -dirige - entre empleado, sucursal, trabajo y director (se necesita una relaci on cuaternaria; una relaci on binaria entre director y empleado no permitir a representar las combinaciones [sucursal, trabajo] de un empleado que est an dirigidas por un director) Parece que los conjuntos de relaciones trabaja-en y dirige se pueden combinar en un u nico conjunto de relaciones. No obstante, no se deber an combinar, dado que algunas combinaciones empleado, sucursal, trabajo pueden no tener director. Si no se combinan, por otro lado, obtenemos informaci on redundante, ya que cada combinaci on empleado, sucursal, trabajo en dirige tambi en lo est a en trabaja-en. La mejor forma de modelar una situaci on como esta es usar la agregaci on. La agregaci on es una abstracci on a trav es de la cual las relaciones se tratan

CARACTER ISTICAS DEL MODELO E-R EXTENDIDO

13

Figura 3: Diagrama E-R con agregaci on

como entidades de nivel m as alto. As , para este ejemplo, se considera el conjunto de relaciones trabaja-en (que relaciona los conjuntos de entidades empleado, sucursal y trabajo) como un conjunto de entidades de nivel m as alto denominado trabaja-en. Ahora se puede crear una relaci on binaria dirige entre trabaja-en y director para representar qui en dirige las tareas. La representaci on en el modelo E-R consiste en agrupar las entidades y la relaci on entre ellas dentro de un rect angulo, como si fuera una entidad en si misma, tal y como se ve en la gura 3.

2.6.

Fases de dise no

La fase inicial del dise no de bases de datos es caracterizar completamente las necesidades de datos esperadas por los usuarios de la misma. El resultado de esta fase es una especicaci on de requisitos del usuario. A continuaci on, el dise nador elige un modelo de datos y, aplicando los conceptos del modelo de datos elegido, traduce estos requisitos a un esquema conceptual de la base de datos.En t erminos del modelo E-R, el esquema

DE UN ESQUEMA E-R A TABLAS REDUCCION

14

especica todos los conjuntos de entidades, conjuntos de relaciones, atributos y restricciones de correspondencia. El dise nador revisa el esquema para conrmar que todos los requisitos de datos se satisfacen realmente y no hay conictos entre s . Tambi en se examina el dise no para eliminar caracter sticas redundantes. Lo importante en este punto es describir los datos y las relaciones, m as que especicar detalles del almacenamiento f sico. Un esquema conceptual indicar a tambi en los requisitos funcionales de la empresa. En una especicaci on de requisitos funcionales los usuarios describen los tipos de operaciones (o transacciones) que se realizar an sobre los datos. El proceso de trasladar un modelo abstracto de datos a la implementaci on de la base de datos consta de dos fases de dise no nales. En la fase de dise no l ogico, el dise nador traduce el esquema conceptual de alto nivel al modelo de datos de la implementaci on del sistema de base de datos que se usar a. El dise nador usa el esquema resultante espec co a la base de datos en la siguiente fase de dise no f sico, en la que se especican las caracter sticas f sicas de la base de datos.

3.

Reducci on de un esquema E-R a tablas

Un modelo de datos E-R se puede representar por una colecci on de tablas. Para cada conjunto de entidades de la base de datos y para cada conjunto de relaciones de la base de datos hay una u nica tabla a la que se asigna el nombre del conjunto de entidades o del conjunto de relaciones correspondiente.

3.1.

Representaci on tabular de los conjuntos de entidades fuertes

Sea E un conjunto de entidades fuertes con los atributos descriptivos a1 , a2 , . . . , an . Esta entidad se representa mediante una tabla llamada E con n columnas distintas, cada una de las cuales corresponde a uno de los atributos de E. Cada la de la tabla corresponde a una entidad de E.

3.2.

Representaci on tabular de los conjuntos de entidades d ebiles

Sea A un conjunto de entidades d ebiles con los atributos a1 , a2 , . . . , am . Sea B el conjunto de entidades fuertes del que A depende. Si la clave primaria de B es el conjunto de atributos b1 , b2 , . . . , bn , se representar a el conjunto de entidades A mediante una tabla llamada A con una columna por cada uno de los atributos del conjunto:

DE UN ESQUEMA E-R A TABLAS REDUCCION

15

{a1 , a2 , . . . , an } {b1 , b2 , . . . bm }

3.3.

Representaci on tabular de los conjuntos de relaciones

Sea R un conjunto de relaciones, sean a1 , a2 , . . . , am el conjunto de atributos formados por la uni on de las claves primarias de cada uno de los conjuntos de entidades que participan en R, y sean b1 , b2 , . . . , bn los atributos descriptivos de R (si los hay). El conjunto de relaciones se representa mediante una tabla llamada R con una columna por cada uno de los atributos del conjunto: {a1 , a2 , . . . , am } {b1 , b2 , . . . bn } 3.3.1. Redundancia de tablas

Las relaciones entre entidades fuertes y d ebiles son un caso especial. En general, la tabla para el conjunto de relaciones que une un conjunto de entidades d ebiles con su correspondiente conjunto de entidades fuertes es redundante y no necesita estar presente en una representaci on tabular de un diagrama E-R. Esto se debe a que estas relaciones no tienen atributos descriptivos y ,adem as, la clave primaria del conjunto de entidades d ebiles incluye la clave primaria del conjunto de entidades fuertes. 3.3.2. Combinaci on de tablas

Consid erese un conjunto AB de relaciones varios a uno del conjunto de entidades A al conjunto de entidades B. Usando el esquema de construcci on de tablas descrito previamente se consiguen tres tablas: A, B y AB. Sup ongase adem as que la participaci on de A en la relaci on es total; es decir, cada entidad a en el conjunto de entidades A debe participar en la relaci on AB. Entonces se pueden combinar las tablas A y AB para formar una u nica tabla consistente en la uni on de las columnas de ambas tablas.

3.4.

Atributos multivalorados

para los atributos multivalorados se crean tablas nuevas. Para un atributo multivalorado M se crea una tabla T con una columna C que corresponde a la clave primaria del conjunto de entidades o conjunto de relaciones del que M es atributo.

3.5.

Representaci on tabular de la generalizaci on

Hay dos m etodos diferentes para transformar a forma tabular un diagrama E-R

EL LENGUAJE DE MODELADO UNIFICADO UML 1.

16

Crear una tabla para el conjunto de entidades de nivel m as alto. Para cada conjunto de entidades de nivel m as bajo, crear una tabla que incluya una columna para cada uno de sus atributos, m as una columna por cada atributo de la clave primaria del conjunto de entidades de nivel m as alto. Es posible una representaci on alternativa si la generalizaci on es disjunta y completa2 . Aqu no se crea una tabla para el conjunto de entidades de nivel m as alto. En su lugar, para cada conjunto de entidades de nivel m as bajo se crea una tabla que incluya una columna por cada uno de sus atributos m as una columna por cada atributo del conjunto de entidades de nivel m as alto.

2.

3.6.

Representaci on tabular de la agregaci on

Transformar a forma tabular un diagrama E-R que incluya agregaci on es sencillo. Consid erese el diagrama de la Figura 3. La tabla para el conjunto de relaciones dirige entre la agregaci on de trabaja-en y el conjunto de entidades director incluye una columna para cada atributo de la clave primaria del conjunto de entidades director y del conjunto de relaciones trabaja-en. Tambi en incluir a una columna para los atributos descriptivos, si los hubiera, del conjunto de relaciones dirige. Por tanto, se transforman los conjuntos de relaciones y los conjuntos de entidades dentro de la entidad agregada.

4.

El lenguaje de modelado unicado UML

El lenguaje de modelado unicado (UML, Unied Modeling Language ) es un est andar propuesto para la creaci on de especicaciones de varios componentes de un sistema software. Algunas de las partes de UML son: Diagrama de clase. Un diagrama de clase es similar a un diagrama E-R. Diagrama de caso de uso. Los diagramas de caso de uso muestran la interacci on entre los usuarios y el sistema, en particular los pasos de las tareas que realiza el usuario Diagrama de actividad. Los diagramas de actividad describen el ujo de tareas entre varios componentes de un sistema. Diagrama de implementaci on. Los diagramas de implementaci on muestran los componentes del sistema y sus interconexiones tanto en el nivel del componente software como el hardware.
No se debe usar este segundo m etodo para una generalizaci on solapada, porque algunos valores se almacenar an varias veces innecesariamente. Si la generalizaci on no fuera completa se necesitar a una tabla extra para los conjuntos de entidades de nivel superior.
2

EL LENGUAJE DE MODELADO UNIFICADO UML

17

UML muestra los conjuntos de entidades como cuadros y, a diferencia de E-R, muestra los atributos dentro del cuadro en lugar de como elipses separadas. UML modela realmente objetos, mientras que E-R modela entidades. Los objetos son como entidades y tienen atributos, pero adem as proporcionan un conjunto de funciones (denominadas m etodos) que se pueden invocar para calcular valores en t erminos de los atributos de los objetos, o para modicar el propio objeto. Los conjuntos de relaciones binarias se representan en UML dibujando simplemente una l nea que conecte los conjuntos de entidades. Se escribe el nombre del conjunto de relaciones adyacente a la l nea. Tambi en se puede especicar el papel que juega un conjunto de entidades en un conjunto de relaciones escribiendo el nombre del papel en un cuadro, junto con los atributos del conjunto de relaciones, y conectar el cuadro con una l nea discontinua a la l nea que describe el conjunto de relaciones. Este cuadro se puede tratar entonces como un conjunto de entidades, de la misma forma que una agregaci on en los diagramas E-R La relaciones no binarias no se pueden representar directamente en UML, se deben convertir en relaciones binarias La generalizaci on y especializaci on se representan en el diagrama E-R conectando conjuntos de entidades por una l nea con un tri angulo al nal correspondiente al conjunto de entidades m as general. Los diagramas UML tambi en pueden representar expl citamente las restricciones de generalizaciones disjuntas y solapadas.

PREGUNTAS HABITUALES

18

5.
1.

Preguntas habituales
Cu al de las siguientes armaciones no es v alida en un modelo EntidadRelaci on? a) b) c) d) La especializaci on total es una restricci on de completitud La agregaci on es una abstracci on mediante la cual se tratan a las relaciones como entidades La clave primaria es una superclave m axima Todas son v alidas

2.

En el modelo E-R, las entidades d ebiles: a) b) c) d) Se reducen a tablas con el mismo n umero de atributos que la entidad Se reducen a tablas con mayor n umero de atributos que la entidad Se reducen a tablas con menor n umero de atributos que la entidad Las entidades d ebiles no se pueden reducir a tablas.

3.

Qu e es una entidad subordinada? a) b) c) d) Una entidad de clave exterior similar a una entidad fuerte. Una entidad que se relaciona con otra seg un una cardinalidad de asignaci on de una a muchas. Una entidad d ebil. Una entidad que depende por existencia de otra entidad.

4.

Qu e forma la clave primaria de un conjunto de entidades d ebiles? a) b) c) d) La clave primaria del conjunto de entidades fuertes de la que depende su existencia y su discriminador. Una clave candidata del conjunto de entidades d ebiles y el discriminador de la entidad fuerte. Cualquiera de las claves candidatas. Un conjunto de entidades d ebiles no tiene clave primaria.

También podría gustarte