Está en la página 1de 18

El modelo Entidad-relacin o

Juan Ignacio Rodr guez de Len o

Resumen Presenta el modelo entidad-relacin. Visin de alto nivel de las o o cuestiones referentes a diseo de bases de datos y los problemas enconn trados al intentar reejar la semntica de aplicaciones reales dentro de a los connes de un modelo de datos. Conceptos bsicos. Restricciones. a Claves. Cuestiones de diseo. Diagrama entidad-relacin. Conjuntos de n o entidades dbiles. Caracter e sticas del modelo E-R extendido. Diseo de n un esquema de base de datos E-R. Reduccin de un esquema E-R a o tablas. El lenguaje de modelado unicado UML

0.1.

CONCEPTOS BASICOS

Este modelo representa el mundo real mediante una coleccin de objetos o bsicos, que denominamos entidades, y las relaciones entre estos objetos. a 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 interpretar como entidades. Las entidades pueden repan resentar entes concretos, como una persona o un avin, o abstractas, como o por ejemplo un prstamo o una reserva. e 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, nmero de cuenta, saldo y fecha de alta pueden ser atribu utos de la entidad cuenta). Cada entidad tiene un valor en cada uno de sus atributos. Habitualmente uno o ms atributos sirven para identicar un a vocamente una entidad. Por ejemplo, el nmero de la Seguridad Social podr u 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 informticos de la seguridad social (El NIF a no se debe utilizar, debido a problemas como la existencia de nmeros duplicados, entre u otros).
1

2 Atributos simples y compuestos. Los atributos simples no estn divia didos en subpartes, los compuestos si. Un ejemplo de atributo compuesto podr ser fecha, que se subdividir en fecha.dia, fecha.mes y a a fecha.anio. Los atributos compuestos ayudan a agrupar los atributos relacionados, haciendo el modelo ms claro. Las subpartes de un atriba uto 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 unico valor se denominan monovalorados. Los que pueden tener simultneamente ms de un valor se denominan multivalorados. a a Como ejemplo de un atributo multivalorado considrese el atributo e telfono, que podr tener 0, 1 o N valores. Se pueden denir restrice a ciones, tanto en el l mite inferior como en el l mite superior de los posibles valores simultneos. a 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 obtenerse a 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 ningn valor, u o cuando el valor del atributo se desconoce, ya sea porque est perdido (El a valor existe pero se ignora cual es) o desconocido (no se sabe si el valor existe o no). El valor nulo tambin puede indicar no aplicable. e 0.1.2. Conjuntos de relaciones

Una relacin es una asociacin entre varias entidades, y el conjunto de o o todas las relaciones del mismo tipo se denominan conjunto de relaciones. Formalmente, es una relacin matemtica entre n conjuntos de entidades, o a 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 relacin. o La asociacin entre conjuntos de entidades se conoce como participacin, o o es decir, los conjuntos de entidades E1 , E2 , . . . , En participan en el conjunto de relaciones R. La funcin que realiza una entidad en una relacin se llama papel de o o la entidad. Los papeles son utiles cuando se necesita aclarar el signicado

3 de una relacin.Un ejemplo podr ser cuando una entidad participa ms o a a de una vez en una relacin (conjunto de relaciones recursivo). En este caso o es ms claro hacer expl a citos los papeles. Por ejemplo, considrese una cone junto de entidades empleado que almacena informacin acerca de todos los o 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 relacin puede tener tambin atributos descriptivos. No obstante, o e Un ejemplar de relacin en un conjunto de relaciones determinado debe ser o identicado un vocamente a partir de sus entidades participantes, sin usar los atributos descriptivos. El nmero de conjuntos de entidades que participan en un conjunto de u 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 ms conjuntos a 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 razn de cardinalidad, expresa o el nmero de entidades a las que otra entidad puede estar asociada v un u a 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 nmero de u 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 nmero de entidades (ninguna o varias) en A. (Es la misma que la u anterior, vista desde el otro extremo).

4 Varios a varios. Una entidad en A se asocia con cualquier nmero de u entidades (ninguna o varias) en B, y una entidad en B se asocia con cualquier nmero de entidades (ninguna o varias) en A u 0.2.2. Restricciones de participacin o

La participacin de un conjunto de entidades E en un conjunto de relao ciones R se dice que es total si cada entidad en E participa al menos en una relacin en R. Si slo algunas entidades en E participan en relaciones o o en R, la participacin del conjunto de entidades E en la relacin R se llama o o 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 tendrn, . a por tanto, claves diferentes. 0.3.1. Conjuntos de entidades

Una superclave es un conjunto de uno o ms atributos que, tomados a colectivamente, permiten identicar de forma unica una entidad en el con junto de entidades. El concepto de una superclave no es suciente para lo que aqu se pro pone, ya que, como se ha visto, una superclave puede contener atributos innecesarios. Tal y como se ha denido, si K es una superclave, tambin lo e 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 clave primaria a a aquella clave candidata que es elegida por el diseador de la base de datos n como identicar principal. La clave primaria se deber elegir de manera que sus atributos nunca, a o muy raramente, cambien. 0.3.2. Conjuntos de relaciones

De igual manera que se deni una clave primaria para las entidades, se o 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 Asmase, por el momento, que los nombres de los atributos de todas las u claves primarias son unicos y que cada conjunto de entidades participa slo o una vez en la relacin. o 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 relacin individual en el conjunto R. o Dicho de otra forma, la combinacin de las claves primarias de las entidades o relacionadas forman la clave de la relacin. o Si el conjunto de relaciones R tiene atributos a1 , a2 , . . . , am , asociados a l, entonces el conjunto de atributos: e clave prim(E1 ) clave prim(E2 ) . . . clave prim(En ) {a1 , a2 , . . . , am } Describe una relacin individual en el conjunto R. En ambos casos, la o clave primaria ser la misma. a En el caso de que los nombres de atributos de las claves primarias no sean unicos en todos los conjuntos de entidades, los atributos se renombran para distinguirlos. Si un conjunto de entidades participe ms de una vez en a un conjunto de relaciones se usa el nombre del papel en lugar del nombre del conjunto de entidades para formar un nombre unico de atributo.

0.4.

Cuestiones de dise o n

A la hora de realizar un primer diseo, la primera pregunta que surge n es decidir que representaremos como entidades y que representaremos como atributos. No hay respuestas simples. Las distinciones dependern de la a estructura del problema que se est modelando y de la semntica asociada e a con el atributo en cuestin. o Un error comn es usar la clave primaria de un conjunto de entidades cou mo un atributo de otro conjunto de entidades, en lugar de usar una relacin. o Por ejemplo, modelar id cliente como un atributo de prstamo es incorrece to, incluso si cada prstamo tiene slo un cliente. Se debe hacer la conexin e o o expl cita, usando una relacin, en lugar de impl o 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 hacer, ya que los atributos de la clave primaria son ya a impl citos en la relacin. o 0.4.1. Uso de conjuntos de entidades o conjuntos de relaciones

una buena razn para elevar un atributo a la categor de entidad es o a 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 ms grave, por que abre la posibilidad de que los a datos estn en un estado inconsistente, pudiendo tener diferentes valores un e atributo que solo deber tener uno. a 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 ser representadas an mejor con varias relaciones binarias. Sin embargo, esta restriccin no siempre o es deseable. Un atributo de identicacin puede haber sido creado para el conjunto o de entidades para representar el conjunto de relaciones. Este atributo, con los conjuntos de relaciones extra necesarios, incrementa la complejidad del diseo y los requisitos de almacenamiento. n Un conjunto de relaciones n-arias muestra ms claramente que varias a entidades participan en una relacin simple. o Podr no haber una forma de traducir restricciones en la relacin a o ternaria en restricciones sobre relaciones binarias. Por ejemplo, considrese una restriccin que dice que R es varios a uno de A, B a C; e o es decir, cada par de entidades de A y B se asocia con a lo sumo una entidad C. Esta restriccin no se puede expresar usando restricciones o de cardinalidad sobre los conjuntos de relaciones RA, RB y RC. 0.4.3. Ubicacin de los atributos de las relaciones o

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 relacin se o pueden asociar con cualquiera de las entidades participantes. Por otra parte, Los atributos de un conjunto de relaciones uno a varios se pueden colocar slo en el conjunto de entidades de la parte ((varios)) de la relacin. o o Para relaciones varios a varios, si el atributo se determina mediante la combinacin de los conjuntos de entidades participantes, no se preseno ta ningn dilema, el atributo deber ir obligatoriamente en el conjunto de u a relaciones

Figura 1: Diagrama Entidad-Relacin correspondiente a clientes y prstamos o e

0.5.

Diagrama entidad-relacin o

Veremos ahora con mayor detalle los diagramas entidad-relacin o diao gramas E-R que se presentaron en el tema 1. Los diagramas E-R se representan usando los siguientes componentes: s mbolos Rectngulos a 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 Participacin total de una entidad en un cono junto de relaciones Conjuntos de entidades dbiles e

Elipses dobles Elipses discontinuas L neas dobles Rectngulos dobles a

Considrese el diagrama E-R de la gura 1. e

Los atributos de un conjunto de entidades que son miembros de la clave primaria estn subrayados. a 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 prstamo especica que prestatario es un conjunto de relaciones e

CONJUNTOS DE ENTIDADES DEBILES

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

Signica que un prstamo puede haber sido concedido a uno o a varios e clientes, pero que un cliente slo puede tener asignado uno o ningn prstamo o u e (Donde est la punta de la echa solo puede haber uno). a Si un conjunto de relaciones tiene tambin algunos atributos asociados e a l, entonces se unen esos atributos a ese conjunto de relaciones. e En los diagramas E-R se indican papeles mediante etiquetas en las l neas que unen rombos con rectngulos a Los conjuntos de relaciones no binarias se pueden especicar fcilmente a en un diagrama E-R. En el diagrama E-R se usan las l neas dobles para indicar que la participacin de un conjunto de entidades en un conjunto de relaciones es total ; o es decir, cada entidad en el conjunto de entidades aparece al menos en una relacin en ese conjunto de relaciones. o Los diagramas E-R tambin proporcionan una forma de indicar restrice ciones ms complejas sobre el nmero de veces en que cada entidad participa a u 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 mxima, mostrada de la forma m a n..mx, donde m a n es la m nima cardinalidad y mx es la mxima. Un valor m a a nimo de 1 indica una participacin total del conjunto de entidades en el conjunto de o relaciones. Un valor mximo de 1 indica que la entidad participa de a lo a sumo una relacin, mientras que un valor mximo de * indica que no hay o a l mite. Ntese que una etiqueta 1..* en un segmento es equivalente a una o l nea doble.

1.

Conjuntos de entidades dbiles e

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

CARACTER ISTICAS DEL MODELO E-R EXTENDIDO

dbiles depende existencialmente del conjunto de entidades identicadoras. e Se dice que el conjunto de entidades identicadoras es propietaria del conjunto de entidades dbiles que identica. La relacin que asocia el conjunto e o de entidades dbiles con el conjunto de entidades identicadoras se denome ina relacin identicadora. La relacin identicadora es varios a uno del o o conjunto de entidades dbiles al conjunto de entidades identicadoras y la e participacin del conjunto de entidades dbiles en la relacin es total. o e o Ejemplos t picos de entidades fuertes y dbiles ser facturas y l e an neas de factura, o prestamos y pagos. Para distinguir entre si a las entidades dbiles que dependen de una e entidad fuerte se usa un discriminante, que ser un conjunto de atributos a que permite diferenciar una entidad dbil de otra (Por ejemplo, el atributo e nmero de linea en l u nea de factura). El discriminante de un conjunto de entidades dbiles se denomina la clave parcial del conjunto de entidades e La clave primaria de un conjunto de entidades dbiles se forma con la e clave primaria del conjunto de entidades identicadoras, ms la clave parcial a del conjunto de entidades dbiles. (Por ejemplo, en el caso de las facturas, e nmero de factura y nmero de l u u nea) Un conjunto de entidades dbiles se indica en los diagramas E-R mee diante un rectngulo dibujado con una l a nea doble, y la correspondiente relacin de identicacin, mediante un rombo dibujado tambin con l o o e nea doble. El discriminante del conjunto de entidades dbiles tambin est sube e a rayado, pero con un l nea discontinua, en lugar de una continua. En algunos casos, el diseador de la base de datos puede elegir expresar n un conjunto de entidades dbiles como un atributo compuesto multivalorado e del conjunto de entidades propietarias.

2.

Caracter sticas del modelo E-R extendido

Existe una extensin del modelo E-R, el llamado Modelo E.R Extendido, o que permite modelar ciertas caracter sticas de forma ms sencilla. Estas a caracter sticas son la especializacin/generalizacin y la agregacin. o o o

2.1.

Especializacin o

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, Considrese el conjunto de entidades persona con atributos nombre, e calle y ciudad. Una persona puede clasicarse adems como cliente o a empleado. Estos dos tipos de persona se describen mediante un conjunto de atributos que incluyen los atributos del conjunto de entidades persona y adems otros posibles atributos adicionales. Por ejemplo, las entidades a cliente pueden aadir el atributo id-cliente, mientras que las entidades n empleado podr aadir id-empleado y sueldo. an n

CARACTER ISTICAS DEL MODELO E-R EXTENDIDO

10

El proceso de clasicacin de subgrupos dentro de un conjunto de entio dades se denomina especializacin. Se puede aplicar repetidamente la espeo cializacin para renar el esquema de diseo. o n En trminos de un diagrama E-R, la especializacin se representa mee o diante un componente triangular etiquetado ES (por ejemplo, un empleado ES una persona. La relacin ES se puede llamar tambin relacin superclaseo e o subclase. Los conjuntos de entidades de nivel ms alto y ms bajo se repa a resentan como conjuntos de entidades regulares, es decir, como rectngulos a que contienen el nombre del conjunto de entidades.

2.2.

Generalizacin o

Para todos los propsitos prcticos, la generalizacin es una inversin o a o o simple de la especializacin. En trminos del propio diagrama E-R no se o e distingue entre especializacin y generalizacin. La unica diferencia es el o o punto de vista usado al realizar el diseo o, en otros palabras, el punto de n partida y el objetivo nal.

2.3.

Herencia de atributos

Los atributos de los conjuntos de entidades de nivel ms alto se dice a que son heredados por los conjuntos de entidades de nivel ms bajo. En el a ejemplo anterior, cliente y empleado heredan los atributos de persona. El resultado nal de una generalizacin/especializacin es: o o Un conjunto de entidades de nivel ms alto con atributos y relaciones a que se aplican a todos los conjuntos de entidades de nivel ms bajo. a Conjuntos de entidades de nivel ms bajo con caracter a sticas distintivas que se aplican slo en un conjunto de entidades particular. o Las relaciones entre las superclases y las subclases pueden ser jerrquicas a (Si se permite a una subclase derivar de una unica superclase, de forma que unicamente pueden formar un rbol) o reticulares (Si se permite herencia a mltiple, es decir, una subclase puede derivar de varias superclases) u

2.4.

Restricciones sobre las generalizaciones

Para modelar una empresa ms exactamente, el diseador de la base de a n datos puede establecer ciertas restricciones en una generalizacin particular. o Un tipo de restriccin implica determinar qu entidades pueden ser miemo e bros de un conjunto de entidades de nivel ms bajo dado. Tales relaciones a de miembros pueden ser algunas de los siguientes: Denido por condicin. En los conjuntos de entidades de nivel ms bao a jo, la relacin miembro se evala en funcin de si una entidad satisface o u o

CARACTER ISTICAS DEL MODELO E-R EXTENDIDO

11

o no una condicin expl o cita o predicado. Por ejemplo, todas las entidades persona se pueden evaluar utilizando atributo tipo-persona. Slo aquellas entidades que satisfagan la condicin tipo-persona = o o ((cliente)) podrn pertenecer al conjunto de entidades cliente. a Como todas las entidades de nivel ms bajo se evalan en funcin a u o del valor del mismo atributo, este tipo de generalizacin se denomina o denido por atributo. Denido por el usuario. Los conjuntos de entidades de nivel ms bajo a denidos por el usuario no estn restringidos mediante una condicin a o 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 asignacin se implementa mediante una operacin que aade una entidad o o n a un conjunto de entidades. Un segundo tipo de restricciones se dene segn si las entidades pueden u pertenecer o no a ms de un conjunto de entidades de nivel inferior. As los a , conjuntos de entidades pueden ser Disjunto. Una entidad slo pertenece a un conjunto de entidades de nivel o ms bajo (Una persona solo puede ser cliente o empleado). a Solapado. Una misma entidad puede pertenecer a ms de un conjunto de a entidades de nivel ms bajo (Una persona puede ser simultneamente a a cliente y empleado) Se puede identicar una restriccin sobre el carcter disjunto en un diao a grama E-R aadiendo la palabra disjunto en el s n mbolo del tringulo. a Una restriccin nal, la restriccin de completitud , especica si un cono o junto de entidades de nivel ms alto debe pertenecer o no al menos a uno a de los conjuntos de entidades de nivel ms bajo. Esta restriccin de la Gena o eralizacin o especializacin puede ser: o o Total . Cada entidad de nivel ms alto debe pertenecer a un conjunto de a entidades de nivel ms bajo (toda persona es cliente o empleado). a Parcial . Algunas entidades de nivel ms alto pueden no pertenecer a algn a u conjunto de entidades de nivel ms bajo. (Pueden existir entidades a persona que no sean ni cliente ni empleado) La generalizacin parcial es la predeterminada. Se puede especicar una o generalizacin total en un diagrama E-R usando una l o nea doble para conectar el rectngulo que representa el conjunto de entidades de nivel ms alto a a con el s mbolo del tringulo (esta notacin es similar a la notacin de para o o ticipacin total en una relacin) o o

CARACTER ISTICAS DEL MODELO E-R EXTENDIDO

12

Figura 2: Participacin total de un conjunto de entidades en un conjunto de o relaciones.

ciertos requisitos de insercin y borrado son consecuencia de las restrico ciones que se aplican a una generalizacin o especializacin dada. o o Por ejemplo, con una restriccin de completitud total, una entidad ino sertada en un conjunto de entidades de nivel ms alto se debe insertar en al a menos uno de los conjuntos de entidades de nivel ms bajo. a

2.5.

Agregacin o

Una limitacin del modelo E-R es que no resulta posible expresar relao ciones entre relaciones. Para ilustrar la necesidad de tales construcciones considrese las entie dades empleado, sucursal y trabajo, y la relacin ternaria trabaja-en o (Vase gura 2) e

Supngase ahora que se desean registrar los directores para las tareas o realizadas por un empleado en una sucursal; es decir, se desean registrar directores por combinaciones (empleado, sucursal, trabajo). Asmase que u existe una entidad director. Una alternativa para representar esta relacin es crear una nueva relacin o o cuaternaria -dirige- entre empleado, sucursal, trabajo y director (se necesita una relacin cuaternaria; una relacin binaria entre director y emo o pleado no permitir representar las combinaciones [sucursal, trabajo] de un a empleado que estn dirigidas por un director) a Parece que los conjuntos de relaciones trabaja-en y dirige se pueden combinar en un unico 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 informacin redundante, ya que cada combinacin empleado, sucursal, trabajo o o en dirige tambin lo est en trabaja-en. e a La mejor forma de modelar una situacin como sta es usar la agregacin. o e o La agregacin es una abstraccin a travs de la cual las relaciones se tratan o o e

CARACTER ISTICAS DEL MODELO E-R EXTENDIDO

13

Figura 3: Diagrama E-R con agregacin o

como entidades de nivel ms alto. As para este ejemplo, se considera el a , conjunto de relaciones trabaja-en (que relaciona los conjuntos de entidades empleado, sucursal y trabajo) como un conjunto de entidades de nivel ms a alto denominado trabaja-en. Ahora se puede crear una relacin binaria dirige entre trabaja-en y o director para representar quin dirige las tareas. La representacin en el e o modelo E-R consiste en agrupar las entidades y la relacin entre ellas dentro o de un rectngulo, como si fuera una entidad en si misma, tal y como se ve a en la gura 3.

2.6.

Fases de dise o n

La fase inicial del diseo de bases de datos es caracterizar completamente n las necesidades de datos esperadas por los usuarios de la misma. El resultado de esta fase es una especicacin de requisitos del usuario. o A continuacin, el diseador elige un modelo de datos y, aplicando los o n conceptos del modelo de datos elegido, traduce estos requisitos a un esquema conceptual de la base de datos.En trminos del modelo E-R, el esquema e

REDUCCION DE UN ESQUEMA E-R A TABLAS

14

especica todos los conjuntos de entidades, conjuntos de relaciones, atributos y restricciones de correspondencia. El diseador revisa el esquema para conrmar que todos los requisitos n de datos se satisfacen realmente y no hay conictos entre s Tambin se . e examina el diseo para eliminar caracter n sticas redundantes. Lo importante en este punto es describir los datos y las relaciones, ms que especicar a detalles del almacenamiento f sico. Un esquema conceptual indicar tambin los requisitos funcionales de a e la empresa. En una especicacin de requisitos funcionales los usuarios deo scriben los tipos de operaciones (o transacciones) que se realizarn sobre los a datos. El proceso de trasladar un modelo abstracto de datos a la implementacin o de la base de datos consta de dos fases de diseo nales. En la fase de diseo n n lgico, el diseador traduce el esquema conceptual de alto nivel al modelo o n de datos de la implementacin del sistema de base de datos que se usar. El o a diseador usa el esquema resultante espec n co a la base de datos en la siguiente fase de diseo f n sico, en la que se especican las caracter sticas f sicas de la base de datos.

3.

Reduccin de un esquema E-R a tablas o

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

3.1.

Representacin tabular de los conjuntos de entidades o 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.

Representacin tabular de los conjuntos de entidades o dbiles e

Sea A un conjunto de entidades dbiles con los atributos a1 , a2 , . . . , am . e 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 el conjunto de a entidades A mediante una tabla llamada A con una columna por cada uno de los atributos del conjunto:

REDUCCION DE UN ESQUEMA E-R A TABLAS

15

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

3.3.

Representacin tabular de los conjuntos de relaciones o

Sea R un conjunto de relaciones, sean a1 , a2 , . . . , am el conjunto de atributos formados por la unin de las claves primarias de cada uno de los cono juntos 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 dbiles son un caso especial. e En general, la tabla para el conjunto de relaciones que une un conjunto de entidades dbiles con su correspondiente conjunto de entidades fuertes es e redundante y no necesita estar presente en una representacin tabular de o un diagrama E-R. Esto se debe a que estas relaciones no tienen atributos descriptivos y ,adems, la clave primaria del conjunto de entidades dbiles a e incluye la clave primaria del conjunto de entidades fuertes. 3.3.2. Combinacin de tablas o

Considrese un conjunto AB de relaciones varios a uno del conjunto de e entidades A al conjunto de entidades B. Usando el esquema de construccin o de tablas descrito previamente se consiguen tres tablas: A, B y AB. Supngase o adems que la participacin de A en la relacin es total; es decir, cada a o o entidad a en el conjunto de entidades A debe participar en la relacin AB. o Entonces se pueden combinar las tablas A y AB para formar una unica tabla consistente en la unin de las columnas de ambas tablas. o

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.

Representacin tabular de la generalizacin o o

Hay dos mtodos diferentes para transformar a forma tabular un diagrae ma E-R

EL LENGUAJE DE MODELADO UNIFICADO UML 1.

16

Crear una tabla para el conjunto de entidades de nivel ms alto. Para a cada conjunto de entidades de nivel ms bajo, crear una tabla que a incluya una columna para cada uno de sus atributos, ms una columna a por cada atributo de la clave primaria del conjunto de entidades de nivel ms alto. a Es posible una representacin alternativa si la generalizacin es disjuno o ta y completa2 . Aqu no se crea una tabla para el conjunto de entidades de nivel ms alto. En su lugar, para cada conjunto de entidades de niva el ms bajo se crea una tabla que incluya una columna por cada uno a de sus atributos ms una columna por cada atributo del conjunto de a entidades de nivel ms alto. a

2.

3.6.

Representacin tabular de la agregacin o o

Transformar a forma tabular un diagrama E-R que incluya agregacin es o sencillo. Considrese el diagrama de la Figura 3. La tabla para el conjunto e de relaciones dirige entre la agregacin de trabaja-en y el conjunto de o entidades director incluye una columna para cada atributo de la clave primaria del conjunto de entidades director y del conjunto de relaciones trabaja-en. Tambin incluir una columna para los atributos descriptivos, e a 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 estndar propuesto para la creacin de especicaciones de varios coma o ponentes 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 interaccin entre los usuarios y el sistema, en particular los pasos de o 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 implementacin. Los diagramas de implementacin mueso o tran los componentes del sistema y sus interconexiones tanto en el nivel del componente software como el hardware.
No se debe usar este segundo mtodo para una generalizacin solapada, porque ale o gunos valores se almacenar varias veces innecesariamente. Si la generalizacin no fuera an o completa se necesitar una tabla extra para los conjuntos de entidades de nivel superior. a
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 adems proa porcionan un conjunto de funciones (denominadas mtodos) que se pueden e invocar para calcular valores en trminos de los atributos de los objetos, o e 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. Tambin se puede especicar el papel que juega un conjunto de entidades e 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 agregacin en los diagramas E-R o La relaciones no binarias no se pueden representar directamente en UML, se deben convertir en relaciones binarias La generalizacin y especializacin se representan en el diagrama E-R o o conectando conjuntos de entidades por una l nea con un tringulo al nal a correspondiente al conjunto de entidades ms general. Los diagramas UML a tambin pueden representar expl e citamente las restricciones de generalizaciones disjuntas y solapadas.

PREGUNTAS HABITUALES

18

5.
1.

Preguntas habituales
Cul de las siguientes armaciones no es vlida en un modelo Entidada a Relacin? o a) b) c) d) La especializacin total es una restriccin de completitud o o La agregacin es una abstraccin mediante la cual se tratan a las o o relaciones como entidades La clave primaria es una superclave mxima a Todas son vlidas a

2.

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

3.

Qu es una entidad subordinada? e a) b) c) d) Una entidad de clave exterior similar a una entidad fuerte. Una entidad que se relaciona con otra segn una cardinalidad de u asignacin de una a muchas. o Una entidad dbil. e Una entidad que depende por existencia de otra entidad.

4.

Qu forma la clave primaria de un conjunto de entidades dbiles? e e 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 dbiles y el dise criminador de la entidad fuerte. Cualquiera de las claves candidatas. Un conjunto de entidades dbiles no tiene clave primaria. e

También podría gustarte