Diagrama entidad

Diagrama entidad-relación De Wikipedia Saltar a navegación, búsqueda Los diagramas entidad-relación (a veces denominado

Views 73 Downloads 2 File size 192KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Diagrama entidad-relación De Wikipedia Saltar a navegación, búsqueda Los diagramas entidad-relación (a veces denominado por su siglas, E-R) son una herramienta para el modelado de datos de un sistema de información. Estos diagramas expresan entidades relevantes para un sistema de información, sus inter-relaciones y propiedades.

Tabla de contenidos [ocultar] • • •



• •

1 Breve reseña histórica 2 Papel que desempeña 3 En qué consiste o 3.1 Entidades o 3.2 Relaciones o 3.3 Atributos 4 Diagramas extendidos o 4.1 Entidades fuertes y débiles o 4.2 Cardinalidad de las relaciones o 4.3 Atributos en relaciones o 4.4 Herencia 5 Modelado Entidad-Relación 6 Véase también

7 Enlaces externos [editar]



Breve reseña histórica Los diagramas entidad-relación fueron propuestos por Peter P. Chen en 1976. Por este motivo también se conocen como "diagramas de Chen". [editar]

Papel que desempeña Los diagramas E-R se utilizan como herramienta tanto en técnicas de análisis como de diseño en el proceso de construcción de software. Es una herramienta habitual en el paradigma funcional o tradicional de la ingeniería del software. Los diagramas E-R sirven para describir un modelo de datos de un sistema de información, aunque no por completo. Se suelen acompañar de otras herramientas para lograr su propósito: descripciones textuales, tablas, listas de comprobación, etc. [editar]

En qué consiste Formalmente, los diagramas E-R son un lenguaje gráfico para describir conceptos. Informalmente, son simples dibujos o gráficos que (si se saben interpretar) describen la información que trata un sistema de información y el software que lo automatiza. Los elementos de dicho lenguaje se describen a continuación, por orden de importancia . [editar]

Entidades Una entidad es cualquier "objeto" discreto sobre el que se tiene información. Se representa mediante un rectángulo o "caja" etiquetada en su interior mediante un nombre. Ejemplos de entidades habituales en los sistemas de información son: factura, persona, albarán, empleado, etc. Cada ejemplar de una entidad se denomina instancia. Por ejemplo, Francisco y Luisa pueden ser dos instancias distintas de la entidad "persona". Las instancias no se representan en el diagrama. No obstante, se pueden documentar aparte porque son útiles para inicializar la base de datos resultante. Por ejemplo, los departamentos existentes de una empresa pueden ser relevantes como datos iniciales de la entidad "departamento". [editar]

Relaciones Una relación describe cierta interdependencia (de cualquier tipo) entre dos o más entidades. Se representa mediante un rombo etiquetado en su interior mediante un verbo. Además, dicho rombo debe unirse mediante líneas con las entidades que relaciona (es decir, los rectángulos). Una relación no tiene sentido sin las entidades que relaciona. Algunos ejemplos son:

• •

una persona (entidad) trabaja (relación) para un departamento (entidad). una factura (entidad) se emite (relación) a un cliente (entidad).

Las relaciones entre dos entidades se denominan binarias, las relaciones entre tres entidades se denominan ternarias, y las relaciones entre cuatro o más entidades se denominan múltiples. Las relaciones múltiples son poco frecuentes, mientras que las relaciones binarias son habituales en cualquier problema. También son posibles las relaciones reflexivas donde una entidad se relaciona consigo misma. Esto significa que una instancia de una entidad se relaciona con otra instancia distinta de la misma entidad. Por ejemplo: una persona (entidad) contrae matrimonio (relación) con otra persona (la misma entidad). [editar]

Atributos Los atributos son propiedades relevantes propias de una entidad y sólo una. Se representan mediante un círculo o elipse etiquetado mediante un nombre en su interior. Cuando un atributo es identificativo de la entidad se suele subrayar dicha etiqueta. Por motivos de legibilidad, los atributos no suelen representarse en un diagrama entidad-relación, sino que se describen textualmente en otros documentos adjuntos. Los atributos describen información útil sobre las entidades. En particular, los atributos identificativos son aquellos que permiten diferenciar a una instancia de la entidad de otra distinta. Por ejemplo, el atributo identificativo que distingue a un empleado de otro es su número de la Seguridad Social. Ejemplos de atributos de la entidad "persona": • • • • •

Documento Nacional de Identidad (identificativo). Nombre. Apellidos. Dirección. Código postal.

[editar]

Diagramas extendidos Los diagramas Entidad-Relación no cumplen su propósito con eficacia debido a que tienen limitaciones semánticas. Por ese motivo se suelen utilizar los diagramas Entidad-Relación extendidos que incorporan algunos elementos más al lenguaje: [editar]

Entidades fuertes y débiles

Cuando una entidad participa en una relación puede adquirir un papel fuerte o débil. Una entidad débil es aquella que no puede existir sin participar en la relación, es decir, aquella que no puede ser univocamente identificada solamente por sus atributos. Una entidad fuerte es aquella que "presta" algunos de sus atributos a la entidad débil para que se pueda identificar cualquier instancia. Esto lo hace a través de la relación que las une. Las entidades débiles se representan mediante un doble rectángulo, es decir, un rectángulo con doble línea. [editar]

Cardinalidad de las relaciones Las relaciones, en principio binarias, pueden involucrar a un número distinto de instancias de cada entidad. Así, son posibles tres tipos de cardinalidades: • • •

Relaciones de uno a uno: una instancia de la entidad A se relaciona con una y solamente una de la entidad B. Relaciones de uno a muchos: cada instancia de la entidad A se relaciona con varias instancias de la entidad B. Relaciones de muchos a muchos: cualquier instancia de la entidad A se relaciona con cualquier instancia de la entidad B.

El tipo de cardinalidad se representa mediante una etiqueta en el exterior de la relación, respectivamente: "1:1", "1:N" y "N:M". Otra forma de expresar la cardinalidad es situando un símbolo cerca de la línea que conecta una entidad con una relación: • • •

"0" si la entidad no está obligada a participar en la relación. "1" si la entidad está obligada a participar en la relación y, además, cada instancia solamente participa una vez. "N" , "M", ó "*" si la entidad no está obligada a participar en la relación y cada instancia puede participar cualquier número de veces.

Ejemplos de relaciones que expresan cardinalidad: •



Una factura (entidad) se emite (relación) a una persona (entidad) y sólo una, pero una persona puede tener varias facturas emitidas a su nombre. Es una relación 1:N. Un cliente (entidad) puede comprar (relación) varios artículos (entidad) y un artículo puede ser comprado por varios clientes distintos. Es una relación N:M.

[editar]

Atributos en relaciones Las relaciones también pueden tener atributos asociados. Se representan igual que los atributos de las entidades. Un ejemplo típico son las relaciones de tipo "histórico" donde debe constar una

fecha o una hora. Por ejemplo, supongamos que es necesario hacer constar la fecha de emisión de una factura a un cliente, y que es posible emitir duplicados de la factura (con distinta fecha). En tal caso, el atributo "Fecha de emisión" de la factura debería colocarse en la relación "se emite". [editar]

Herencia La herencia es un intento de adaptación de estos diagramas al paradigma orientado a objetos. La herencia es un tipo de relación entre una entidad "padre" y una entidad "hijo". La entidad "hijo" hereda todos los atributos y relaciones de la entidad "padre". Por tanto, no necesitan ser representadas dos veces en el diagrama. La relación de herencia se representa mediante un triángulo interconectado por líneas a las entidades. La entidad conectada por el vertice superior del triángulo es la entidad "padre". Solamente puede existir una entidad "padre" (herencia simple). Las entidades "hijo" se conectan por la base del triángulo. [editar]

Modelado Entidad-Relación El modelado entidad-relación es una técnica informal para el modelado de datos utilizando diagramas entidad relación. No es la única técnica pero sí la más utilizada. Brevemente consiste en los siguientes pasos: 1. Se parte de una descripción textual del problema o sistema de información a automatizar (los requisitos). 2. Se hace una lista de los sustantivos y verbos que aparecen. 3. Los sustantivos son posibles entidades o atributos. 4. Los verbos son posibles relaciones. 5. Analizando las frases se determina la cardinalidad de las relaciones y otros detalles. 6. Se elabora el diagrama (o diagramas) entidad-relación. 7. Se completa el modelo con listas de atributos y una descripción de otras restricciones que no se pueden reflejar en el diagrama. Dado lo rudimentario de esta técnica se necesita cierto entrenamiento y experiencia para lograr buenos modelos de datos. El modelado de datos no acaba con el uso de esta técnica. Son necesarias otras técnicas para lograr un modelo directamente implementable en una base de datos. Brevemente: • • •

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



Etc.

[editar]

Véase también • • • • • •

Ingeniería del software. Disciplina donde se encuadra el análisis y diseño de datos. Modelo de datos. Es la visión estática de un sistema de información. Base de datos. Es la implementación de un modelo de datos. Modelo relacional. Una técnica formal para describir modelos de datos. UML. Otro lenguaje que permite describir modelos de datos (entre otras cosas). Rational Rose. Herramienta gráfica de modelado.

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

El modelo relacional ofrece una buena solución a este problema, que nos permite reducir la redundancia de datos al mínimo y agilizar las operaciones de consulta y actualización. Lo que deberíamos hacer es separar la información que se refiere a las tres entidades que tenemos (profesores, cursos y departamentos) en tres relaciones independientes, y después relacionarlas entre sí. De este modo obtendríamos una disposición parecida a la de la Figura 4.10. Los recuadros indican relaciones base, mientras que las flechas indican las interrelaciones entre ellas. Repetimos que estas interrelaciones, en realidad, no existen a nivel de la base de datos, se usan sólo a nivel de representación gráfica.19 Los nombres de algunos atributos (Prof_ID, Depto_ID, Curso_ID) sugieren el tipo de claves que hemos usado: claves subrogadas.

Figura 4.10 Ejemplo de disposición relacional A partir de estas tres relaciones, y mediante el mecanismo de comparación de valores que antes mencionamos, se tiene acceso a toda la información que deseamos sin redundancia alguna. Los "1" y "M" que etiquetan las flechas hacen referencia al tipo de interrelación "uno a muchos": en la tabla PROFESOR no hay valores repetidos para el atributo Prof_ID (existe un solo conjunto de atributos para describir un determinado profesor), pero encontraremos varios de ellos en la tabla CURSO (un profesor puede dar varios cursos). Igualmente, un departamento consta de varios profesores. Las interrelaciones que hemos mostrado en la figura Figura 4.10 son todas del mismo tipo: de uno a muchos (one-to-many). Ésta es la interrelación más frecuente. Además tenemos las de: •



Muchos a muchos (many-to-many): en una relación de este tipo, la tabla A puede tener más de un registro coincidente en la tabla B, y un registro en la tabla B puede tener más de un registro coincidente en la tabla A. Par detectar las relaciones "muchos a muchos" entre las tablas, es importante observar la relación en los dos sentidos. Este tipo de relación requiere cambiar el diseño de la base de datos, ya que en realidad, es decir, a nivel físico, esto no es factible. La forma de implementar este tipo de interrelación, es mediante una tercera tabla que sirva de puente entre las dos. Esta tercera tabla contendrá información procedente de las otras dos tablas interrelacionando los registros pertinentes. Veremos algunas interrelaciones de este tipo en nuestra implementación relacional del lexicón. Uno a uno (one-to-one): en una relación de este tipo, un registro en la tabla A no puede tener más de un sólo registro coincidente en la tabla B, u viceversa. Este tipo de interrelación es muy poco frecuente, ya que en la mayoría de los casos la información de las dos tablas puede ser combinada en una sola tabla. Tan sólo es apropiado cuando el número de campos de la tabla B es muy alto y concerniente a un

determinado tipo de información. En estos casos es aconsejable tener esa información en una tabla separada. Las interrelaciones de uno a muchos se implementan mediante el uso de claves ajenas, también llamadas externas o foráneas (foreign keys). Una clave ajena es un atributo (posiblemente indexado y posiblemente compuesto) de una relación R2, cuyos valores han de concordar con los de alguna clave primaria en otra relación R1. R1 y R2 no han de ser necesariamente distintas. Los atributos Prof_ID, en la tabla PROFESOR , Curso_IDen la tabla CURSO y Depto_IDen la tabla DEPTO, son claves primarias, mientras que los atributos Prof_ID en la tabla CURSO y Depto_ID en la tabla PROFESOR, son claves externas.

Figura 5.2 Diagrama E/R proyectable sobre diseño relacional