Share via


Relaciones del Entity Data Model

Una relación es una conexión lógica entre dos o más entidades. Entre los datos significativos de una aplicación se incluyen las relaciones entre los componentes que la constituyen. Las relaciones son esenciales para crear modelos de los datos, incluso aunque el modelo de base de datos relacional no admita explícitamente las relaciones. En cambio, se usan las claves principales, las claves externas y la integridad referencial para implementar algunas de las restricciones que conllevan las relaciones.

Por el contrario el Entity Data Model (EDM) permite de forma explícita el uso de relaciones en el modelo de datos, lo que flexibiliza las funciones de modelado. La capacidad de usar relaciones se extiende a las consultas de EDM, lo que permite la referencia y navegación explícitas basadas en las relaciones.

El EDM es compatible con un modelo de relación entre elementos del mismo nivel que se conoce como asociación. Para obtener detalles, vea Asociación (EDM).

La necesidad de las asociaciones es obvia en las situaciones siguientes: un cliente realiza uno o varios pedidos; cada pedido contiene detalles que identifican el producto solicitado; los productos solicitados están disponibles en uno o varios suministradores; etcétera.

En el EDM, las asociaciones entre las entidades se especifican en los esquemas en los que se definen las entidades y asociaciones.

Características de las relaciones

Las relaciones se caracterizan por el grado, la multiplicidad y la dirección. En escenarios de modelado de datos, las relaciones tienen grado (unario, binario, ternario o n-ario) y multiplicidad (uno a uno, uno a varios o varios a varios). La dirección puede tener significado en algunas asociaciones si éstas se realizan entre entidades del mismo tipo, por ejemplo.

Las características de las relaciones se muestran en los diagramas siguientes.

El grado de la relación de cada diagrama se representa mediante el número de rectángulos. Las relaciones se representan con figuras en forma de rombo. Las líneas entre los rombos y los rectángulos representan la multiplicidad de las relaciones. Una sola línea representa una relación uno a uno. Una línea que se bifurca en tres segmentos donde conecta con el tipo representa los diversos extremos de las relaciones uno a varios o varios a varios.

Grado

El grado de una relación es el número de tipos entre los que existe la relación. El grado más común de una relación es binario, que relaciona dos tipos. En una relación unaria, una instancia de un tipo se relaciona con otra instancia del mismo tipo, como la relación de jerarquía entre un empleado y otro. Una relación ternaria relaciona tres tipos, y una relación n-aria relaciona cualquier número (n) de tipos. Las relaciones ternarias y n-arias son principalmente teóricas. El EDM es compatible con las relaciones unarias y binarias.

Multiplicidad

La multiplicidad es el número de instancias de un tipo que están relacionadas.

Una relación binaria existe entre un libro y su autor, por ejemplo, porque cada libro tiene al menos un autor. La relación se especifica entre la clase Book y la clase Author, pero la multiplicidad de esta relación no es necesariamente de un libro a un autor. La multiplicidad de la relación indica el número de autores que tiene un libro y el número de libros que cada autor ha escrito. El grado de la relación en este ejemplo es binario. La multiplicidad de la relación es varios a varios.

Dirección

En el EDM, todas las relaciones son relaciones inversas. Se puede navegar por una asociación del EDM comenzando desde cualquier extremo.

Si las entidades de los extremos de una asociación son ambas del mismo tipo, el atributo de rol de la propiedad End de la asociación del EDM puede usarse para especificar la direccionalidad. Una asociación entre un empleado y su jefe es semánticamente diferente desde los dos extremos de la asociación. Ambos extremos de la asociación son empleados, pero tienen atributos Function diferentes. Para obtener un ejemplo en el que se implemente este caso con una restricción referencial, vea Elemento Association (SSDL).

Los temas siguientes contienen más información acerca de las relaciones.

En esta sección

  • Asociación (EDM)
    Describe las relaciones que modelan relaciones entre elementos del mismo nivel.

Vea también

Conceptos

Tipos del Entity Data Model
Implementar entidades (EDM)
Implementar asociaciones (EDM)